我正在尝试将嵌入 hdr10 元数据的 prores 文件转换为 sdr h264 和 h265 色调映射版本。但无论我尝试什么,来自 prores 文件的 HDR 数据始终位于输出文件中。
我正在运行 brew 的最新 ffmpeg 版本(6.0)
我的脚本是
ffmpeg -i input/input-test-embeded.mov \
-vf "scale=-1:540, 'zscale=t=linear:npl=100,format=gbrpf32le,zscale=p=bt709,tonemap=tonemap=hable:desat=0,zscale=t=bt709:m=bt709:r=pc,format=yuv420p10le', sidedata=delete, metadata=delete" \
-c:v libx265 \
-x265-params "no-hdr=1:repeat-headers=0:log-level=0:open-gop=0:scenecut=0:keyint='48':min-keyint='48':no-info=1" \
-preset ultrafast \
-map_metadata -1\
-force_key_frames "expr:gte(t,n_forced*48)" \
-r 25 \
-map 0:v \
-b:v 700k \
-maxrate 1000k \
-bufsize 2000k \
-an \
-write_tmcd 0 \
-brand mp42 \
-movflags +faststart \
-pix_fmt yuv420p10le \
-color_range jpeg \
-f mp4 \
-tag:v hvc1 \
-y \
output/tonemap-test.mp4
当我运行此脚本时,我在 MediaInfo 中得到以下内容
General
Complete name : /output/tonemap-test.mp4
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42 (mp42/iso2/mp41)
File size : 18.0 KiB
Duration : 5 s 0 ms
Overall bit rate : 29.5 kb/s
Frame rate : 25.000 FPS
Writing application : Lavf60.3.100
Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L3@Main
HDR format : SMPTE ST 2086, HDR10 compatible
Codec ID : hvc1
Codec ID/Info : High Efficiency Video Coding
Duration : 5 s 0 ms
Bit rate : 25.3 kb/s
Maximum bit rate : 1 000 kb/s
Width : 960 pixels
Height : 540 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 25.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 10 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.002
Stream size : 15.4 KiB (86%)
Color range : Full
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709
Mastering display color primaries : Display P3
Mastering display luminance : min: 0.0050 cd/m2, max: 4000 cd/m2
Maximum Content Light Level : 1000 cd/m2
Maximum Frame-Average Light Level : 213 cd/m2
Codec configuration box : hvcC
当我运行相同的脚本但将输入更改为未嵌入元数据的 prores 文件时,我得到了这个
General
Complete name : /output/tonemap-test.mp4
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42 (mp42/iso2/mp41)
File size : 18.0 KiB
Duration : 5 s 0 ms
Overall bit rate : 29.5 kb/s
Frame rate : 25.000 FPS
Writing application : Lavf60.3.100
Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L3@Main
Codec ID : hvc1
Codec ID/Info : High Efficiency Video Coding
Duration : 5 s 0 ms
Bit rate : 25.3 kb/s
Maximum bit rate : 1 000 kb/s
Width : 960 pixels
Height : 540 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 25.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 10 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.002
Stream size : 15.4 KiB (86%)
Color range : Full
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709
Codec configuration box : hvcC
我也尝试使用 x264 编码器,但在输出文件中也获得了 HDR 元数据。
有没有办法删除元数据。因为我尝试通过 chromecast 在带有 Android TV 的索尼电视上播放输出文件,结果只是垃圾。没有元数据的文件播放得很好。