Borrar filtros
Borrar filtros

How to combine audio and video?

45 visualizaciones (últimos 30 días)
keshav poojari
keshav poojari el 10 de Dic. de 2018
Comentada: Walter Roberson el 24 de Feb. de 2019
it will run.. but not play the video... please tell me what the problem and how to resolve that?
videoFReader = vision.VideoFileReader('video1.avi');
[AUDIO,Fs] = audioread('audio1.wav');
videoFWriter = vision.VideoFileWriter('newvideo.avi','AudioInputPort',true);
videoFrame = step(videoFReader);
step(videoFWriter,videoFrame,AUDIO);
release(videoFReader);
release(videoFWriter);

Respuesta aceptada

Walter Roberson
Walter Roberson el 10 de Dic. de 2018
You are writing all of the audio for the first frame and only reading and writing one frame.
you need to loop reading one input frame and writing that frame out together with the audio that matches it. For example if your audio output rate were 44100 and your video output were 22 frames per second then you should emit roughly 2000 audio samples for each video frame .
You might want to buffer() your audio to make it easier to write the appropriate amount of audio per frame .
  15 comentarios
keshav poojari
keshav poojari el 24 de Feb. de 2019
When i used above code to combine audio and video, The output video take much Storage space... can i compress this??? How??
Walter Roberson
Walter Roberson el 24 de Feb. de 2019
keshav poojari, you might need to post-process the video.
But have a look at the description of the AudioCompressor and VideoCompressor properties that you can set for vision.VideoFileWriter. The choices depend upon what you have installed on your system, so I cannot tell you what the choices are.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Image Processing and Computer Vision en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2013a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by