Answers.Body: <p>The input has full chroma sub-sampling and is 12-bit, and, by default, ffmpeg will try to retain as much fidelity as possible when converting the pixel format for the output encoder. However, for the selected profile, the encoder needs a pixel format with chroma sub-sampling and a lower bit depth. So you'll have to manually set the required one.</p>
  <p>Add <code>-pix_fmt yuv422p10le</code>.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-02-02T12:56:48.713Z
Answers.LastActivityDate: 2022-02-02T13:21:32.123Z
Answers.LastEditDate: 2022-02-02T13:21:32.123Z
Answers.UserDisplayName: Gyan
Body: <p>Converting a Prores file with parameters:</p>
  <p>arguments: <code>-i &quot;input.mov&quot; -map 0 -c copy -c:v prores -profile:v 2 -c:a pcm_s16le &quot;output.mov&quot;</code></p>
  <p>gives the following output:</p>
  <pre><code>ffmpeg version 2022-01-30-git-1530b3f566-essentials_build-www.gyan.dev Copyright (c) 2000-2022 the FFmpeg developers
    built with gcc 11.2.0 (Rev7, Built by MSYS2 project)
    configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
    libavutil      57. 19.100 / 57. 19.100
    libavcodec     59. 20.100 / 59. 20.100
    libavformat    59. 17.101 / 59. 17.101
    libavdevice    59.  5.100 / 59.  5.100
    libavfilter     8. 26.101 /  8. 26.101
    libswscale      6.  5.100 /  6.  5.100
    libswresample   4.  4.100 /  4.  4.100
    libpostproc    56.  4.100 / 56.  4.100
  [mov,mp4,m4a,3gp,3g2,mj2 @ 00000061fbc9c240] Using non-standard frame rate 18432/1024
  Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mov':
    Metadata:
      major_brand     : qt  
      minor_version   : 512
      compatible_brands: qt  
      encoder         : Lavf58.27.103
    Duration: 00:30:12.67, start: 0.000000, bitrate: 865279 kb/s
    Stream #0:0[0x1](eng): Video: prores (4444) (ap4h / 0x68347061), yuv444p12le(tv, bt709, progressive), 4096x2160, 864125 kb/s, SAR 1:1 DAR 256:135, 18 fps, 18 tbr, 18432 tbn (default)
      Metadata:
        handler_name    : VideoHandler
        vendor_id       : FFMP
        encoder         : Lavc58.53.100 prores_ks
        timecode        : 01:00:00:00
    Stream #0:1[0x2](eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s (default)
      Metadata:
        handler_name    : SoundHandler
        vendor_id       : [0][0][0][0]
    Stream #0:2[0x3](eng): Data: none (tmcd / 0x64636D74)
      Metadata:
        handler_name    : VideoHandler
        timecode        : 01:00:00:00
  Multiple -c, -codec, -acodec, -vcodec, -scodec or -dcodec options specified for stream 0, only the last option '-c:v prores' will be used.
  Multiple -c, -codec, -acodec, -vcodec, -scodec or -dcodec options specified for stream 1, only the last option '-c:a pcm_s16le' will be used.
  Stream mapping:
    Stream #0:0 -&gt; #0:0 (prores (native) -&gt; prores (native))
    Stream #0:1 -&gt; #0:1 (pcm_s16le (native) -&gt; pcm_s16le (native))
    Stream #0:2 -&gt; #0:2 (copy)
  Press [q] to stop, [?] for help
  [prores @ 00000061fbd03440] encoding with ProRes Proxy/LT/422/422 HQ (apco, apcs, apcn, ap4h) profile, need YUV422P10 input
  [prores @ 00000061fbca0200] ff_frame_thread_encoder_init failed
  Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
  Conversion failed!
  </code></pre>
  <p>Does this:</p>
  <blockquote>
  <p>encoding with ProRes Proxy/LT/422/422 HQ (apco, apcs, apcn, ap4h)
  profile, need YUV422P10 input</p>
  </blockquote>
  <p>mean it's not supported by ffmpeg at all or is there a solution to this problem.
  (Used the latest version of ffmpeg)</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-02-08T23:30:33.623Z
