[Ffmpeg-devel] Subject: -acodec 'copy' fails
Bastian Suess
bastian.suess
Sun Jul 31 13:06:28 CEST 2005
Hi,
I am trying to convert a multi-language VOB-file (from DVD)
to a single-language VOB-file (only german).
=> ffmpeg crashes
=> my command line:
> ffmpeg -i HARRY_POTTER_PHILOSOPHERS_STON1-1.vob \
-vcodec copy -acodec copy -f vob harryff13.vob -map 0.0 -map 0.3
=> Output:
ffmpeg version CVS, build 4759, Copyright (c) 2000-2004 Fabrice Bellard
configuration:
built on Jul 28 2005 20:06:50, gcc: 3.3.3 (SuSE Linux)
Input #0, mpeg, from 'HARRY_POTTER_PHILOSOPHERS_STON1-1.vob':
Duration: 00:42:39.7, start: 0.052000, bitrate: 6711 kb/s
Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x576, 25.00
fps, 7500 kb/s
Stream #0.1[0x80]: Audio: 0x0000
Stream #0.2[0x82]: Audio: 0x0000
Stream #0.3[0x81]: Audio: 0x0000
Output #0, vob, to 'harryff13a.vob':
Stream #0.0: Video: mpeg2video, 720x576, 25.00 fps, q=2-31, 7500 kb/s
Stream #0.1: Audio: ac3
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.3 -> #0.1
Gleitkomma-Ausnahme
(german translation of floating point execption)
=>I found, that
1) The call-path
" main() => av_encode() => av_write_header() => av_frac_init() "
causes in av_frac_init() that
st->time_base.num and st->codec->sample_rate are both zero !
So an Division by zero occures.
2) Something similar happens in
" main() => av_encode() => output_packet() "
ist->st->codec->sample_rate and ist->st->codec->channels
are also both zero.
Simple patching the code to avoid the division by zero
keeps the progam running, but it works only with audio-channel-mapping
to 0.1.
Does everybody knows how to fix it the rigt way?
I guess anywhere around Line 1700 in ffmpeg.c :
"/* if stream_copy is selected..."
Thanks!
More information about the ffmpeg-devel
mailing list