【发布时间】:2015-11-28 00:17:31
【问题描述】:
我有一个 yuv 视频(比如 stream.yuv)和相应的音频文件(stream.wav)。现在我有了 GUI,它可以逐帧渲染原始视频。我目前面临的问题是我需要播放与每个视频帧相关的音频。
我已经尝试过以下操作,但是当我执行此操作时,音频听起来会断断续续
%% Dividing the audio into per-second samples
nframes = 720;
[audioFile, audioSampleFreq] = audioread('stream.wav');
numSamples = length(audioFile);
audioLength = round(numSamples / audioSampleFreq);
for frame = 1:audioLength
start = (frame-1)*audioSampleFreq+1;
stop = frame*audioSampleFreq;
[start stop]
audioFrame1 = audioFile(start:stop,:);
sound(audioFrame1,audioSampleFreq);
end
要将音频分成每个视频帧的样本,
audioFileName = 'stream.wav';
nframes = 720;
framerate = 25;
[audioFile, audioSampleFreq] = audioread(audioFileName);
audioFRate = round(audioSampleFreq/framerate);
%% Total number of audio samples
numSamples = length(audioFile);
%% number of audio frames
numFrames = floor(numSamples/audioFRate);
for frame = 1:numFrames
start = (frame-1)*audioFRate+1;
stop = frame*audioFRate;
[start stop]
audioFrame1 = audioFile(start:stop,:);
sound(audioFrame1,audioSampleFreq);
end
关于如何同步 YUV 帧的每帧渲染和每秒音频样本的任何想法?谢谢!
【问题讨论】:
标签: matlab video wav video-processing yuv