[FFmpeg-user] Piping uncompressed from ffmpeg to ffplay
John Pilgrim
business at johnpilgrim.net
Wed Nov 18 02:36:27 CET 2015
When I try
$ ffmpeg -ss 0 -lowres 1 -i video.mxf -i audio.mxf -c copy -f nut - | ffplay -
or
$ ffmpeg -ss 0 -lowres 1 -i video.mxf -i audio.mxf -c copy -f matroska - | ffplay -
The video is full res, so the -lowres 1 seems to be ignored when -c copy is present.
The audio plays fine but the video freezes after a few frames.
It's hard to evaluate whats going on as my machine generally drops frames when the DCP is played full res (ie. -lowres 0).
Here's the terminal output for $ ffmpeg -ss 0 -lowres 1 -i video.mxf -i audio.mxf -c copy -f nut - | ffplay -
ffmpeg version N-76850-g08b5206-tessus Copyright (c) 2000-2015 the FFmpeg developers
built with Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --as=yasm --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzmq --enable-version3 --disable-ffplay --disable-indev=qtkit --disable-indev=x11grab_xcb
libavutil 55. 6.100 / 55. 6.100
libavcodec 57. 15.100 / 57. 15.100
libavformat 57. 14.100 / 57. 14.100
libavdevice 57. 0.100 / 57. 0.100
libavfilter 6. 15.100 / 6. 15.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
[mxf @ 0x7f97c1005600] "OPAtom" with 2 ECs - assuming OP1a
2015-11-17 17:31:25.859 ffplay[875:507] ApplePersistence=NO
ffplay version N-76850-g08b5206-tessus Copyright (c) 2003-2015 the FFmpeg developers
built with Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --as=yasm --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzmq --enable-version3 --enable-librtmp --enable-ffplay --disable-ffmpeg --disable-ffprobe --disable-ffserver --disable-indev=qtkit --disable-indev=x11grab_xcb
libavutil 55. 6.100 / 55. 6.100
libavcodec 57. 15.100 / 57. 15.100
libavformat 57. 14.100 / 57. 14.100
libavdevice 57. 0.100 / 57. 0.100
libavfilter 6. 15.100 / 6. 15.100
libswscale 4. 0.100 / 4. 0.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
Input #0, mxf, from 'video.mxf': 0KB vq= 0KB sq= 0B f=0/0
Metadata:
uid : fb8e9937-5d07-4f0f-b468-815a44095fb9
generation_uid : a6238938-73a8-4eae-b791-1622ed1ee278
company_name : Quvis
product_name : Wraptor
product_version : Wraptor for Adobe1.0.0
product_uid : 43059a1d-0432-4101-b83f-736815acf31d
modification_date: 2015-11-11 05:19:04
application_platform: WRAPTOR
material_package_umid: 0x060A2B340101010501010F2013000000E7522A2BEC6342F7AF6D91A25965C823
material_package_name: AS-DCP Material Package
timecode : 00:00:00:00
Duration: 00:02:47.38, start: 0.000000, bitrate: 12594 kb/s
Stream #0:0: Video: jpeg2000 (JPEG 2000 digital cinema 2K), xyz12le, 999x540, 24 tbr, 24 tbn, 24 tbc
Metadata:
file_package_umid: 0x060A2B340101010501010F2013000000FF7A5DAB3C6B45EBB9D805657DC86548
file_package_name: File Package: SMPTE 429-4 frame wrapping of JPEG 2000 codestreams
[mxf @ 0x7f97c100ca00] "OPAtom" with 2 ECs - assuming OP1a
Guessed Channel Layout for Input Stream #1.0 : stereo
Input #1, mxf, from 'audio.mxf':
Metadata:
uid : a654d437-67c8-4501-82d6-dbe15bf38c4a
generation_uid : 1a2813b4-12b4-45d1-90e1-3616ff9a7c9c
company_name : Quvis
product_name : Wraptor
product_version : Wraptor for Adobe1.0.0
product_uid : 43059a1d-0432-4101-b83f-736815acf31d
modification_date: 2015-11-11 05:25:16
application_platform: WRAPTOR
material_package_umid: 0x060A2B340101010501010F2013000000DF07EAA11678460295F2C0F79C1FDA37
material_package_name: AS-DCP Material Package
timecode : 00:00:00:00
Duration: 00:02:47.42, start: 0.000000, bitrate: 2308 kb/s
Stream #1:0: Audio: pcm_s24le, 48000 Hz, 2 channels, s32 (24 bit), 2304 kb/s
Metadata:
file_package_umid: 0x060A2B340101010501010F2013000000661C185CE159465FAF9A82BC81CB9974
file_package_name: File Package: SMPTE 382M frame wrapping of wave audio
[nut @ 0x7f97c1011200] Codec for stream 0 does not use global headers but container format requires global headers
[nut @ 0x7f97c1011200] Codec for stream 1 does not use global headers but container format requires global headers
Output #0, nut, to 'pipe:':
Metadata:
uid : fb8e9937-5d07-4f0f-b468-815a44095fb9
generation_uid : a6238938-73a8-4eae-b791-1622ed1ee278
company_name : Quvis
product_name : Wraptor
product_version : Wraptor for Adobe1.0.0
product_uid : 43059a1d-0432-4101-b83f-736815acf31d
modification_date: 2015-11-11 05:19:04
application_platform: WRAPTOR
material_package_umid: 0x060A2B340101010501010F2013000000E7522A2BEC6342F7AF6D91A25965C823
material_package_name: AS-DCP Material Package
timecode : 00:00:00:00
encoder : Lavf57.14.100
Stream #0:0: Video: jpeg2000 (mjp2 / 0x32706A6D), xyz12le, 999x540, q=2-31, 24 tbr, 49152 tbn, 24 tbc
Metadata:
file_package_umid: 0x060A2B340101010501010F2013000000FF7A5DAB3C6B45EBB9D805657DC86548
file_package_name: File Package: SMPTE 429-4 frame wrapping of JPEG 2000 codestreams
Stream #0:1: Audio: pcm_s24le (PSD[24] / 0x18445350), 48000 Hz, stereo (24 bit), 2304 kb/s
Metadata:
file_package_umid: 0x060A2B340101010501010F2013000000661C185CE159465FAF9A82BC81CB9974
file_package_name: File Package: SMPTE 382M frame wrapping of wave audio
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #1:0 -> #0:1 (copy)
Press [q] to stop, [?] for help
Input #0, nut, from 'pipe:':aq= 0KB vq= 0KB sq= 0B f=0/0
Metadata:
uid : fb8e9937-5d07-4f0f-b468-815a44095fb9
generation_uid : a6238938-73a8-4eae-b791-1622ed1ee278
company_name : Quvis
product_name : Wraptor
product_version : Wraptor for Adobe1.0.0
product_uid : 43059a1d-0432-4101-b83f-736815acf31d
modification_date: 2015-11-11 05:19:04
application_platform: WRAPTOR
material_package_umid: 0x060A2B340101010501010F2013000000E7522A2BEC6342F7AF6D91A25965C823
material_package_name: AS-DCP Material Package
timecode : 00:00:00:00
encoder : Lavf57.14.100
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: jpeg2000 (JPEG 2000 digital cinema 2K) (mjp2 / 0x32706A6D), xyz12le, 1998x1080, 24 fps, 24 tbr, 49152 tbn, 49152 tbc
Metadata:
file_package_umid: 0x060A2B340101010501010F2013000000FF7A5DAB3C6B45EBB9D805657DC86548
file_package_name: File Package: SMPTE 429-4 frame wrapping of JPEG 2000 codestreams
Stream #0:1: Audio: pcm_s24le (PSD[24] / 0x18445350), 48000 Hz, 2 channels, s32 (24 bit), 2304 kb/s
Metadata:
file_package_umid: 0x060A2B340101010501010F2013000000661C185CE159465FAF9A82BC81CB9974
file_package_name: File Package: SMPTE 382M frame wrapping of wave audio
2015-11-17 17:31:26.355 ffplay[875:8607] Error loading /Library/Audio/Plug-Ins/HAL/DVCPROHDAudio.plugin/Contents/MacOS/DVCPROHDAudio: dlopen(/Library/Audio/Plug-Ins/HAL/DVCPROHDAudio.plugin/Contents/MacOS/DVCPROHDAudio, 262): no suitable image found. Did find:
/Library/Audio/Plug-Ins/HAL/DVCPROHDAudio.plugin/Contents/MacOS/DVCPROHDAudio: no matching architecture in universal wrapper
2015-11-17 17:31:26.355 ffplay[875:8607] Cannot find function pointer NewPlugIn for factory C5A4CE5B-0BB8-11D8-9D75-0003939615B6 in CFBundle/CFPlugIn 0x7ffab2631d70 </Library/Audio/Plug-Ins/HAL/DVCPROHDAudio.plugin> (bundle, not loaded)
frame= 45 fps=0.0 q=-1.0 size= 3666kB time=00:00:01.87 bitrate=16016.0kbits[jpeg2000 @ 0x7ffab38c6200] End mismatch 1 2222KB sq= 0B f=0/0
frame= 56 fps= 44 q=-1.0 size= 4119kB time=00:00:02.33 bitrate=14461.7kbits[jpeg2000 @ 0x7ffab38c3a00] End mismatch 1
[jpeg2000 @ 0x7ffab38bc200] End mismatch 1 1566KB sq= 0B f=0/0
frame= 68 fps= 38 q=-1.0 size= 4939kB time=00:00:02.83 bitrate=14279.9kbits[jpeg2000 @ 0x7ffab38b2a00] End mismatch 1 1865KB sq= 0B f=0/0
frame= 80 fps= 35 q=-1.0 size= 5737kB time=00:00:03.33 bitrate=14099.4kbitsframe= 93 fps= 33 q=-1.0 size= 6644kB time=00:00:03.87 bitrate=14045.7kbitsframe= 105 fps= 32 q=-1.0 size= 7543kB time=00:00:04.37 bitrate=14123.5kbits[jpeg2000 @ 0x7ffab38b2a00] End mismatch 1 2507KB sq= 0B f=0/0
[jpeg2000 @ 0x7ffab38c7600] End mismatch 1 2545KB sq= 0B f=0/0
Last message repeated 1 times
frame= 117 fps= 31 q=-1.0 size= 8300kB time=00:00:04.87 bitrate=13948.1kbitsframe= 130 fps= 30 q=-1.0 size= 8971kB time=00:00:05.41 bitrate=13567.3kbits[jpeg2000 @ 0x7ffab38c8a00] End mismatch 1 2426KB sq= 0B f=0/0
[jpeg2000 @ 0x7ffab38c2600] End mismatch 1 2239KB sq= 0B f=0/0
frame= 142 fps= 29 q=-1.0 size= 9736kB time=00:00:05.91 bitrate=13479.7kbitsframe= 153 fps= 29 q=-1.0 size= 10763kB time=00:00:06.37 bitrate=13830.6kbits[jpeg2000 @ 0x7ffab38bae00] End mismatch 1 2478KB sq= 0B f=0/0
frame= 166 fps= 28 q=-1.0 size= 11644kB time=00:00:06.91 bitrate=13791.3kbits[jpeg2000 @ 0x7ffab38bd600] End mismatch 1 2577KB sq= 0B f=0/0
frame= 179 fps= 28 q=-1.0 size= 12382kB time=00:00:07.45 bitrate=13600.5kbitsframe= 191 fps= 28 q=-1.0 size= 13098kB time=00:00:07.95 bitrate=13482.5kbits[jpeg2000 @ 0x7ffab38c2600] End mismatch 1 2702KB sq= 0B f=0/0
[jpeg2000 @ 0x7ffab38b2a00] End mismatch 1 2788KB sq= 0B f=0/0
frame= 203 fps= 27 q=-1.0 size= 13790kB time=00:00:08.45 bitrate=13355.9kbitsframe= 216 fps= 27 q=-1.0 size= 14509kB time=00:00:09.00 bitrate=13206.7kbits 7.41 A-V: 0.758 fd= 149 aq= 307KB vq= 2166KB sq= 0B f=0/0
On Nov 17, 2015, at 1:27 PM, Moritz Barsnick <barsnick at gmx.net> wrote:
> On Tue, Nov 17, 2015 at 09:54:33 -0800, John Pilgrim wrote:
>> I'm currently using the following command to play DCPs
>> ffmpeg -ss 0 -lowres 1 -i video.mxf -i audio.mxf -f matroska - | ffplay -
>
> Let me ask you: You are using a pipe because ffplay cannot play from
> two separate files simultaneously? OK then... :)
>
>> I notice that the video is being transcoded to h264:
>> Stream mapping:
>> Stream #0:0 -> #0:0 (jpeg2000 (native) -> h264 (libx264))
>> Stream #1:0 -> #0:1 (pcm_s24le (native) -> vorbis (libvorbis))
>>
>> My Question: What would be a revision to this invocation to send
>> uncompressed (v210) video to ffplay instead of h264?
>
> Why v210? I pretend to understand that all you want to do is play. You
> shouldn't need to recode, not even to "raw" formats. Just use "-c copy"
> to map the files' streams directly to the output.
>
> I am told "nut" is a very flexible container for this sort of piping
> task. I tried, it can carry both jpeg2000 and pcm_s24le. But so can
> matroska.
>
> Try this:
>
> $ ffmpeg -ss 0 -lowres 1 -i video.mxf -i audio.mxf -c copy -f nut - | ffplay -
>
> Feel free to stick with matroska if it works for you.
>
>> Also using rawvideo didn't seem to send the audio.
>
> No, pure rawvideo (without a container) is just that: video.
>
>> Thanks for your help!
>
> Hope this helps. Or Paul's answer, though I don't see why you should
> encode to FLAC intermediately.
> Moritz
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
More information about the ffmpeg-user
mailing list