去一个景点开了一圈,想用行车记录仪存档,所以有个奇怪的需求

2016-01-03 21:33:13 +08:00
 est
去一个景点开了一圈,风景还行,想留个纪念。从行车记录仪拷出来,发现为了防止漏秒,每个视频都多了 1 秒。。。。 1080p 合并出来 5G 多,也太大了。折腾了一下 ffmpeg 压缩 720p ,发现速度只有 32fps 。这尼玛慢死人了啊。

家里没有 i7 的强力 PC ,只能用 mbp 慢慢处理。郁闷啊。


想达到以下目的:

1. 4x 倍速播放
2. 60fps
3. 减小体积, 720p 足够了。
4. 去掉多出的 1 秒。。。。

有没有能一次性做完这些步骤的软件啊?
3192 次点击
所在节点    汽车
58 条回复
est
2016-01-04 18:11:18 +08:00
@stanzgy 看来  megui  是个神器。
stanzgy
2016-01-04 18:47:10 +08:00
@est 说起来感觉你的 32fps 的压制速度已经不错了。记得以前用一台 amd phenom II 925 oc@3.6G 机器, 8M 左右码率、 2pass 、 avs 做简单的 trim 锐化处理来压制视频,经常只有个位数的 fps ,一部 2 小时左右的电影压制 1080p 经常要不关机跑 2 天左右。现在硬件进步了,应该时间能快很多,你这里行车记录仪采集的图像应该质量不会很高,不需要的视频片段都可以用 avs 脚本裁掉,码率设置比较低的话,速度应该能快很多。
shyrock
2016-01-04 20:46:18 +08:00
记录仪原始视频帧率多少?你想弄成 60fps 估计需要重采样,当然又大又慢。。。
est
2016-01-04 21:44:06 +08:00
@KexyBiscuit 用了这货。进度跑打雷 84%报了个 Unknown error 就退出了。我勒个大艹!
est
2016-01-04 21:45:39 +08:00
@KexyBiscuit microsoft hyperlapse 有个最大的 bug 是只能利用单核。。 libx264 是双核 4 线程完全跑满的。
JamesRuan
2016-01-04 23:06:51 +08:00
60fps 的,同样时间大小就是 25fps 的四倍, 5G 也就相对于一般的 1G 左右的视频。
一个小时 x264 1G 还是 720p 的,画面已经不怎么清晰了。
@est 我觉得你对于技术有些过于乐观了,我当年剪辑 DV 的时候,无损压缩 20G 15min 左右的片子最终道出成 480p 的 Release 版本约 300M ,已经是酷睿 2 的时代了,还用了 5 个多小时!
est
2016-01-04 23:48:19 +08:00
@JamesRuan 嗯。我已经意识到现在压制视频很慢了!

综合了一下,感觉这个命令输出的视频质量足够而且体积很小

ffmpeg -i 1080p.mp4 -r 48 -vf "setpts=0.125*PTS,scale=1280x720" -c:v libx264 -sws_flags lanczos -an -crf 24 -preset slow out.mp4

压缩前: 50 分钟 30fps 的 1080p ,体积 4.45GB
压缩后: 5 分钟 48fps 的 720p ,体积 132MB , 8 倍速播放。

细节基本没丢失。

当然,要体验压制过程个位数 fps ,加上 deshake 这个 filter 即可。
vimutt
2016-01-05 00:51:06 +08:00
用 premiere 吧 分分钟搞定 h264 1080#720 均可 帧率 30 (这东西不是越大越好 要符合播放设备的标准 和实时渲染的动画不同) 具体的输出质量在 pr 内有可调参数 慢进快进效果也都非常简单 一小时的片子输出几百 Mb 也不成问题
est
2016-01-05 09:01:22 +08:00
@vimutt 分分钟搞定目前看来不太可能啊。除非黑科技。压片都很慢的。
vimutt
2016-01-05 10:26:17 +08:00
@est 哈哈 说的夸张了点 我的意思是用 pr 的话这些需求都能解决 也不难 网上查查就能解决
xuhaoyangx
2016-01-05 13:59:56 +08:00
@vimutt pr 的画质还是一般, pr 一般都是搭桥出来用 x264 或者其他的编码器输出

@est preset 的级别就是保证画质好坏的比较主要的参数,可以考虑直接在 slow 后面 加-x264opts ref=5:bframes=5:me=umh:merange=24:aq-strength=0.8:qcomp=0.5:aq-mode=2 -psy-rd 0.3:0 这一段

压动漫电影=。=,志强双路经常只有 0.5fps 的速度,你们这些算很快了
est
2016-01-05 14:02:53 +08:00
@xuhaoyangx 回去一定试试。谢谢。

0.5fps 还能忍啊?我直接扔了。
est
2016-01-05 14:51:17 +08:00
找了个 PC , i7 4790 ,发现 fps 只有 22 。。。一样的 ffmpeg 参数。我心里平衡了!
xuhaoyangx
2016-01-05 14:52:10 +08:00
@est 因为要做很多处理, 0.5fps 很正常,特别是动漫。
est
2016-01-05 22:28:54 +08:00
@old9
@loading
@xuhaoyangx
@congeec
@mhycy

特大喜讯, ffmpeg git 版本支持新的 concatdec_select 这个 vf ,一次性全搞定了。不用临时文件

先建立个 list.txt 例如

file 'input1.mp4'
outpoint 300
file 'input2.mp4'
outpoint 300
file 'input3.mp4'
outpoint 300
...
file 'inputn.mp4'
outpoint 300

然后:

ffmpeg -f concat -i "list.txt" -r 48 -vf "select=concatdec_select,scale=1280x720,setsar=1,setpts=0.125*PTS" -sws_flags lanczos -c:v libx264 -crf 23 -an "merged-720p.mp4"


http://superuser.com/a/1020455/15252

我实验了,效果很好。
congeec
2016-01-05 22:58:11 +08:00
@est 呀,谢谢提醒,我都忘了。还有个 gifify 脚本很好用,里面也用到了这些东西。参考一下写个脚本也不错
https://github.com/jclem/gifify/
xuhaoyangx
2016-01-05 23:16:48 +08:00
@est megui 只是个 gui ,也是调用类似 ffmpeg X264 这些命令行的工具
xuhaoyangx
2016-01-05 23:17:56 +08:00
@est 外国友人的回答真详细

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

https://yangjunhui.monster/t/248037

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

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

© 2021 V2EX