ffmpeg - 如何在导出时强制使用 "full range"标志

标签 ffmpeg

我有一个 ffmpeg 命令可以将音轨重新映射到 ProRes 4444 quicktime 文件中的离散 channel 。即使将输入视频复制到输出,导出的文件也会被专业的视频播放器软件解释为视频范围(16-234 值)而不是原始的全范围(0-255 值),使其看起来更具对比度。
内容实际上是正确的,手动更改播放器软件中的范围设置会返回正确的光照范围,所以我认为输出文件只是丢失了某种范围标志。
我已经尝试了以下选项但没有结果:

  • -colorspace bt709 -movflags +write_colr 
    
  • -dst_range 1 -color_range 2 
    
  • -vf scale=out_range=full 
    
  • -vf scale=in_range=full:out_range=full
    

  • 原始命令是:
    ffmpeg -i F:\_IMPORT\TST_ProRes4444_4k.mov -map 0:0 -c copy -map 0:1 -c copy -map_channel 0.2.0:0.2 -c:a pcm_s24le F:\_EXPORT\TEST\test.mov
    
    谢谢您的帮助。

    最佳答案

    Quicktime MOV 格式不支持信号颜色范围。

    The remaining component values that fall outside the mapping for scheme B (1 to 15 and 241 to 254 for n = 8 bits and 4 to 63 and 961 to 1019 for n = 10 bits) accommodate occasional filter undershoot and overshoot in image processing. In some applications, these values are used to carry other information (e.g., transparency). The writer of a QuickTime image may use these values and the reader of a QuickTime image must expect these values.



    来自 https://developer.apple.com/library/archive/documentation/QuickTime/QTFF/QTFFChap3/qtff3.html#//apple_ref/doc/uid/TP40000939-CH205-143693

    另见 https://www.mail-archive.com/ffmpeg-user@ffmpeg.org/msg19491.html

    关于ffmpeg - 如何在导出时强制使用 "full range"标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54405405/

    相关文章:

    ffmpeg - 使用 ffmpeg 编码原始 nv12 帧

    android - 如何从android流式传输到ffserver

    amazon-s3 - 运行 FFmpeg 命令

    video - 在视频上叠加缩放图像

    ffmpeg unicode文件名不起作用

    ffmpeg - 使用 ffserver 提供单个 JPEG

    python - 在python中结合mp4和wav

    ffmpeg - 如何知道 VLC 上 libav 的版本

    c - 如何通过管道传输到 ffmpeg RGB 值 10?

    ffmpeg - PHPVIBE - 视频不创建缩略图