Abh*_*rty 5 video transcode command-line ffmpeg
我正在我的服务器上测试 FFMPEG。我正在尝试将 H265 10 位转码为 H264 8 位,以支持在所有主要网络浏览器上播放视频。
1 . 这是第一条命令:
ffmpeg -i 4K.ts -c:a aac -c:v h264 -crf 19 -preset ultrafast out.mp4
Run Code Online (Sandbox Code Playgroud)
结果:视频只能在 VLC 媒体播放器上播放。无法在任何浏览器上播放
2 . 然后我尝试使用这个命令:
ffmpeg -i 4K.ts -c:a aac -c:v h264 -crf 19 -profile:v main -preset ultrafast -vf "format=yuv420p" out.mp4
Run Code Online (Sandbox Code Playgroud)
结果:视频可以在任何地方播放,但颜色损失很大。
3 . 然后我尝试了另一个命令:
ffmpeg -i 4K.ts -c:a aac -c:v h264 -crf 19 -profile:v main -preset ultrafast -vf "format=yuvj420p" out.mp4
Run Code Online (Sandbox Code Playgroud)
结果:视频可以在任何地方播放,但颜色范围增加
我不知道我是否遗漏了任何内容,或者我是否应该完全禁止用户上传 10 位深度的视频。任何帮助将不胜感激
如果有人对我正在测试的视频感兴趣,请点击以下链接:https://drive.google.com/uc?export =download&id=1pGsnknkoIDRPKrW-YPFS7U31J09PeM4N
我通过许多谷歌结果得出了这些命令,其中一些是:
该问题与 10 位 HEVC 编码无关,而是与转换过程中 HDR 元数据的丢失有关。这是UHD 4K视频到SDR转换的典型案例。
我不是 FFMPEG 专家,因此我无法对此答案提供更多详细信息,但是如果有人想要将 HDR 转换为 SDR,那么您可以使用以下命令:
ffmpeg -i 4K.ts -vf zscale=t=linear:npl=100,format=gbrpf32le,zscale=p=bt709,tonemap=tonemap=hable:desat=0,zscale=t=bt709:m=bt709:r=tv,format=yuv420p -c:v h264 -crf 19 -preset ultrafast output.mp4
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4392 次 |
| 最近记录: |