Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#2945 closed defect (fixed)

Support remuxing mpeg2video into mxf-d10

Reported by: ortoni Owned by:
Priority: important Component: avformat
Version: git-master Keywords: mxf regression
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Summary of the bug:
Known good 30 Mbit/sec m2v and wav essences cannot be muxed into IMX30 D10 MXF because of "error MXF D-10 only support 30/40/50 mbit/s"
How to reproduce:
If a known good IMX30 D10 MXF is demultiplexed into m2v and wav files, then immediately multiplexed back to the same format, the muxing fails. I have checked that the m2v essence shows a video bitrate of 30,000,000 at the mpeg header level:

ffmpeg.exe" -i FCP.MXF -vcodec copy FCP.m2v -acodec copy FCP.wav
ffmpeg version N-55721-gc443689 Copyright (c) 2000-2013 the FFmpeg developers

built on Aug 22 2013 18:59:54 with gcc 4.7.3 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av

isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp
e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l
ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-
amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --
enable-libxvid --enable-zlib

libavutil 52. 42.100 / 52. 42.100
libavcodec 55. 29.100 / 55. 29.100
libavformat 55. 14.102 / 55. 14.102
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 82.102 / 3. 82.102
libswscale 2. 5.100 / 2. 5.100
libswresample 0. 17.103 / 0. 17.103
libpostproc 52. 3.100 / 52. 3.100

Guessed Channel Layout for Input Stream #0.1 : 4.0
Input #0, mxf, from 'FCP.MXF':

Metadata:

uid : 2f8e817a-c070-4d6a-a891-a30d79fef4d4
generation_uid : 3fd15f16-f8ee-449b-89fc-6a136320aae9
company_name : SONY
product_name : XDCAM Transfer
product_version : 631
application_platform: SONY MXF Development Kit (MacOS X)
product_uid : 060e2b34-0401-0103-0e06-012002410200
modification_date: 2010-11-23 03:57:48
timecode : 01:00:00:00

Duration: 00:00:05.00, start: 0.000000, bitrate: 42626 kb/s

Stream #0:0: Video: mpeg2video (4:2:2), yuv422p, 720x608 [SAR 608:405 DAR 16

:9], max. 30000 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc

Stream #0:1: Audio: pcm_s16le, 48000 Hz, 4.0, s16, 3072 kb/s

Output #0, mpeg2video, to 'FCP.m2v':

Metadata:

uid : 2f8e817a-c070-4d6a-a891-a30d79fef4d4
generation_uid : 3fd15f16-f8ee-449b-89fc-6a136320aae9
company_name : SONY
product_name : XDCAM Transfer
product_version : 631
application_platform: SONY MXF Development Kit (MacOS X)
product_uid : 060e2b34-0401-0103-0e06-012002410200
modification_date: 2010-11-23 03:57:48
timecode : 01:00:00:00
encoder : Lavf55.14.102
Stream #0:0: Video: mpeg2video, yuv422p, 720x608 [SAR 608:405 DAR 16:9], q=2

-31, max. 30000 kb/s, 25 fps, 90k tbn, 25 tbc
Output #1, wav, to 'FCP.wav':

Metadata:

uid : 2f8e817a-c070-4d6a-a891-a30d79fef4d4
generation_uid : 3fd15f16-f8ee-449b-89fc-6a136320aae9
company_name : SONY
product_name : XDCAM Transfer
product_version : 631
application_platform: SONY MXF Development Kit (MacOS X)
product_uid : 060e2b34-0401-0103-0e06-012002410200
modification_date: 2010-11-23 03:57:48
ISMP : 01:00:00:00
ISFT : Lavf55.14.102
Stream #1:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, 4.0, 3072 kb/s

Stream mapping:

Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #1:0 (copy)

Press [q] to stop, ? for help
frame= 125 fps=0.0 q=-1.0 Lsize= 17050kB time=00:00:05.00 bitrate=27934.8kbits/s
video:17050kB audio:1875kB subtitle:0 global headers:0kB muxing overhead -9.907499%

ffmpeg.exe" -i FCP.m2v -i FCP.wav -vcodec copy -acodec copy -f mxf_d10 FCP_new.mxf
ffmpeg version N-55721-gc443689 Copyright (c) 2000-2013 the FFmpeg developers

built on Aug 22 2013 18:59:54 with gcc 4.7.3 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av

isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp
e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l
ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-
amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --
enable-libxvid --enable-zlib

libavutil 52. 42.100 / 52. 42.100
libavcodec 55. 29.100 / 55. 29.100
libavformat 55. 14.102 / 55. 14.102
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 82.102 / 3. 82.102
libswscale 2. 5.100 / 2. 5.100
libswresample 0. 17.103 / 0. 17.103
libpostproc 52. 3.100 / 52. 3.100

Input #0, mpegvideo, from 'FCP.m2v':

Duration: N/A, bitrate: N/A

Stream #0:0: Video: mpeg2video (4:2:2), yuv422p, 720x608 [SAR 608:405 DAR 16

:9], max. 30000 kb/s, 25 fps, 25 tbr, 1200k tbn, 50 tbc
Input #1, wav, from FCP.wav':

Metadata:

encoder : Lavf55.14.102
timecode : 01:00:00:00

Duration: 00:00:05.00, bitrate: 3072 kb/s

Stream #1:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, 4.0, s16, 3072 kb/s

