MATLAB 如何将视频和音频写入同一个文件?以视频上下颠倒为例,附带详细注释
一定要有 Computer Vision Toolbox 工具箱!!!
完整代码:
videoPath='test.mp4';% 以下部分按理说可以通过vision.VideoFileReader一下子获取
% 但是为了获取更多信息更容易操作还是分开写了
movObj=VideoReader(videoPath); % 获取视频信息
[AUDIO,Fs]=audioread(videoPath);% 获取音频信息audioFrameLen=round(size(AUDIO,1)./movObj.NumFrames);% 获取每一帧对应音频长度% 调用Computer Vision Toolbox内函数创建视频对象
videoFWriter=vision.VideoFileWriter('result.avi','FrameRate',movObj.FrameRate);
videoFWriter.AudioInputPort=true; % 把允许声音写入设置为true% 为了显示进度创建一个窗口,不要也罢
close all;
fig=figure(1);
fig.NumberTitle='off';for k=1:movObj.NumFramesframe=read(movObj,k); %获取每一帧frame=frame(end:-1:1,:,:); %每一帧上下翻转% 视频音频一帧一帧写入videoFWriter(frame,AUDIO((k-1)*audioFrameLen+1:k*audioFrameLen,:));% 为了显示进度,不要也罢imshow(frame)fig.Name=['Frame:[',num2str(k),'/',num2str(movObj.NumFrames),']'];
endrelease(videoFWriter);%关掉视频对象
视频每一帧是对应的一段声波,因此我们要计算出每一帧对应声波信息长度,其实就是声波信息总长除以总帧数后取整:
audioFrameLen=round(size(AUDIO,1)./movObj.NumFrames);
MATLAB 如何将视频和音频写入同一个文件?以视频上下颠倒为例,附带详细注释相关推荐
- php 多线程写入文件,C#_C#实现多线程写入同一个文件的方法,本文实例讲述了C#实现多线程 - phpStudy...
C#实现多线程写入同一个文件的方法 本文实例讲述了C#实现多线程写入同一个文件的方法.分享给大家供大家参考.具体实现方法如下: namespace WfpApp { public partial cl ...
- Pymediainfo读取文件夹视频长度并写入Excel文件(openpyxl)
Pymediainfo读取文件夹视频长度并写入excel文件(openpyxl) 导入使用的module 路径设置以及初始化 获取全部文件名称与文件大小 获取视频详细信息并存储 时间统计并得到总秒数及 ...
- php是视频还是图片格式,php 视频、音频和图片文件上传,该如何解决
PHP code<?php ob_start(); $uploadDir = dirname(__FILE__).'/upload'; //自动创建目录 if(!file_exists($upl ...
- 【Matlab】如何把数组矩阵写入txt文件?并用逗号或空格隔开
1.Introduction 话说用Matlab的时候经常遇到读写excel和txt文件,每次都要去搜一下,最近又遇到了写入txt的问题,搜了好半天,终于找到了对应的函数,也趁机记录下. 没有Matl ...
- 常见的视频、音频、图片文件的格式
常见的视频文件格式: .AVI; .ASF; .WMV; .AVS; .FLV; .MKV; .MOV; .3GP; .MP4; .MPG; .MPEG; .DAT; .OGM; .VOB; .RM; ...
- matlab的imwrite函数将图片写入指定文件夹中
save_path = ''; image=imread([framesPath,fileName,'.jpg'])%从指定目录读入文件名为filename的jpg图像 path = [save_pa ...
- 请写一段 PHP 代码 ,确保多个进程同时写入同一个文件成功
方案一: function writeData($filepath, $data) { $fp = fopen($filepath,'a'); do{ usleep(100); }while (!fl ...
- 视频、音频格式转换(以F4V转MP4为例)
使用"爱拍"
- 人脸验证(图片/视频) tensorflow、pytorch框架、dlib库(face_recognition)和opencv库————附带详细步骤和代码,可实际运行
文章目录 0 背景与结果 1 准备知识 2 tensorflow进行人脸识别(AlexNet.视频/图像) 3 pytorch进行人脸识别(fasterrcnn,图片) 4 dlib库(face_re ...
- ijkplayer源码分析 视频向音频同步
本系列如下: 视频渲染流程 音频播放流程 read线程流程 音频解码流程 视频解码流程 视频向音频同步 start流程和buffering缓冲策略 本文是流程分析的第六篇,分析ijkPlayer中的音 ...
最新文章
- 一起学Hadoop——Hadoop的前世今生
- Hadoop入门(十九)Mapreduce的最大值程序
- NoSQLUnit 0.3.0发布
- web安全之XSS基础-常见编码科普
- Unicode和ASCII的区别
- 2022-2028全球民宿行业调研及趋势分析报告
- 将GeoIP的region_code列表也复制过来一份
- 潇洒老师教你注塑模具使用顶针油需要注意的问题
- 敌兵布阵(HDU - 1166)(线段树的点更新-区间查询)
- 2018.12.26 Jquery 使用 slideBox 实现滚动 效果
- CSS 固定定位 position fixed
- 数学传奇1——群星闪耀时
- 西北大学计算机系房教授,西北大学段清波院长的秦陵尘封的帝国有人看过吗?...
- 计算机资源管理器经常停止运行,win7资源管理器反复停止工作的解决方法[多图]...
- Kotlin里的takeIf和takeUnless
- 运维简历怎么写项目描述_职场小白怎么写简历?一份好简历=成功一半
- jsp130ssm妇女联合会管理系统
- 2019第十届蓝桥杯省赛总结
- 力扣比赛 5454. 统计全 1 子矩形
- 2023年电工杯 | 2023年电工杯数学建模竞赛思路(A题、B题)