用mpv实现多视频同步播放
本文方法使用的场景是多个视频在同一个屏幕上同步播放。这在对比多个比较相似的视频时非常有用。比如:在研究视频插帧方法时,对比同一个视频不同帧率的流畅度。
mpv是一款免费的视频播放软件,它具有强大的命令行控制功能。本文介绍了如何通过命令行,使用mpv实现多个视频的同步播放。步骤如下:
1. 下载安装mpv
从这里下载https://mpv.io/installation/,Windows平台的可以直接选第一个下载地址sourceforge平台的安装包。
当然,也可以直接下载安装SVP,里面自带有mpv。
安装好后记得将mpv.exe
的路径加到系统环境变量中。
2. 两个视频同步播放
打开命令行,输入下面的命令:
mpv.exe a.mp4 --external-file=b.mp4 --lavfi-complex="[vid1] [vid2] hstack [vo]" --loop
其中,要将a.mp4
和b.mp4
替换成自己的视频名字,分别会显示在左边和右边。最后面的--loop
表示循环播放。效果如下:
3. 四个视频同步播放
打开命令行,输入下面的命令:
mpv.exe a.mp4 --external-file=b.mp4 --external-file=c.mp4 --external-file=d.mp4 --lavfi-complex="[vid1] [vid2] hstack [t1];[vid3] [vid4] hstack [t2]; [t1] [t2] vstack [vo]" --loop
效果如下:
4. mpv常用命令
{ }
,按2的倍数调节播放速度, .
,前进或者后退一帧space
,暂停或播放
5. 批处理
可以将命令保存到.bat
文件方便经常使用,以播放两个视频为例:
start mpv.exe a.mp4 --external-file=b.mp4 --lavfi-complex="[vid1] [vid2] hstack [vo]" --loop
pause
6. 【可选】解释一下:–lavfi-complex
该命令设置了一个复杂的libavfilter
的filter,然后构建出一个可以输入多个视频或音频轨道的图(graph),这个图输出只有一个音频或(和)一个视频轨道。规则如下:
- 名为
aidN
这样的标签指定了N个音轨输入,例如aid1
- 名为
vidN
这样的标签指定了N个视频轨道输入, - 名为
ao
的标签指定了声音输出 - 名为
vo
的标签指定了视频输出
注意输入的视频大小需要一致,如果不一致会报错。当然,也可以使用scale
filter缩放成相同大小。这里不做过多介绍,有兴趣可以参考官方文档。
7. 参考
- https://github.com/mpv-player/mpv/issues/3854
- https://mpv.io/manual/master/
用mpv实现多视频同步播放相关推荐
- 音视频同步(播放)原理
每一帧音频或视频都有一个持续时间:duration: 采样频率是指将模拟声音波形进行数字化时,每秒钟抽取声波幅度样本的次数. .正常人听觉的频率范围大约在20Hz~20kHz之间,根据奈奎斯特采样理论 ...
- ffmpeg播放器 android,Android使用FFmpeg(六)--ffmpeg实现音视频同步播放
关于 准备工作 正文 依旧依照流程图来逐步实现同步播放: 从流程图可以看出,实现同步播放需要三个线程,一个开启解码的装置得到packet线程,然后分别是播放音频和视频的线程.这篇简书是以音频播放为基准 ...
- FFmpeg基础:音视频同步播放
文章目录 定义全局数据类 定义数据队列 定义SDL库初始化操作 定义音视频流解析函数 定义解封装线程和视频解码线程 定义音视频的解码函数 主函数事件响应 视频文件解复用之后视频流和音频流是独立的,也是 ...
- ffmpeg java 播放视频_Javacv使用ffmpeg实现音视频同步播放
最近用javaCV的ffmpeg包的FFmpegFrameGrabber帧捕捉器对捕捉到的音频帧和视频帧做了同步的播放.采用的同步方法是视频向音频同步. 具体的思路如下: (1)首先介绍ffmpeg是 ...
- Vue 实现两个视频同步播放、暂停,进度条、倍速保持一致
1.安装 vue-video-player: npm install vue-video-player --save 2.在 main.js 中引入: import VideoPlayer from ...
- 视频、音频打时间戳的方法及其音视频同步(播放)原理
https://blog.csdn.net/nine_locks/article/details/48007055
- Android FFmpeg系列——5 音视频同步播放
https://blog.csdn.net/JohanMan/article/details/83176144
- 基于FFmpeg和Android的音视频同步播放实现
https://blog.csdn.net/ericbar/article/details/80785764 https://blog.csdn.net/AndroidAlvin/article/de ...
- PPT 如何两个视频同步播放
最新文章
- 20个经典要诀学好英语
- 产生一定范围随机数的通用算法公式
- (0024)iOS 开发之MJExtension可能遇到全部问题
- 几u产品结构计算机什么意思,计算机u系统组成.ppt
- 本地git首次连接远程github仓库
- Intel Realsense 处理帧时报错:RuntimeError: null pointer passed for argument frame_ref
- Android 和 Chrome OS 融合的可能性
- idea内置junit5_JUnit的内置Hamcrest Core Matcher支持
- “相当一部分”HPE公司OpenStack工作人员被转移至SUSE
- 【Linux】Linux软件安装和定时任务
- linux c中字符替换函数,Linux C 支持正则表达式的字符串替换函数
- 业务信息化与管理信息化
- 缓存中间件技术选型Memcached、MongoDB、Redis
- 智能家居 (9) ——人脸识别摄像头安装实现监控功能
- css中 =是什么意思,CSS中link什么意思
- PR视频去水印—中间值
- Jenkins测试报告邮件通知模板(转载)
- 天猫精灵python开发_天猫精灵X1智能音箱使用感想
- 苹果公布 2022 Apple 设计大奖入围作品
- ov2604寄存器配置
热门文章
- Rust开发环境搭建(Linux)
- 自助商务智能的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- AVS-CABAC算法原理简介2
- vue的tap插件_Vue.js的RTF编辑器– Tiptap
- PAN3031 双工无线通信 低功耗远距离无线收发芯片
- JavaWeb项目导入IDEA出现错误
- PADS运行脚本出现“Active X Automation:server could not be found”
- 腾讯移动安全实验室全年手机病毒行业报告
- Chrome浏览器地址栏配置二维码自动生成工具
- 重庆的小面50强[转自经典重庆]