ffmpeg-HDR到SDR-无法为'format = gbrpf32le'找到合适的输出格式

时间:2018-10-19 17:09:09

标签: ffmpeg hevc hdr

我在Windows 10上使用ffmpeg 4.0.2。我在此处[1]找到了用于HDR到SDR的脚本,但是当我从页面底部运行脚本时:

ffmpeg.exe -i input.mkv -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 libx265 -crf 18 -preset slower output.mkv

我收到此错误:

[NULL @ 0000014588707480] Unable to find a suitable output format for 
'format=gbrpf32le'
format=gbrpf32le: Invalid argument

当我从页面运行第一个脚本时:

ffmpeg.exe -i input.mkv -vf select=gte(n\,360) -vframes 1 output.png

我收到此错误:

At line:1 char:41
+ ffmpeg.exe -i Hook.mkv -vf select=gte(n\,360) -vframes 1 output.png
+                                         ~
Missing argument in parameter list.
+ CategoryInfo          : ParserError: (:) [], 
ParentContainsErrorRecordException
+ FullyQualifiedErrorId : MissingArgument
[1]: https://stevens.li/guides/video/converting-hdr-to-sdr-with-ffmpeg/

我对ffmpeg还是很陌生,有人可以解释发生了什么吗?

非常感谢!

1 个答案:

答案 0 :(得分:0)

阅读这篇文章,了解如何将HDR10 +视频转换为SDR(标准动态范围),以便可以在非HDR设备上以原始的颜色鲜艳和不褪色的方式观看它们:

https://www.maxvergelli.com/how-to-convert-hdr10-videos-to-sdr-for-non-hdr-devices/

这是批处理命令:

C:\ffmpeg\bin\ffmpeg.exe -i video-input.mp4 -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 libx265 -crf 22 -preset medium -tune fastdecode -t 90 video-output.mp4