Opened 5 years ago

Closed 2 years ago

#1542 closed enhancement (fixed)

support muxing jpeg2000 in mxf

Reported by: dericed Owned by:
Priority: wish Component: avformat
Version: git-master Keywords: mxf j2k
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no


Summary of the bug:

Encoding jpeg2000 in mxf fails. "codec not currently supported in container". This combination of codec and container is popular in some media preservation environments and may be worth supporting.

How to reproduce:

ffmpeg started on 2012-07-18 at 00:10:53
Report written to "ffmpeg-20120718-001053.log"
Command line:
ffmpeg -report -f lavfi -t 1 -i testsrc -c:v j2k -strict -2 -y testsrc.mxf
ffmpeg version 0.11.1.git Copyright (c) 2000-2012 the FFmpeg developers
  built on Jul 18 2012 00:09:10 with gcc 4.2.1 (Apple Inc. build 5666) (dot 3)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/HEAD --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-libfreetype --cc=/usr/bin/gcc-4.2 --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-librtmp --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libass --enable-libvo-aacenc
  libavutil      51. 65.100 / 51. 65.100
  libavcodec     54. 41.100 / 54. 41.100
  libavformat    54. 17.100 / 54. 17.100
  libavdevice    54.  1.100 / 54.  1.100
  libavfilter     3.  2.100 /  3.  2.100
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 15.100 /  0. 15.100
  libpostproc    52.  0.100 / 52.  0.100
[Parsed_testsrc_0 @ 0x7fd8f9418520] size:320x240 rate:25/1 duration:-1.000000 sar:1/1
[lavfi @ 0x7fd8f984e200] All info found
[lavfi @ 0x7fd8f984e200] Estimating duration from bitrate, this may be inaccurate
Input #0, lavfi, from 'testsrc':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0, 1, 1/25: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 320x240 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
-t is not an input option, keeping it for the next output; consider fixing your command line.
[buffer @ 0x7fd8f9419fe0] Setting entry with key 'video_size' to value '320x240'
[buffer @ 0x7fd8f9419fe0] Setting entry with key 'pix_fmt' to value '2'
[buffer @ 0x7fd8f9419fe0] Setting entry with key 'time_base' to value '1/25'
[buffer @ 0x7fd8f9419fe0] Setting entry with key 'pixel_aspect' to value '1/1'
[buffer @ 0x7fd8f9419fe0] Setting entry with key 'sws_param' to value 'flags=2'
[buffer @ 0x7fd8f9419fe0] Setting entry with key 'frame_rate' to value '25/1'
[graph 0 input from stream 0:0 @ 0x7fd8f941a0a0] w:320 h:240 pixfmt:rgb24 tb:1/25 fr:25/1 sar:1/1 sws_param:flags=2
[j2k @ 0x7fd8f9854400] init
[j2k @ 0x7fd8f9854400] after init
[mxf @ 0x7fd8f9855000] track 0: could not find essence container ul, codec not currently supported in container
Output #0, mxf, to 'testsrc.mxf':
    encoder         : Lavf54.17.100
    Stream #0:0, 0, 1/25: Video: j2k, rgb24, 320x240 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo -> j2k)
Could not write header for output file #0 (incorrect codec parameters ?): Operation not permitted

Change History (5)

comment:1 Changed 5 years ago by cehoyos

  • Keywords j2k added
  • Priority changed from normal to wish
  • Reproduced by developer set
  • Status changed from new to open
  • Type changed from defect to enhancement

comment:2 Changed 4 years ago by dericed

Just adding a note here that muxing jpeg2000 into mxf is defined in SMPTE 422m (which defines how MXF can accomplish something similar as the 'colr' atom in other containers). The gstreamer bad plugins has an open source implementation of smpte 422m (see here:

comment:3 Changed 4 years ago by cehoyos

  • Summary changed from support jpeg2000 in mxf to support muxing jpeg2000 in mxf

comment:4 Changed 3 years ago by cjplay93

Anyone in FFMPEG land looking to fix this ticket once and for all?

comment:5 Changed 2 years ago by benoit

  • Resolution set to fixed
  • Status changed from open to closed
Note: See TracTickets for help on using tickets.