ffmpeg 合并 2 个视频文件时 太慢的问题怎么解决?

2020-10-18 09:19:39 +08:00
 Trinity888

情况描述:

  1. 项目环境:Qt 编写的应用程序,Win10 系统,MySQL 数据库

  2. 学生在考试的过程中,会录制 2 个视频文件,交卷时,需要将 2 个视频文件合并为 1 个视频文件,并且提交至内网的服务器上。

  3. 合并命令如下:

ffmpeg -i a.mp4 -i b.mp4 -filter_complex [0:v]pad=iw2:ih[a];[a][1:v]overlay=w1 out.mp4

现在的情况是:点击交卷时,先合并视频文件,再上传文件,再提交,这个过程非常慢,影响使用了。

大家有更好的解决办法吗,求教,感谢

6534 次点击
所在节点    程序员
54 条回复
feedcode
2020-10-18 17:58:18 +08:00
ffmpeg -i a.mp4 -i b.mp4 -filter_complex hstack output.mp4
laqow
2020-10-18 18:07:23 +08:00
录的时候在线合是 1x 的速度,提交的时候合是几十 x 的速度
expy
2020-10-18 20:15:39 +08:00
改下录制程序吧,原始流先别编码,处理成一个之后再编码。
Lemeng
2020-10-18 20:44:50 +08:00
合并的有很多,有些付费的不错,以前用过一个软件一月的 vip,只是太贵,用不起
youxiachai
2020-10-18 21:24:19 +08:00
重编码怎么可能快。。。。
JerryV2
2020-10-18 21:34:13 +08:00
@expy
赞同,录制的时候就处理成一个视频,边录边拼
dlllcs
2020-10-18 22:57:05 +08:00
总结:

上策:
@expy 录制的时候就处理成一个视频,边录边拼
中策:@feedcode 使用 hstack 新特性,会比重新编码快很多
下策:
dlllcs
2020-10-18 22:57:59 +08:00
总结:

上策:
1. @expy 录制的时候就处理成一个视频,边录边拼
2. @Osk 播放器同时播放吧,要控制俩视频同步播放
中策:@feedcode 使用 hstack 新特性,会比重新编码快很多
royzxq
2020-10-18 23:48:02 +08:00
学到了... 之前都拿 CPU 硬转, 刚才拿硬件加速试了一下, 0.3x -> 2x
expy
2020-10-19 08:44:24 +08:00
还有质量要求不高的监控可以考虑砍帧率分辨率降低编码器参数,
搞个 480p 10fps x264 预设 veryfast 计算量会小很多。
doyel
2020-10-19 09:22:09 +08:00
需求里没有说要重编码,直接 copy 拼接不就完了。。。
newmlp
2020-10-19 09:39:03 +08:00
可以录的时候就拼好啊
RangerWolf
2020-10-19 11:25:14 +08:00
至少可以使用 intel cpu 的核心显卡,实测过,这个速度是纯 cpu 的 150%
qianlige
2020-10-19 15:40:53 +08:00
做个同时播放的功能吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/716049

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX