在几乎不损失画质的前提下,怎么用 ffmpeg 把 h.264 格式的视频转换成 h.265 格式的?

32 天前
 wniming

linux 平台,显卡是 uhd770 ,渲染节点是 /dev/dri/renderD128 ,输入文件的路径是 /tmp/h264.mp4 ,输出文件路径是 /tmp/hevc.mp4 ,有大佬能给个能直接用的命令吗?

转换的目的是为了减小文件的大小

4066 次点击
所在节点    FFmpeg
29 条回复
0xsui
31 天前
cpu 转的比 gpu 转的画质更好,就是时间会久一些,有的时候,一些 264 视频用 gpu 转换完,会发现 265 的反而更大了。。。
wnpllrzodiac
31 天前
@NoOneNoBody 对,纹理复杂的动作戏。建议拿打斗戏测试。和文戏完全不是一个难度。
old9
31 天前
硬件编码优先考虑的是效能、编码速度、省电等,在相同码率下,画质几乎一定是显著差于软件编码的。
硬件编码更适用于时间敏感的场景,比如直播,或者需要快速大批量编码的场景,楼主的需求还是软件编码吧。
编码指令可直接参考 ffmpeg wiki: https://trac.ffmpeg.org/wiki/Encode/H.265
Rorysky
31 天前
视频编码的复杂程度远超想象,不损失是不可能的,只能说损失一些
liyanggyang
31 天前
ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 \
-i /tmp/h264.mp4 \
-vf 'format=nv12|vaapi,hwupload' \
-c:v hevc_vaapi \
-b:v 0 \
-qp 28 \
-preset medium \
-c:a copy \
/tmp/hevc.mp4

不可能完全不损失
aero99
31 天前
只要肉眼看不出画质损失就可以了
easynote
31 天前
up 有结论后分享一下。
nebulabox
30 天前
输出参数 h265 的视频码率可设置为 h264 的一半。
rick13
30 天前
之前弄过,就记的 crf 还是什么设置成 28 ,大概缩小一半体积,画质一些特殊场景稍微能看出来点。转的 av ,场景也比较固定,其实看不太出来

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

https://tanronggui.xyz/t/1101767

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

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

© 2021 V2EX