[FFmpeg-user] Piping uncompressed from ffmpeg to ffplay

John Pilgrim lists at johnpilgrim.net
Wed Nov 18 16:39:18 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