[FFmpeg-user] convert YV12 stream to ProRes

Christoph Gerstbauer christophgerstbauer at gmail.com
Mon Jun 16 21:48:49 CEST 2014


Did you try it without the -vtag option?

(ProRes is alsways 10bit 4:2:2)

bg chris


Am 16.06.14 21:21, schrieb Roee Kashi:
> Hi,
>
> I'm decoding an IP camera stream which outputs YV12 frames.
> using named pipes, I pass this stream to ffmpeg (Zeranoe build version
> 2014-06-15) and wish to convert it to ProRes format.
> I tried the following command:
>> ffmpeg.exe -y -f rawvideo -vcodec rawvideo -s 352x288 -r 25 -pix_fmt
> yuv420p -i \\.\pipe\yv12Pipe -vcodec prores -qp 0 -vtag YV12 d:\\out123.mov
>
> when i convert it to AVI it works ok, but for ProRes it doesn't and it's
> probably because the vtag YV12 cannot be applied on ProRes which defines
> its pixel format.
>
> what i'm seeking is an additional input pix_fmt for YV12 (or perhaps
> yvu420p?).
>
> When I tried to do that in 2 steps (convert it to AVI then to ProRes) it
> works, terribly slow - but works.
> here is the output of this process:
>
>> ffmpeg -i "d:\out123.avi" -vcodec prores d:\out.mov
> ffmpeg version N-63968-g73d820e Copyright (c) 2000-2014 the FFmpeg
> developers
>    built on Jun 15 2014 00:52:21 with gcc 4.8.3 (GCC)
>    configuration: --enable-gpl --enable-version3 --disable-w32threads
> --enable-avisynth --enable-bzlib --enable-fontconfig --e
> tls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca
> --enable-libfreetype --enable-libgme --enable-libgsm -
> libmodplug --enable-libmp3lame --enable-libopencore-amrnb
> --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --
> ibschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora
> --enable-libtwolame --enable-libvidstab --enable-libvo-a
> benc --enable-libvorbis --enable-libvpx --enable-libwavpack
> --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxa
> ble-decklink --enable-zlib
>    libavutil      52. 89.100 / 52. 89.100
>    libavcodec     55. 66.101 / 55. 66.101
>    libavformat    55. 43.100 / 55. 43.100
>    libavdevice    55. 13.101 / 55. 13.101
>    libavfilter     4.  8.100 /  4.  8.100
>    libswscale      2.  6.100 /  2.  6.100
>    libswresample   0. 19.100 /  0. 19.100
>    libpostproc    52.  3.100 / 52.  3.100
> Input #0, avi, from 'd:\out123.avi':
>    Metadata:
>      encoder         : Lavf55.21.102
>    Duration: 00:11:18.36, start: 0.000000, bitrate: 30417 kb/s
>      Stream #0:0: Video: rawvideo (YV12 / 0x32315659), yuv420p, 352x288,
> 30414 kb/s, 25 fps, 25 tbr, 25 tbn, 25 tbc
> [prores @ 0000000000315d40] encoding with ProRes standard (apcn) profile
> [prores @ 000000000034f680] encoding with ProRes standard (apcn) profile
> [prores @ 0000000000354ce0] encoding with ProRes standard (apcn) profile
> [prores @ 0000000000357f60] encoding with ProRes standard (apcn) profile
> [prores @ 00000000003001a0] encoding with ProRes standard (apcn) profile
> Output #0, mov, to 'd:\out.mov':
>    Metadata:
>      encoder         : Lavf55.43.100
>      Stream #0:0: Video: prores (apcn) (apcn / 0x6E637061), yuv422p10le,
> 352x288, q=2-31, 200 kb/s, 25 fps, 12800 tbn, 25 tbc
>      Metadata:
>        encoder         : Lavc55.66.101 prores
> Stream mapping:
>    Stream #0:0 -> #0:0 (rawvideo (native) -> prores (prores))
> Press [q] to stop, [?] for help
> frame=16959 fps=220 q=0.0 Lsize=  606784kB time=00:11:18.36
> bitrate=7327.6kbits/s
> video:606713kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
> muxing overhead: 0.011810%
>
> So I believe there should be a way to do improve it with a single operation.
>
> Regards,
> Roee.
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user



More information about the ffmpeg-user mailing list