[mxf_d10 @ 026ae060] error MXF D-10 only support 30/40/50 mbit/s
Output #0, mxf_d10, to 'FCP_new.mxf':

Metadata:

encoder : Lavf55.14.102
Stream #0:0: Video: mpeg2video, yuv422p, 720x608 [SAR 608:405 DAR 16:9], q=2

-31, max. 30000 kb/s, 25 fps, 25 tbn, 25 tbc

Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, 4.0, 3072 kb/s

Stream mapping:

Stream #0:0 -> #0:0 (copy)
Stream #1:0 -> #0:1 (copy)

Could not write header for output file #0 (incorrect codec parameters ?): Error
number -1 occurred

Thanks in advance.

-m

Attachments (1)

patchmxfmaxrate.diff (758 bytes) - added by cehoyos 6 years ago.

Download all attachments as: .zip

Change History (11)

Changed 6 years ago by cehoyos

comment:1 Changed 6 years ago by cehoyos

  • Component changed from undetermined to avformat
  • Keywords mxf added
  • Priority changed from normal to wish
  • Summary changed from Incorrect bitrate error prevents D10 IMX mux of legitimate essence to Support remuxing mpeg2video into mxf-d10
  • Type changed from defect to enhancement
  • Version changed from unspecified to git-master

Please provide a sample or test attached patch.

comment:2 Changed 6 years ago by ortoni

Sample uploaded as Test_file_ticket_2945_support_remux_m2v_into_mxf.MXF with accompanying text file.

comment:3 Changed 6 years ago by cehoyos

  • Reproduced by developer set
  • Status changed from new to open

Patch sent.

$ make fate-lavf-mxf_d10

...
$ ./ffmpeg -i tests/data/lavf/lavf.mxf_d10 -c copy -f mxf_d10 out.mxf
ffmpeg version N-56121-g43497d8 Copyright (c) 2000-2013 the FFmpeg developers
  built on Sep  9 2013 10:07:32 with gcc 4.7 (SUSE Linux)
  configuration: --enable-gpl --disable-indev=jack
  libavutil      52. 43.100 / 52. 43.100
  libavcodec     55. 31.101 / 55. 31.101
  libavformat    55. 16.101 / 55. 16.101
  libavdevice    55.  3.100 / 55.  3.100
  libavfilter     3. 84.100 /  3. 84.100
  libswscale      2.  5.100 /  2.  5.100
  libswresample   0. 17.103 /  0. 17.103
  libpostproc    52.  3.100 / 52.  3.100
Guessed Channel Layout for  Input Stream #0.1 : stereo
Input #0, mxf, from 'tests/data/lavf/lavf.mxf_d10':
  Metadata:
    uid             : adab4424-2f25-4dc7-92ff-29bd000b0000
    generation_uid  : adab4424-2f25-4dc7-92ff-29bd000b0001
    company_name    : FFmpeg
    product_name    : OP1a Muxer
    product_version : 0.0.0
    product_uid     : adab4424-2f25-4dc7-92ff-29bd000b0002
    modification_date: 0-01-01 00:00:00
    timecode        : 00:00:00:00
  Duration: 00:00:01.00, start: 0.000000, bitrate: 42647 kb/s
    Stream #0:0: Video: mpeg2video (4:2:2), yuv422p(tv), 720x608 [SAR 1:1 DAR 45:38], max. 30000 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc
    Stream #0:1: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
[mxf_d10 @ 0x1ae29a0] error MXF D-10 only support 30/40/50 mbit/s
Output #0, mxf_d10, to 'out.mxf':
  Metadata:
    uid             : adab4424-2f25-4dc7-92ff-29bd000b0000
    generation_uid  : adab4424-2f25-4dc7-92ff-29bd000b0001
    company_name    : FFmpeg
    product_name    : OP1a Muxer
    product_version : 0.0.0
    product_uid     : adab4424-2f25-4dc7-92ff-29bd000b0002
    modification_date: 0-01-01 00:00:00
    timecode        : 00:00:00:00
    encoder         : Lavf55.16.101
    Stream #0:0: Video: mpeg2video, yuv422p, 720x608 [SAR 1:1 DAR 45:38], q=2-31, max. 30000 kb/s, 25 fps, 25 tbn, 25 tbc
    Stream #0:1: Audio: pcm_s16le, 48000 Hz, stereo, 1536 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Could not write header for output file #0 (incorrect codec parameters ?): Operation not permitted

comment:4 Changed 6 years ago by cehoyos

  • Keywords regression added
  • Priority changed from wish to important
  • Type changed from enhancement to defect

comment:5 Changed 6 years ago by cehoyos

Regression since 25b7aa9

comment:6 Changed 6 years ago by cehoyos

To all trolls:
It would be great if you could elaborate what was unclear about comment:3 and why another sample is needed? Just to raise our traffic?

comment:7 Changed 6 years ago by richardpl

It nowhere says how to get it, thus extra effort.

comment:8 Changed 6 years ago by cehoyos

Get what?
The sample? Why do you need it?

comment:9 Changed 6 years ago by cehoyos

  • Resolution set to fixed
  • Status changed from open to closed

Fixed in d73565d, thank you for the report!

comment:10 Changed 6 years ago by ortoni

Thank you agin for looking at this cehoyos, much appreciated!

Note: See TracTickets for help on using tickets.