首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >读取带有音频的mp4视频文件,编辑帧并将其写入带有音频的新文件

读取带有音频的mp4视频文件,编辑帧并将其写入带有音频的新文件
EN

Stack Overflow用户
提问于 2019-04-17 05:48:54
回答 1查看 269关注 0票数 0

我正在用MATLAB读取一个filename.mp4视频文件。我想编辑图像,但是,我想保持音频完好无损。使用VideoReaderVideoWriter只完成图像部分。我使用了vision.VideoFileReader和'vision.VideoFileWriter‘。我读取了视频和音频文件,然后获取图像并在其旁边添加一张图片。然后写入帧和与其关联的音频。最后的视频显示了我添加的图片,但不是原始图像。感谢您的帮助。

代码语言:javascript
复制
v = VideoReader('movie.mp4');
nfr = v.NumberofFrames;
clear v;
vR = vision.VideoFileReader('movie.mp4','AudioOutputPort',1);
fr = vR.info.VideoFrameRate;
vW = vision.VideoFileWriter('filename.avi','AudioInputPort',1,'FrameRate',fr);

pic = imread('picture.png');%read picture
[a1,b1,~] = size(pic);% get picture size to be resized.


for i = 1:nfr
    [I,audio] = vR();
    I = permute(I,[2,1,3]);%rotate 90 degrees
    if i == 1%resize the picture
        [a,b,~] = size(I);
        pic = imresize(pic,[a,a/a1*b1]);
    end
    I = [I pic];%combine picture and movie frame
    vW(I,audio);%write frame and audio
end
release(vR);
release(vW);
EN

回答 1

Stack Overflow用户

发布于 2019-04-20 03:07:00

我想通了。

代码语言:javascript
复制
v = VideoReader('movie.mp4');
nfr = v.NumberofFrames;
clear v;
vR = vision.VideoFileReader('movie.mp4','AudioOutputPort',1,'VideoOutDataType','uint8');
%default of VideoOutDataType is 'single', converting it to a similar format is essential
fr = vR.info.VideoFrameRate;
vW = vision.VideoFileWriter('filename.avi','AudioInputPort',1,'FrameRate',fr);

pic = imread('picture.png');%read picture
[a1,b1,~] = size(pic);% get picture size to be resized.


for i = 1:nfr
    [I,audio] = vR();
    I = permute(I,[2,1,3]);%rotate 90 degrees
    if i == 1%resize the picture
        [a,b,~] = size(I);
        pic = imresize(pic,[a,a/a1*b1]);%resizing the pic to same height as movie frame %with proportional width
    end
    I = [I pic];%combine picture and movie frame
    vW(I,audio);%write frame and audio
end
release(vR);
release(vW);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55717062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档