#2096 closed defect (fixed)
Audio glitches when converting from speex in flv/f4v - regression from previous verisons
Reported by: | kirill_p | Owned by: | |
---|---|---|---|
Priority: | important | Component: | avcodec |
Version: | git-master | Keywords: | regression speex |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | yes | |
Analyzed by developer: | no |
Description
Summary of the bug:
There're audio glitches when converting from f4v file that was recorded by FMS in source format h264/speex to mp4:h264/aac (or any other audio codec + container (tested with mp3 too).
There was no such problem with previous version of ffmpeg. I'm using ffmpeg from Zeranoe static 32 builds. I was able to to find the period of time when this bug was introduced into these builds. It happened between 2.10.12 N-44998-gdf82454 (this build is working fine) to 5.10.12 N-45080-gd9dfe9a (have glitches from there on). Git's history shows that there was refactoring of audio sampling between these dates.
How to reproduce:
In the attached files you may find sample video that makes problem after convert. You may also find there conversion results of both builds and logs of all attempts.
BTW December builds of Zeranoe fails to convert file at all with error "[graph 0 input from stream 0:1 @ 02217fa0] Invalid sample format '(null)'
Error opening filters!" (Full output in the files)
% ffmpeg -i m.f4v -vcodec copy m_Oct05.mp4 ffmpeg version N-45080-gd9dfe9a Copyright (c) 2000-2012 the FFmpeg developers built on Oct 5 2012 16:45:28 with gcc 4.7.1 (GCC) configuration: --enable-gpl --enable-version3 --disable-pthreads --enable-runt ime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libass - -enable-libcelt --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-l ibfreetype --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopenj peg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheo ra --enable-libutvideo --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-li bvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --ena ble-zlib libavutil 51. 73.102 / 51. 73.102 libavcodec 54. 63.100 / 54. 63.100 libavformat 54. 29.105 / 54. 29.105 libavdevice 54. 3.100 / 54. 3.100 libavfilter 3. 19.102 / 3. 19.102 libswscale 2. 1.101 / 2. 1.101 libswresample 0. 16.100 / 0. 16.100 libpostproc 52. 1.100 / 52. 1.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'm.f4v': Metadata: major_brand : f4v minor_version : 0 compatible_brands: isommp42m4v Duration: 00:00:32.06, start: 0.000000, bitrate: 768 kb/s Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 640x4 80 [SAR 1:1 DAR 4:3], 732 kb/s, 29.88 fps, 30 tbr, 1k tbn, 60 tbc Metadata: handler_name : MainConcept Stream #0:1(eng): Audio: speex (spex / 0x78657073), 16000 Hz, mono, s16, 17 kb/s Metadata: handler_name : Speex Handler Stream #0:2(eng): Data: none (amf0 / 0x30666D61) Metadata: handler_name : Timed Metadata Handler Output #0, mp4, to 'm_Oct05.mp4': Metadata: major_brand : f4v minor_version : 0 compatible_brands: isommp42m4v encoder : Lavf54.29.105 Stream #0:0(eng): Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 640x480 [SA R 1:1 DAR 4:3], q=2-31, 732 kb/s, 29.88 fps, 16k tbn, 1k tbc Metadata: handler_name : MainConcept Stream #0:1(eng): Audio: aac ([64][0][0][0] / 0x0040), 16000 Hz, mono, s16, 128 kb/s Metadata: handler_name : Speex Handler Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (libspeex -> libvo_aacenc) Press [q] to stop, [?] for help [mp4 @ 042c0160] st:0 PTS: 4304 DTS: 4304 < 4305 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 5856 DTS: 5424 < 5425 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 10112 DTS: 9568 < 9569 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 13136 DTS: 12448 < 12449 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 22752 DTS: 22240 < 22241 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 22336 DTS: 22240 < 22242 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 29104 DTS: 29104 < 29105 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 30576 DTS: 30032 < 30033 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 33952 DTS: 33056 < 33057 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 46336 DTS: 45856 < 45857 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 48064 DTS: 47504 < 47505 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 53552 DTS: 52832 < 52833 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 58608 DTS: 57824 < 57825 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 60528 DTS: 59792 < 59793 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 62528 DTS: 61824 < 61825 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 65328 DTS: 64480 < 64481 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 70320 DTS: 69776 < 69777 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 77520 DTS: 76480 < 76481 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 80608 DTS: 79888 < 79889 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 88400 DTS: 86608 < 86609 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 86608 DTS: 86608 < 86610 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 89104 DTS: 88400 < 88401 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 96016 DTS: 95472 < 95473 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 95904 DTS: 95472 < 95474 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 96896 DTS: 96448 < 96449 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 101120 DTS: 100576 < 100577 invalid, clipping frame= 250 fps=0.0 q=-1.0 size= 675kB time=00:00:07.70 bitrate= 717.4kbits/ st:0 PTS: 129184 DTS: 128096 < 128097 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 128096 DTS: 128096 < 128098 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 129888 DTS: 129184 < 129185 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 137072 DTS: 136800 < 136801 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 137456 DTS: 136800 < 136802 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 142496 DTS: 141920 < 141921 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 145728 DTS: 145120 < 145121 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 145120 DTS: 145120 < 145122 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 145728 DTS: 145728 < 145729 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 147840 DTS: 147136 < 147137 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 153152 DTS: 152464 < 152465 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 158208 DTS: 157536 < 157537 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 162048 DTS: 161440 < 161441 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 161440 DTS: 161440 < 161442 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 162624 DTS: 162048 < 162049 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 169296 DTS: 168736 < 168737 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 176896 DTS: 176896 < 176897 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 179008 DTS: 178144 < 178145 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 186496 DTS: 185920 < 185921 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 185920 DTS: 185920 < 185922 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 186496 DTS: 186496 < 186497 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 188320 DTS: 187936 < 187937 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 191584 DTS: 190880 < 190881 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 193072 DTS: 193072 < 193073 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 195536 DTS: 194320 < 194321 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 196288 DTS: 196272 < 196273 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 199216 DTS: 198496 < 198497 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 200320 DTS: 198496 < 198498 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 201040 DTS: 201040 < 201041 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 201040 DTS: 201040 < 201042 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 203456 DTS: 202912 < 202913 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 210256 DTS: 210256 < 210257 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 212304 DTS: 211552 < 211553 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 219888 DTS: 219184 < 219185 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 229280 DTS: 228048 < 228049 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 228048 DTS: 228048 < 228050 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 229936 DTS: 229280 < 229281 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 235808 DTS: 235808 < 235809 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 237680 DTS: 237632 < 237633 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 238336 DTS: 237632 < 237634 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 244912 DTS: 244208 < 244209 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 244752 DTS: 244208 < 244210 invalid, clipping frame= 470 fps=469 q=-1.0 size= 1354kB time=00:00:15.30 bitrate= 724.3kbits/ st:0 PTS: 260688 DTS: 259984 < 259985 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 264784 DTS: 264112 < 264113 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 269344 DTS: 268640 < 268641 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 278464 DTS: 278416 < 278417 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 279152 DTS: 278416 < 278418 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 285712 DTS: 285712 < 285713 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 287696 DTS: 286960 < 286961 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 305152 DTS: 304928 < 304929 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 310240 DTS: 310240 < 310241 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 311856 DTS: 311152 < 311153 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 320736 DTS: 319824 < 319825 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 320368 DTS: 319824 < 319826 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 328496 DTS: 327792 < 327793 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 330432 DTS: 329712 < 329713 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 332512 DTS: 331808 < 331809 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 336624 DTS: 335968 < 335969 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 344496 DTS: 344112 < 344113 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 353168 DTS: 352304 < 352305 invalid, clipping frame= 676 fps=450 q=-1.0 size= 1972kB time=00:00:22.46 bitrate= 719.2kbits/ st:0 PTS: 361296 DTS: 360592 < 360593 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 368672 DTS: 368432 < 368433 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 373856 DTS: 373328 < 373329 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 376752 DTS: 376752 < 376753 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 378384 DTS: 377680 < 377681 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 380208 DTS: 380208 < 380209 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 381968 DTS: 381280 < 381281 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 385152 DTS: 384912 < 384913 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 387808 DTS: 387280 < 387281 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 390368 DTS: 389824 < 389825 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 393808 DTS: 393104 < 393105 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 409216 DTS: 409216 < 409217 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 411008 DTS: 410464 < 410465 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 415536 DTS: 414816 < 414817 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 418080 DTS: 416144 < 416145 invalid, clipping frame= 781 fps=390 q=-1.0 size= 2294kB time=00:00:26.01 bitrate= 722.7kbits/ st:0 PTS: 418320 DTS: 418080 < 418081 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 419280 DTS: 418080 < 418082 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 420064 DTS: 419520 < 419521 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 425952 DTS: 425744 < 425745 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 434576 DTS: 433856 < 433857 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 442176 DTS: 440928 < 440929 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 442480 DTS: 442176 < 442177 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 459584 DTS: 458880 < 458881 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 466816 DTS: 466544 < 466545 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 476304 DTS: 475216 < 475217 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 475216 DTS: 475216 < 475218 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 476848 DTS: 476304 < 476305 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 481984 DTS: 481984 < 481985 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 484592 DTS: 483600 < 483601 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 486032 DTS: 485296 < 485297 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 493152 DTS: 492080 < 492081 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 499712 DTS: 499712 < 499713 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 501296 DTS: 500624 < 500625 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 509504 DTS: 508176 < 508177 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 508176 DTS: 508176 < 508178 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 509712 DTS: 509504 < 509505 invalid, clipping [mp4 @ 042c0160] st:0 PTS: 512992 DTS: 512992 < 512993 invalid, clipping frame= 958 fps=380 q=-1.0 Lsize= 2979kB time=00:00:32.15 bitrate= 758.9kbits /s video:2865kB audio:85kB subtitle:0 global headers:0kB muxing overhead 0.980735%
Versions that do manage to convert audio successfully also have same "clipping" warnings.
Change History (9)
comment:1 by , 12 years ago
comment:2 by , 12 years ago
Component: | FFmpeg → avcodec |
---|---|
Keywords: | regression added; audio glitches flv f4v removed |
Priority: | normal → important |
Reproduced by developer: | set |
Status: | new → open |
Regression since 0f1446a.
$ ffmpeg -i m.f4v out.mp2 ffmpeg version N-48393-g8bc7422 Copyright (c) 2000-2013 the FFmpeg developers built on Jan 2 2013 11:23:54 with gcc 4.7 (SUSE Linux) configuration: --enable-libspeex libavutil 52. 13.100 / 52. 13.100 libavcodec 54. 85.100 / 54. 85.100 libavformat 54. 59.100 / 54. 59.100 libavdevice 54. 3.102 / 54. 3.102 libavfilter 3. 30.102 / 3. 30.102 libswscale 2. 1.103 / 2. 1.103 libswresample 0. 17.102 / 0. 17.102 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'm.f4v': Metadata: major_brand : f4v minor_version : 0 compatible_brands: isommp42m4v creation_time : 2033-12-20 03:47:04 Duration: 00:00:32.06, start: 0.000000, bitrate: 768 kb/s Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 732 kb/s, 29.88 fps, 30 tbr, 1k tbn, 60 tbc Metadata: creation_time : 2033-12-20 03:47:04 handler_name : MainConcept Stream #0:1(eng): Audio: speex (spex / 0x78657073), 16000 Hz, mono, s16, 17 kb/s Metadata: creation_time : 2033-12-20 03:47:04 handler_name : Speex Handler Stream #0:2(eng): Data: none (amf0 / 0x30666D61) Metadata: creation_time : 2033-12-20 03:47:04 handler_name : Timed Metadata Handler Output #0, mp2, to 'out.mp2': Metadata: major_brand : f4v minor_version : 0 compatible_brands: isommp42m4v encoder : Lavf54.59.100 Stream #0:0(eng): Audio: mp2, 16000 Hz, mono, s16, 128 kb/s Metadata: creation_time : 2033-12-20 03:47:04 handler_name : Speex Handler Stream mapping: Stream #0:1 -> #0:0 (libspeex -> mp2) Press [q] to stop, [?] for help size= 507kB time=00:00:32.12 bitrate= 129.4kbits/s video:0kB audio:507kB subtitle:0 global headers:0kB muxing overhead 0.000000%
out.mp2 contains audible distortions.
comment:3 by , 12 years ago
Summary: | Audio glitches when converting from flv/f4v - regression from previous verisons → Audio glitches when converting from speex in flv/f4v - regression from previous verisons |
---|
comment:5 by , 12 years ago
Thanks for a fast resolution. Was it already committed in to the master?
I downloaded latest Zeranoe build (January 6th N-48513-gcaee85b) and I can't convert same movie yet. I have an error that is similar to what I got when I used December builds:
"Invalid sample format '(null)'
Error opening filters!"
Here's a full output;
ffmpeg -i m.f4v -vcodec copy m_2013.mp4 ffmpeg version N-48513-gcaee85b Copyright (c) 2000-2013 the FFmpeg developers built on Jan 6 2013 16:11:53 with gcc 4.7.2 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib libavutil 52. 13.100 / 52. 13.100 libavcodec 54. 86.100 / 54. 86.100 libavformat 54. 59.106 / 54. 59.106 libavdevice 54. 3.102 / 54. 3.102 libavfilter 3. 32.100 / 3. 32.100 libswscale 2. 1.103 / 2. 1.103 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 2.100 / 52. 2.100 Guessed Channel Layout for Input Stream #0.1 : mono Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'm.f4v': Metadata: major_brand : f4v minor_version : 0 compatible_brands: isommp42m4v creation_time : 2033-12-20 03:47:04 Duration: 00:00:32.06, start: 0.000000, bitrate: 768 kb/s Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 640x4 80 [SAR 1:1 DAR 4:3], 732 kb/s, 29.88 fps, 30 tbr, 1k tbn, 60 tbc Metadata: creation_time : 2033-12-20 03:47:04 handler_name : MainConcept Stream #0:1(eng): Audio: speex (spex / 0x78657073), 16000 Hz, mono, 17 kb/s Metadata: creation_time : 2033-12-20 03:47:04 handler_name : Speex Handler Stream #0:2(eng): Data: none (amf0 / 0x30666D61) Metadata: creation_time : 2033-12-20 03:47:04 handler_name : Timed Metadata Handler File 'm_2013.mp4' already exists. Overwrite ? [y/N] y Invalid sample format '(null)' Error opening filters!
If it's a different issue I can open a new ticket.
comment:6 by , 12 years ago
To decode speex audio you need a FFmpeg binary that was compiled with --enable-libspeex.
As attachements limited to 2.5MB you can find all files in the link below:
http://ge.tt/1SHuNZU