VideoHelp Forum
+ Reply to Thread
Results 1 to 8 of 8
Thread
  1. Member
    Join Date
    Aug 2018
    Location
    Wrocław
    Search PM
    I am converting video to ProRes format with options:
    Code:
    -c:v prores_ks -profile:v 1 -colorspace bt470bg
    I see that ffmpeg wants to do this too:
    Code:
    Stream #0:0: Video: prores (LT) (apcs / 0x73637061), yuv422p10le(tv, bt470bg/unknown/unknown, progressive), 720x576 [SAR 16:15 DAR 4:3]
    But the output file does not have the appropriate flag:
    Code:
    Video
    ID : 1
    Format: ProRes
    Format version: Version 0
    Profile format: 422 LT
    Codec ID: apcs
    Duration: 15 min 37 sec
    Bit rate mode: Variable
    Bit rate: 56.7 Mbps
    Width: 720 pixels
    Height: 576 pixels
    Display aspect ratio: 4:3
    Frame rate mode: Constant
    Frame rate: 50,000 FPS
    Color space : YUV
    Chroma subsampling: 4:2:2
    Scan type: Progressive
    Bits/(Pixel*Frame) : 2,732
    Stream size: 6.18 GiB (100%)
    Writing library: Lavc
    So how to do it properly?
    Quote Quote  
  2. You have to set colormatrix and colortrace too.
    Quote Quote  
  3. Last edited by Sharc; 28th Apr 2024 at 04:46. Reason: Link added
    Quote Quote  
  4. Member
    Join Date
    Aug 2018
    Location
    Wrocław
    Search PM
    Thanks.
    This is the only combination that worked for me. Missing one causes all flags to be missing.
    Code:
    -colorspace bt470bg -color_primaries bt470bg -color_trc gamma28 -color_range tv
    I think this is a bug in ffmpeg.
    Last edited by rgr; 28th Apr 2024 at 05:56.
    Quote Quote  
  5. Member
    Join Date
    Aug 2018
    Location
    Wrocław
    Search PM
    Just flag it (source: miniDV)


    However, I have a question by the way.
    AViSynth script, the source is let's say BT709 YUV420.
    I use the command: ConvertTo422() (no parameters)
    The output will be BT709/YUV422 or BT601/YUV420. I haven't tested it, but according to the instructions, ConvertToYUVxxx gives BT601 by default.
    Last edited by rgr; 28th Apr 2024 at 05:55.
    Quote Quote  
  6. Originally Posted by rgr View Post
    However, I have a question by the way.
    AViSynth script, the source is let's say BT709 YUV420.
    I use the command: ConvertTo422() (no parameters)
    The output will be BT709/YUV422 or BT601/YUV420. I haven't tested it, but according to the instructions, ConvertToYUVxxx gives BT601 by default.
    The matrix is only required for conversions between YUV and RGB. As far as I know the convert functions can't change the matrix when converting from one flavor of YUV to another, so if you want to convert a YUV BT709 source to BT601, you need to convert it to RGB with matrix="Rec709", and then back to YUV with matrix="Rec601".
    Quote Quote  
  7. Originally Posted by hello_hello View Post
    The matrix is only required for conversions between YUV and RGB. As far as I know the convert functions can't change the matrix when converting from one flavor of YUV to another, so if you want to convert a YUV BT709 source to BT601, you need to convert it to RGB with matrix="Rec709", and then back to YUV with matrix="Rec601".
    AFAIK the colormatrix(mode=xxxx) filter can do the conversion staying within YUV in one step:
    http://avisynth.nl/index.php/ColorMatrix
    Quote Quote  
  8. Member
    Join Date
    Aug 2018
    Location
    Wrocław
    Search PM
    Originally Posted by hello_hello View Post
    Originally Posted by rgr View Post
    However, I have a question by the way.
    AViSynth script, the source is let's say BT709 YUV420.
    I use the command: ConvertTo422() (no parameters)
    The output will be BT709/YUV422 or BT601/YUV420. I haven't tested it, but according to the instructions, ConvertToYUVxxx gives BT601 by default.
    The matrix is only required for conversions between YUV and RGB. As far as I know the convert functions can't change the matrix when converting from one flavor of YUV to another, so if you want to convert a YUV BT709 source to BT601, you need to convert it to RGB with matrix="Rec709", and then back to YUV with matrix="Rec601".
    Maybe someone will find it useful.
    ColorMatrix honors frame properties when converting to RGB.
    Of course, when converting from RGB to YUV, you must provide the matrix (by default it converts Rec601) and correctly sets the new frame properties.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!