Opened 13 years ago

Closed 13 years ago

#553 closed defect (invalid)

ffmpeg fails to transcode VCD file

Reported by: Bartłomiej Pater Owned by: Michael Niedermayer
Priority: normal Component: avformat
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

I have a MPEG2 video file that is stored inside MPEG1 container. During transcoding ffmpeg fails with the following message:

FFmpeg version SVN-r25838, Copyright (c) 2000-2010 the FFmpeg developers

built on Oct 5 2011 13:59:08 with gcc 4.4.5
configuration: --enable-libdc1394 --prefix=/usr --extra-cflags='-Wall -g ' --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libspeex --enable-nonfree --disable-stripping --enable-avfilter --enable-libdirac --disable-decoder=libdirac --enable-libschroedinger --disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg --enable-libvpx --enable-librtmp --extra-libs=-lgcrypt --disable-altivec --disable-armv5te --disable-armv6 --disable-vis
libavutil 50.33. 0 / 50.33. 0
libavcore 0.14. 0 / 0.14. 0
libavcodec 52.97. 2 / 52.97. 2
libavformat 52.87. 1 / 52.87. 1
libavdevice 52. 2. 2 / 52. 2. 2
libavfilter 1.65. 0 / 1.65. 0
libswscale 0.12. 0 / 0.12. 0
libpostproc 51. 2. 0 / 51. 2. 0

[mpeg2video @ 0x15f01f0] mpeg_decode_postinit() failure

Last message repeated 13 times

[mpeg @ 0x15ed760] max_analyze_duration reached
Input #0, mpeg, from 'mpeg2_in_mpeg1.vcd':

Duration: 00:00:32.99, start: 0.500000, bitrate: 2114 kb/s

Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x480 [PAR 8:9 DAR 4:3], 2000 kb/s, 32.57 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0.1[0x1c0]: Audio: mp2, 0 channels

[buffer @ 0x15f4fc0] w:720 h:480 pixfmt:yuv420p
[libfaac @ 0x15f4880] encoding 0 channel(s) is not allowed
Output #0, mp4, to '/tmp/test.mp4':

Stream #0.0: Video: mpeg4, yuv420p, 720x480 [PAR 8:9 DAR 4:3], q=2-31, 200 kb/s, 90k tbn, 29.97 tbc
Stream #0.1: Audio: libfaac, 0 channels, s16, 64 kb/s

Stream mapping:

Stream #0.0 -> #0.0
Stream #0.1 -> #0.1

Error while opening encoder for output stream #0.1 - maybe incorrect parameters such as bit_rate, rate, width or height

I used this command:

$ ffmpeg -i mpeg2_in_mpeg1.vcd -vcodec mpeg4 -acodec libfaac /tmp/test.mp4

No matter what bitrates/width/height or other parameters I use, I always get this message. The only thing that can make ffmpeg to transcode is to disable audio with -an option. But this results in movie without audio track.

It seems that ffmpeg/ffplay could not determine audio track parameters. I've tried ffmpeg versions 0.6.1, 0.8.4 and 0.8.5 from debian-multimedia packages.

At the same time mediainfo recognizes properly the both audio and video tracks:

General
Complete name : mpeg2_in_mpeg1.vcd
Format : MPEG-PS
File size : 8.32 MiB
Duration : 33s 144ms
Overall bit rate : 2 105 Kbps

Video
ID : 224 (0xE0)
Format : MPEG Video
Format version : Version 2
Format profile : Main@Main
Format settings, BVOP : Yes
Format settings, Matrix : Custom
Format settings, GOP : M=3, N=15
Duration : 33s 33ms
Bit rate : 1 967 Kbps
Maximum bit rate : 2 000 Kbps
Width : 720 pixels
Height : 480 pixels
Display aspect ratio : 4:3
Frame rate : 29.970 fps
Standard : NTSC
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Interlaced
Scan order : Top Field First
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.190
Stream size : 7.75 MiB (93%)

Audio
ID : 192 (0xC0)
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 2
Duration : 33s 144ms
Bit rate mode : Constant
Bit rate : 96.0 Kbps
Channel(s) : 2 channels
Sampling rate : 48.0 KHz
Compression mode : Lossy
Delay relative to video : 6s 167ms
Stream size : 388 KiB (5%)

Also VLC (linux) or Quicktime player (mac) plays this file with both audio and video.

Attachments (1)

mpeg2_in_mpeg1_cut.vcd (2.0 MB ) - added by Bartłomiej Pater 13 years ago.

Download all attachments as: .zip

Change History (2)

by Bartłomiej Pater, 13 years ago

Attachment: mpeg2_in_mpeg1_cut.vcd added

comment:1 by Carl Eugen Hoyos, 13 years ago

Component: FFmpegavformat
Resolution: invalid
Status: newclosed
Version: 0.8.5unspecified

[mpeg @ 0x15ed760] max_analyze_duration reached

You have to pass -analyzeduration 6000000 to ffmpeg, audio stream starts late.
While I hope the preset value will be increased, there will be always be samples that need an even higher value.

Note that FFmpeg has switched to git - see http://ffmpeg.org/download.html - and on this bug tracker, only current git head (and current releases) are supported, your version is ancient and misses many features / contains many bugs that have been fixed meanwhile.

Note: See TracTickets for help on using tickets.