ffmpeg:如何在 colour_range_Source=container 上重新标记 colour_range(不仅在流中)

ffmpeg:如何在 colour_range_Source=container 上重新标记 colour_range(不仅在流中)

我正在为一个基金会处理现有的档案(+1000h 的视频),这些视频采用 h264 编码,但“colour_range”被错误地标记为“Limited”

媒体信息输出摘录

“colour_description_present”:“是”,“colour_description_present_Source”:“容器/流”,“colour_range”:“有限”,“colour_range_Source”:“容器/流”,“colour_primaries”:“BT.601 PAL”,“colour_primaries_Source”:“容器/流”,“transfer_characteristics”:“BT.601”,“transfer_characteristics_Source”:“容器/流”,“matrix_coefficients”:“BT.470 系统 B/G”,“matrix_coefficients_Source”:“容器/流”,

我需要将视频重新标记为全范围,如果我这样做:

ffmpeg -y -i input.mp4 -map 0 -c:v copy -c:a copy -metadata Video:colour_range=full -bsf:v h264_metadata=video_full_range_flag=1 output.mp4

我只得到了重新标记的流,但没有得到容器

媒体信息输出摘录

“colour_description_present”:“是”,“colour_description_present_Source”:“容器/流”,“colour_range”:“有限”,“colour_range_Source”:“容器”,“colour_range_Original”:“完整”,“colour_range_Original_Source”:“流”,“colour_primaries”:“BT.601 PAL”,“colour_primaries_Source”:“容器/流”,“transfer_characteristics”:“BT.601”,“transfer_characteristics_Source”:“容器/流”,“matrix_coefficients”:“BT.470 系统 B/G”,“matrix_coefficients_Source”:“容器/流”,

Chrome 显然考虑了唯一的流标志,但 Firefox 或 VLC 却没有。

我在文档中找不到如何在不重新编码视频流的情况下重新标记容器中的颜色范围。如果我使用,-vf “setparams=range:full” -c:v copy我会得到一个错误。

知道这是否可行吗?谢谢

相关内容