Comments.Text: Half of that ffmpeg command is redundant. Therte's no point using `-c copy` if you then specify different audio and video codecs, and with only one input there's no need to use `-map 0`. You could just use `-i "input.mov" -c:v prores -profile:v 2 -pix_fmt yuv422p10le -c:a pcm_s16le "output.mov"`
Comments.UserDisplayName: stib
Tags: <ffmpeg><prores>
Title: ffmpeg problem converting Prores 444 to Prores 422
UserDisplayName: Poiter
ThreadText: # ffmpeg problem converting Prores 444 to Prores 422
  
  (Asked by: username_0 on 2022-02-02)
  
  Converting a Prores file with parameters:
  
  arguments: `-i "input.mov" -map 0 -c copy -c:v prores -profile:v 2 -c:a pcm_s16le "output.mov"`
  
  gives the following output:
  
  ```
  ffmpeg version 2022-01-30-git-1530b3f566-essentials_build-www.username_2.dev Copyright (c) 2000-2022 the FFmpeg developers
    built with gcc 11.2.0 (Rev7, Built by MSYS2 project)
    configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
    libavutil      57. 19.100 / 57. 19.100
    libavcodec     59. 20.100 / 59. 20.100
    libavformat    59. 17.101 / 59. 17.101
    libavdevice    59.  5.100 / 59.  5.100
    libavfilter     8. 26.101 /  8. 26.101
    libswscale      6.  5.100 /  6.  5.100
    libswresample   4.  4.100 /  4.  4.100
    libpostproc    56.  4.100 / 56.  4.100
  [mov,mp4,m4a,3gp,3g2,mj2 @ 00000061fbc9c240] Using non-standard frame rate 18432/1024
  Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mov':
    Metadata:
      major_brand     : qt  
      minor_version   : 512
      compatible_brands: qt  
      encoder         : Lavf58.27.103
    Duration: 00:30:12.67, start: 0.000000, bitrate: 865279 kb/s
    Stream #0:0[0x1](eng): Video: prores (4444) (ap4h / 0x68347061), yuv444p12le(tv, bt709, progressive), 4096x2160, 864125 kb/s, SAR 1:1 DAR 256:135, 18 fps, 18 tbr, 18432 tbn (default)
      Metadata:
        handler_name    : VideoHandler
        vendor_id       : FFMP
        encoder         : Lavc58.53.100 prores_ks
        timecode        : 01:00:00:00
    Stream #0:1[0x2](eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s (default)
      Metadata:
        handler_name    : SoundHandler
        vendor_id       : [0][0][0][0]
    Stream #0:2[0x3](eng): Data: none (tmcd / 0x64636D74)
      Metadata:
        handler_name    : VideoHandler
        timecode        : 01:00:00:00
  Multiple -c, -codec, -acodec, -vcodec, -scodec or -dcodec options specified for stream 0, only the last option '-c:v prores' will be used.
  Multiple -c, -codec, -acodec, -vcodec, -scodec or -dcodec options specified for stream 1, only the last option '-c:a pcm_s16le' will be used.
  Stream mapping:
    Stream #0:0 -> #0:0 (prores (native) -> prores (native))
    Stream #0:1 -> #0:1 (pcm_s16le (native) -> pcm_s16le (native))
    Stream #0:2 -> #0:2 (copy)
  Press [q] to stop, [?] for help
  [prores @ 00000061fbd03440] encoding with ProRes Proxy/LT/422/422 HQ (apco, apcs, apcn, ap4h) profile, need YUV422P10 input
  [prores @ 00000061fbca0200] ff_frame_thread_encoder_init failed
  Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
  Conversion failed!
  
  ```
  
  Does this:
  
  > encoding with ProRes Proxy/LT/422/422 HQ (apco, apcs, apcn, ap4h)
  > profile, need YUV422P10 input
  
  mean it's not supported by ffmpeg at all or is there a solution to this problem.
  (Used the latest version of ffmpeg)
  
  **Tags:** ffmpeg, prores
  
  > **Comments:**
  > **username_1**: Half of that ffmpeg command is redundant. Therte's no point using `-c copy` if you then specify different audio and video codecs, and with only one input there's no need to use `-map 0`. You could just use `-i "input.mov" -c:v prores -profile:v 2 -pix_fmt yuv422p10le -c:a pcm_s16le "output.mov"`  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_2 on 2022-02-02. Score: 1 | Accepted answer
  
  The input has full chroma sub-sampling and is 12-bit, and, by default, ffmpeg will try to retain as much fidelity as possible when converting the pixel format for the output encoder. However, for the selected profile, the encoder needs a pixel format with chroma sub-sampling and a lower bit depth. So you'll have to manually set the required one.
  
  Add `-pix_fmt yuv422p10le`.
  
  
  ---
  
  