Opened 12 years ago
Closed 12 years ago
#2028 closed defect (fixed)
No Audio in output file if -ss is specified after -i in newer builds
Reported by: | ramitb | Owned by: | |
---|---|---|---|
Priority: | important | Component: | ffmpeg |
Version: | unspecified | Keywords: | regression |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | yes | |
Analyzed by developer: | no |
Description
Summary of the bug: With the newer builds, some files (I've replicated with TS and WTV so far) don't have or have corrupted audio in the output file if the -ss is specified after -i. If it's specified before -i the audio is fine.
The sample file is too large to upload here (that itself is cut from the original file which is much larger).
It can be downloaded from:
http://www.mediafire.com/?phqror7mn83pdlk
How to reproduce:
WORKS:
ffmpeg -ss 30 -i test.ts -vcodec copy -acodec copy -t 15 test1.ts ffmpeg version N-46726-g2f74f8d Copyright (c) 2000-2012 the FFmpeg developers built on Nov 13 2012 19:29:51 with gcc 4.7.2 (GCC) configuration: --enable-gpl --enable-version3 --disable-pthreads --enable-runtime-cpudetect --enable-avisynth --enable -bzlib --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enab le-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroed inger --enable-libspeex --enable-libtheora --enable-libutvideo --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-li bvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib libavutil 52. 6.100 / 52. 6.100 libavcodec 54. 71.100 / 54. 71.100 libavformat 54. 36.100 / 54. 36.100 libavdevice 54. 3.100 / 54. 3.100 libavfilter 3. 23.100 / 3. 23.100 libswscale 2. 1.102 / 2. 1.102 libswresample 0. 16.100 / 0. 16.100 libpostproc 52. 1.100 / 52. 1.100 [mpegts @ 0025afa0] max_analyze_duration 5000000 reached at 5016000 Input #0, mpegts, from 'test.ts': Duration: 00:02:00.06, start: 1.400000, bitrate: 4219 kb/s Program 1 Metadata: service_name : CBBC Channel service_provider: CBBC Channel Stream #0:0[0x100]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p, 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:1[0x101](eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16, 256 kb/s Output #0, mpegts, to 'test1.ts': Metadata: encoder : Lavf54.36.100 Stream #0:0: Video: mpeg2video ([2][0][0][0] / 0x0002), yuv420p, 720x576 [SAR 64:45 DAR 16:9], q=2-31, 25 fps, 90k t bn, 25 tbc Stream #0:1(eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, 256 kb/s Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (copy) Press [q] to stop, [?] for help frame= 356 fps=0.0 q=-1.0 Lsize= 7247kB time=00:00:15.02 bitrate=3952.5kbits/s video:6214kB audio:470kB subtitle:0 global headers:0kB muxing overhead 8.415676%
DOES NOT WORK
ffmpeg -i test.ts -vcodec copy -acodec copy -ss 30 -t 15 test1.ts ffmpeg version N-46726-g2f74f8d Copyright (c) 2000-2012 the FFmpeg developers built on Nov 13 2012 19:29:51 with gcc 4.7.2 (GCC) configuration: --enable-gpl --enable-version3 --disable-pthreads --enable-runtime-cpudetect --enable-avisynth --enable -bzlib --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enab le-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroed inger --enable-libspeex --enable-libtheora --enable-libutvideo --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-li bvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib libavutil 52. 6.100 / 52. 6.100 libavcodec 54. 71.100 / 54. 71.100 libavformat 54. 36.100 / 54. 36.100 libavdevice 54. 3.100 / 54. 3.100 libavfilter 3. 23.100 / 3. 23.100 libswscale 2. 1.102 / 2. 1.102 libswresample 0. 16.100 / 0. 16.100 libpostproc 52. 1.100 / 52. 1.100 [mpegts @ 0221afa0] max_analyze_duration 5000000 reached at 5016000 Input #0, mpegts, from 'test.ts': Duration: 00:02:00.06, start: 1.400000, bitrate: 4219 kb/s Program 1 Metadata: service_name : CBBC Channel service_provider: CBBC Channel Stream #0:0[0x100]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p, 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:1[0x101](eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16, 256 kb/s Output #0, mpegts, to 'test1.ts': Metadata: encoder : Lavf54.36.100 Stream #0:0: Video: mpeg2video ([2][0][0][0] / 0x0002), yuv420p, 720x576 [SAR 64:45 DAR 16:9], q=2-31, 25 fps, 90k t bn, 25 tbc Stream #0:1(eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, 256 kb/s Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (copy) Press [q] to stop, [?] for help frame= 356 fps=0.0 q=-1.0 Lsize= 7246kB time=00:00:45.00 bitrate=1319.1kbits/s video:6214kB audio:469kB subtitle:0 global headers:0kB muxing overhead 8.423527%
LAST WORKING VERSION FFMPEG WITH -SS AFTER -I
ffmpeg.051112 -i test.ts -vcodec copy -acodec copy -ss 30 -t 15 test1.ts ffmpeg version N-37915-g6cb2085 Copyright (c) 2000-2012 the FFmpeg developers built on Feb 15 2012 20:47:20 with gcc 4.6.2 configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-runtime-cpudetect --enable-avisynth --enab le-bzlib --enable-frei0r --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --en able-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --en able-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable- libxvid --enable-zlib libavutil 51. 39.100 / 51. 39.100 libavcodec 54. 3.100 / 54. 3.100 libavformat 54. 1.100 / 54. 1.100 libavdevice 53. 4.100 / 53. 4.100 libavfilter 2. 62.100 / 2. 62.100 libswscale 2. 1.100 / 2. 1.100 libswresample 0. 6.100 / 0. 6.100 libpostproc 52. 0.100 / 52. 0.100 [mpegts @ 01CC9540] max_analyze_duration 5000000 reached at 5016000 Input #0, mpegts, from 'test.ts': Duration: 00:02:00.06, start: 1.400000, bitrate: 4219 kb/s Program 1 Metadata: service_name : CBBC Channel service_provider: CBBC Channel Stream #0:0[0x100]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p, 720x576 [SAR 64:45 DAR 16:9], 15000 k b/s, 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:1[0x101](eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16, 256 kb/s [mpegts @ 02A493A0] muxrate VBR, pcr every 2 pkts, sdt every 200, pat/pmt every 40 pkts Output #0, mpegts, to 'test1.ts': Metadata: encoder : Lavf54.1.100 Stream #0:0: Video: mpeg2video ([2][0][0][0] / 0x0002), yuv420p, 720x576 [SAR 64:45 DAR 16:9], q=2-31, 15000 kb/s, 2 5 fps, 90k tbn, 25 tbc Stream #0:1(eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, 256 kb/s Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (copy) Press [q] to stop, [?] for help frame= 356 fps= 0 q=-1.0 Lsize= 7246kB time=00:00:15.00 bitrate=3957.0kbits/s video:6214kB audio:469kB global headers:0kB muxing overhead 8.418032%
This is a regression defect
Change History (14)
comment:1 by , 12 years ago
Keywords: | regression added |
---|
follow-up: 3 comment:2 by , 12 years ago
I'm using WMP 12 (Windows 7) and there is no Audio when I put -ss after -i but I get audio when I put -ss before -i
I noticed you're using a Dec 13th build - I will try it again and let you know.
comment:3 by , 12 years ago
Replying to ramitbhalla:
I'm using WMP 12 (Windows 7) and there is no Audio when I put -ss after -i but I get audio when I put -ss before -i
I noticed you're using a Dec 13th build - I will try it again and let you know.
It will be sufficient if you test with ffmpeg to see that audio is only missing in WMP.
Could you do the bisect to find the change introducing the regression?
comment:4 by , 12 years ago
The Dec 13th Build is not yet released for Windows.
Unfortunately, regarding Bisect, I googled it but don't know how to use it. I also don't have the ability to build ffmpeg, I rely on Zeronae static builds.
I'll be happy to test the versions and let you know what works and what doesn't but will need to reply on your skills for the "bisect" :)
comment:5 by , 12 years ago
Please run "ffmpeg -i test1.ts" to clarify that your problem is only reproducible with WMP, not with any other player / application.
comment:6 by , 12 years ago
I also tested "N-37915-g6cb2085" and it produces the same output as current git head:
$ ffmpeg -i test.ts -vcodec copy -acodec copy -ss 30 -t 15 out2.ts ffmpeg version N-37915-g6cb2085 Copyright (c) 2000-2012 the FFmpeg developers built on Dec 14 2012 11:23:53 with gcc 4.7.1 20120723 [gcc-4_7-branch revision 189773] configuration: libavutil 51. 39.100 / 51. 39.100 libavcodec 54. 3.100 / 54. 3.100 libavformat 54. 1.100 / 54. 1.100 libavdevice 53. 4.100 / 53. 4.100 libavfilter 2. 62.100 / 2. 62.100 libswscale 2. 1.100 / 2. 1.100 libswresample 0. 6.100 / 0. 6.100 [mpegts @ 0x1ada3e0] max_analyze_duration 5000000 reached at 5016000 Input #0, mpegts, from 'test.ts': Duration: 00:02:00.06, start: 1.400000, bitrate: 4219 kb/s Program 1 Metadata: service_name : CBBC Channel service_provider: CBBC Channel Stream #0:0[0x100]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p, 720x576 [SAR 64:45 DAR 16:9], 15000 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:1[0x101](eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16, 256 kb/s [mpegts @ 0x1adce60] muxrate VBR, pcr every 2 pkts, sdt every 200, pat/pmt every 40 pkts Output #0, mpegts, to 'out2.ts': Metadata: encoder : Lavf54.1.100 Stream #0:0: Video: mpeg2video ([2][0][0][0] / 0x0002), yuv420p, 720x576 [SAR 64:45 DAR 16:9], q=2-31, 15000 kb/s, 25 fps, 90k tbn, 25 tbc Stream #0:1(eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, 256 kb/s Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (copy) Press [q] to stop, [?] for help frame= 356 fps= 0 q=-1.0 Lsize= 7246kB time=00:00:15.00 bitrate=3957.0kbits/s video:6214kB audio:469kB global headers:0kB muxing overhead 8.418032%
$ md5sum out2.ts 762cfa9d19ce82144417ee620d698966 out2.ts
comment:7 by , 12 years ago
Component: | undetermined → FFmpeg |
---|---|
Reproduced by developer: | set |
Resolution: | → fixed |
Status: | new → closed |
Regression since 1909dbf, fixed in 9406d6b.
follow-up: 9 comment:8 by , 12 years ago
When you say run "ffmpeg -i test1.ts", what exactly am I looking for in the output? The output looks the same for the working version and the broken version of ffmpeg. However it's the WMP player that unable to play.
comment:9 by , 12 years ago
Replying to ramitbhalla:
When you say run "ffmpeg -i test1.ts", what exactly am I looking for in the output? The output looks the same for the working version and the broken version of ffmpeg.
I don't think so / complete, uncut console output missing.
However it's the WMP player that unable to play.
You mean the file that you produced with 2f74f8d and that does not play with WMP decodes fine with ffmpeg? It did not work for me.
follow-up: 11 comment:10 by , 12 years ago
That's correct, when play test1.ts in WMP 12, I get no audio, in between there are a few squeaks but no audio for the most.
When I run the command, here is what get:
ffmpeg.239-current.exe -i test1.ts
ffmpeg version N-46726-g2f74f8d Copyright (c) 2000-2012 the FFmpeg developers built on Nov 13 2012 19:29:51 with gcc 4.7.2 (GCC) configuration: --enable-gpl --enable-version3 --disable-pthreads --enable-runtime-cpudetect --enable-avisynth --enable -bzlib --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enab le-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroed inger --enable-libspeex --enable-libtheora --enable-libutvideo --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-li bvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib libavutil 52. 6.100 / 52. 6.100 libavcodec 54. 71.100 / 54. 71.100 libavformat 54. 36.100 / 54. 36.100 libavdevice 54. 3.100 / 54. 3.100 libavfilter 3. 23.100 / 3. 23.100 libswscale 2. 1.102 / 2. 1.102 libswresample 0. 16.100 / 0. 16.100 libpostproc 52. 1.100 / 52. 1.100 [mpegts @ 01f5ae00] max_analyze_duration 5000000 reached at 5000000 [mpegts @ 01f5ae00] Could not find codec parameters for stream 1 (Audio: mp3 ([3][0][0][0] / 0x0003), 0 channels, s16): unspecified frame size Consider increasing the value for the 'analyzeduration' and 'probesize' options [NULL @ 02c932e0] start time is not set in estimate_timings_from_pts Input #0, mpegts, from 'test1.ts': Duration: 00:00:14.16, start: 2.300356, bitrate: 4191 kb/s Program 1 Metadata: service_name : Service01 service_provider: FFmpeg Stream #0:0[0x100]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p, 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc Stream #0:1[0x101](eng): Audio: mp3 ([3][0][0][0] / 0x0003), 0 channels, s16 At least one output file must be specified
comment:11 by , 12 years ago
Replying to ramitbhalla:
Stream #0:1[0x101](eng): Audio: mp3 ([3][0][0][0] / 0x0003), 0 channels, s16
This does not look like an audio stream that FFmpeg can decode and should answer the question what you are looking for in the console output.
comment:12 by , 12 years ago
Okay, so here's the issue, one side of the problem has been fixed but it ended up breaking the other.
Now specifying -ss after -i works fine, but using -ss before -i now breaks ffmpeg.
See below:
SPECIFYING -ss AFTER -i WORKS FINE
ffmpeg -y -i "D:\Test Videos\Mcebuddyarchive\Test6.ts" -ss 30 -t 1727 -map 0:a -map 0:v -v codec copy -acodec copy test-temp.ts ffmpeg version N-48065-g6375318 Copyright (c) 2000-2012 the FFmpeg developers built on Dec 21 2012 09:06:30 with gcc 4.7.2 (GCC) configuration: --enable-static --arch=x86 --target-os=mingw32 --cross-prefix=/home/rdp/dev/ffmpeg-windows-build-helper s/sandbox/mingw-w64-i686/bin/i686-w64-mingw32- --pkg-config=pkg-config --enable-gpl --enable-libx264 --enable-avisynth - -enable-libxvid --enable-libmp3lame --enable-version3 --enable-zlib --enable-librtmp --enable-libvorbis --enable-libtheo ra --enable-libspeex --enable-libopenjpeg --enable-gnutls --enable-libgsm --enable-libfreetype --enable-fontconfig --ena ble-libass --enable-libutvideo --enable-libopus --disable-w32threads --enable-frei0r --enable-filter=frei0r --enable-lib vo-aacenc --enable-bzlib --enable-libxavs --extra-cflags=-DPTW32_STATIC_LIB --enable-libopencore-amrnb --enable-libopenc ore-amrwb --enable-libvo-amrwbenc --enable-libschroedinger --enable-libbluray --enable-libvpx --enable-runtime-cpudetect libavutil 52. 12.100 / 52. 12.100 libavcodec 54. 81.100 / 54. 81.100 libavformat 54. 49.102 / 54. 49.102 libavdevice 54. 3.102 / 54. 3.102 libavfilter 3. 29.100 / 3. 29.100 libswscale 2. 1.103 / 2. 1.103 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 2.100 / 52. 2.100 Input #0, mpeg, from 'D:\Test Videos\Mcebuddyarchive\Test6.ts': Duration: 00:29:47.79, start: 0.200000, bitrate: 14465 kb/s Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc Stream #0:1[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 96 kb/s (visual impaired) Output #0, mpegts, to 'test-temp.ts': Metadata: encoder : Lavf54.49.102 Stream #0:0: Audio: ac3, 48000 Hz, stereo, 96 kb/s (visual impaired) Stream #0:1: Video: mpeg2video, yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 29.97 fps, 90k tbn, 29.97 tbc Stream mapping: Stream #0:1 -> #0:0 (copy) Stream #0:0 -> #0:1 (copy) Press [q] to stop, [?] for help frame= 8911 fps=471 q=-1.0 Lsize= 548857kB time=00:04:59.60 bitrate=15007.5kbits/s video:504598kB audio:3511kB subtitle:0 global headers:0kB muxing overhead 8.019605%
SPECIFYING -ss BEFORE -i BREAKS
ffmpeg -y -ss 30 -i "D:\Test Videos\Mcebuddyarchive\Test6.ts" -t 1727 -map 0:a -map 0:v -v codec copy -acodec copy test-temp.ts ffmpeg version N-48065-g6375318 Copyright (c) 2000-2012 the FFmpeg developers built on Dec 21 2012 09:06:30 with gcc 4.7.2 (GCC) configuration: --enable-static --arch=x86 --target-os=mingw32 --cross-prefix=/home/rdp/dev/ffmpeg-windows-build-helper s/sandbox/mingw-w64-i686/bin/i686-w64-mingw32- --pkg-config=pkg-config --enable-gpl --enable-libx264 --enable-avisynth - -enable-libxvid --enable-libmp3lame --enable-version3 --enable-zlib --enable-librtmp --enable-libvorbis --enable-libtheo ra --enable-libspeex --enable-libopenjpeg --enable-gnutls --enable-libgsm --enable-libfreetype --enable-fontconfig --ena ble-libass --enable-libutvideo --enable-libopus --disable-w32threads --enable-frei0r --enable-filter=frei0r --enable-lib vo-aacenc --enable-bzlib --enable-libxavs --extra-cflags=-DPTW32_STATIC_LIB --enable-libopencore-amrnb --enable-libopenc ore-amrwb --enable-libvo-amrwbenc --enable-libschroedinger --enable-libbluray --enable-libvpx --enable-runtime-cpudetect libavutil 52. 12.100 / 52. 12.100 libavcodec 54. 81.100 / 54. 81.100 libavformat 54. 49.102 / 54. 49.102 libavdevice 54. 3.102 / 54. 3.102 libavfilter 3. 29.100 / 3. 29.100 libswscale 2. 1.103 / 2. 1.103 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 2.100 / 52. 2.100 Input #0, mpeg, from 'D:\Test Videos\Mcebuddyarchive\Test6.ts': Duration: 00:29:47.79, start: 0.200000, bitrate: 14465 kb/s Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc Stream #0:1[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 96 kb/s (visual impaired) Output #0, mpegts, to 'test-temp.ts': Metadata: encoder : Lavf54.49.102 Stream #0:0: Audio: ac3, 48000 Hz, stereo, 96 kb/s (visual impaired) Stream #0:1: Video: mpeg2video, yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 29.97 fps, 90k tbn, 29.97 tbc Stream mapping: Stream #0:1 -> #0:0 (copy) Stream #0:0 -> #0:1 (copy) Press [q] to stop, [?] for help [mpegts @ 03ce7260] first pts value must set av_interleaved_write_frame(): Invalid data found when processing input
comment:13 by , 12 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Marking important because it's a regression
comment:14 by , 12 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Please open a new ticket for this independent problem.
I am unable to reproduce this problem:
Audio is recognized in the remuxed file and playback works fine.
Or do I miss something?