Ticket #1183 (closed defect: fixed)

Opened 14 months ago

Last modified 13 months ago

MP4->webm stopped playing in firefox (with git bisect)

Reported by: MarkRose Owned by:
Priority: important Component: avcodec
Version: git-master Keywords: webm regression vorbis audio
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Recently the webm files generated by FFmpeg stopped working in Firefox (although they play fine in Chrome). I've compiled FFmpeg with the latest git of libvpx and x264. Using git bisect, the bad commit is somewhere between 967facb6950549d0cc4e0ba79a056ebc6f93a049 (which configures/compiles with make and produces a bad webm file) and f1fdd208cc0a1fce7aaaf6b0fe72b013525f49e0 (which configures/compiles with make and produces a good webm file). The intermediate commits don't configure properly with the options I use (they complain about an unrecognized --enable-postproc).

I'm compiling ffmpeg with: ./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-libspeex --enable-libschroedinger --enable-hwaccel=h264_vaapi && make clean && make

I'm running ffmpeg like: ffmpeg -y -i 7000000009434.mp4 -vcodec libvpx -b:v 800k -bt 400k -vsync 2 -s 640x358 -acodec libvorbis -ac 2 -ar 44100 -ab 48k -async 441000 7000000009434.webm

The mp4 file is a file outputted from an ffmpeg compiled last week.

I'm doing all the compiling on an up-to-date 64-bit Ubuntu 11.10.

Attachments

7000000009434.mp4 Download (2.0 MB) - added by MarkRose 14 months ago.
Source video file (created with ffmpeg)
7000000009434-2330eb14-video.webm.cut Download (2.4 MB) - added by MarkRose 13 months ago.
Produced video that plays fine.
7000000009434-2330eb14.webm.cut Download (2.4 MB) - added by MarkRose 13 months ago.
Video and audio file that freezes.
7000000009434-2330eb14-audio.webm Download (103.7 KB) - added by MarkRose 13 months ago.
Audio that freezes.
7000000009434-libvorbis.c-audio.webm Download (103.7 KB) - added by MarkRose 13 months ago.
Latest git with libvorbis.c from f1fdd208.
7000000009434-libvorbis.c.webm.cut Download (2.4 MB) - added by MarkRose 13 months ago.
Audio + video file produced with latest git and libvorbis from f1fdd208 (WORKS).

Change History

Changed 14 months ago by MarkRose

Source video file (created with ffmpeg)

comment:1 Changed 14 months ago by cehoyos

  • Keywords firefox removed

Complete, uncut console output missing.

Is the problem also reproducible with -an / -vn?
Is the problem fixed in the newer revision if you use libavcodec/libvorbis.c (and possibly libavcodec/Makefile) from the older revision?

comment:2 Changed 14 months ago by MarkRose

The console output doesn't reveal much.

Good webm console output (f1fdd208cc0a1fce7aaaf6b0fe72b013525f49e0):

ffmpeg version N-37074-gf1fdd20 Copyright (c) 2000-2012 the FFmpeg developers
  built on Apr 10 2012 00:16:34 with gcc 4.6.1
  configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-libspeex --enable-libschroedinger --enable-hwaccel=h264_vaapi
  libavutil      51. 44.100 / 51. 44.100
  libavcodec     54. 12.100 / 54. 12.100
  libavformat    54.  2.100 / 54.  2.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 65.102 /  2. 65.102
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0.  7.100 /  0.  7.100
  libpostproc    52.  0.100 / 52.  0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x1b143a0] multiple edit list entries, a/v desync might occur, patch welcome
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '7000000009434.mp4':                                                                                                                                                                                                                                                                                
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.3.100
  Duration: 00:00:26.34, start: 0.000000, bitrate: 644 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 640x358, 593 kb/s, 20.29 fps, 30 tbr, 30 tbn, 60 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 45 kb/s
    Metadata:
      handler_name    : 
[buffer @ 0x1b132a0] w:640 h:358 pixfmt:yuv420p tb:1/1000000 sar:0/1 sws_param:
Incompatible sample format 's16' for codec 'libvorbis', auto-selecting format 'flt'
[libvpx @ 0x1b31c20] v1.0.0-151-g24ccd56                                                                                                                                                                                                                                                                                                    
Output #0, webm, to '7000000009434.webm':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.2.100
    Stream #0:0(und): Video: vp8, yuv420p, 640x358, q=-1--1, 800 kb/s, 1k tbn, 30 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: vorbis, 44100 Hz, 2 channels, flt, 48 kb/s
    Metadata:
      handler_name    : 
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> libvpx)
  Stream #0:1 -> #0:1 (aac -> libvorbis)
Press [q] to stop, [?] for help
frame=  533 fps= 39 q=0.0 Lsize=    3697kB time=00:00:26.23 bitrate=1154.5kbits/s    
video:3590kB audio:95kB global headers:4kB muxing overhead 0.235802%

Bad webm console output (967facb6950549d0cc4e0ba79a056ebc6f93a049):

ffmpeg version N-37101-g967facb Copyright (c) 2000-2012 the FFmpeg developers
  built on Apr  9 2012 23:30:05 with gcc 4.6.1
  configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-libspeex --enable-libschroedinger --enable-hwaccel=h264_vaapi
  libavutil      51. 44.100 / 51. 44.100
  libavcodec     54. 12.100 / 54. 12.100
  libavformat    54.  2.100 / 54.  2.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 65.102 /  2. 65.102
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0.  7.100 /  0.  7.100
  libpostproc    52.  0.100 / 52.  0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x29423a0] multiple edit list entries, a/v desync might occur, patch welcome
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '7000000009434.mp4':                                                                                                                                                                                                                                                                                
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.3.100
  Duration: 00:00:26.34, start: 0.000000, bitrate: 644 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 640x358, 593 kb/s, 20.29 fps, 30 tbr, 30 tbn, 60 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 45 kb/s
    Metadata:
      handler_name    : 
[buffer @ 0x2941440] w:640 h:358 pixfmt:yuv420p tb:1/1000000 sar:0/1 sws_param:
Incompatible sample format 's16' for codec 'libvorbis', auto-selecting format 'flt'
[libvpx @ 0x295fc20] v1.0.0-151-g24ccd56                                                                                                                                                                                                                                                                                                    
Output #0, webm, to '7000000009434.webm':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.2.100
    Stream #0:0(und): Video: vp8, yuv420p, 640x358, q=-1--1, 800 kb/s, 1k tbn, 30 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: vorbis, 44100 Hz, 2 channels, flt, 48 kb/s
    Metadata:
      handler_name    : 
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> libvpx)
  Stream #0:1 -> #0:1 (aac -> libvorbis)
Press [q] to stop, [?] for help
frame=  533 fps= 39 q=0.0 Lsize=    3697kB time=00:00:26.23 bitrate=1154.5kbits/s    
video:3590kB audio:95kB global headers:4kB muxing overhead 0.235802%

I didn't try to reproduce the problem without video/audio (I need both). Audio does seem to keep playing in Firefox while the video freezes.

I may have time to play with the libvorbis.c tomorrow.

comment:3 follow-up: ↓ 4 Changed 13 months ago by magon

I do have the same problem with ffmpeg version 0.10.2. And the problem is still there even without audio.

I am converting MPEG-2 files to webm on "x86_64 Pentium(R) Dual-Core CPU E6600 @ 3.06GHz GenuineIntel? GNU/Linux".

Last edited 13 months ago by magon (previous) (diff)

comment:4 in reply to: ↑ 3 Changed 13 months ago by cehoyos

Replying to magon:

I do have the same problem with ffmpeg version 0.10.2.

Please test current git head and please provide complete, uncut console output.

And the problem is still there even without audio.

If I understand correctly, please provide output with -an

comment:5 Changed 13 months ago by magon

Ok, tested against current git head(at least I hope it is).

Video & Audio:

ffmpeg -y -i "/home/magon/video-galery/django-photologue/media/photologue/media/a1.mpg" -codec:v libvpx -vpre libvpx-360p -quality good -cpu-used 0 -b:v 1200k -qmin 10 -qmax 42 -maxrate 1200k -bufsize 2400k -threads 2  -vf scale=854:480 -codec:a libvorbis -ar 44100 -b:a 128k -f webm /home/magon/video-galery/django-photologue/media/photologue/media/cache/a1_display_webm.webm
ffmpeg version N-40282-gb197c1c Copyright (c) 2000-2012 the FFmpeg developers
  built on May  2 2012 18:34:11 with gcc 4.5.2
  configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --enable-shared --cc=i686-pc-linux-gnu-gcc --cxx=i686-pc-linux-gnu-g++ --ar=i686-pc-linux-gnu-ar --optflags='-O2 -march=native -fomit-frame-pointer -pipe -U_FORTIFY_SOURCE' --extra-cflags='-O2 -march=native -fomit-frame-pointer -pipe -U_FORTIFY_SOURCE' --extra-cxxflags='-O2 -march=native -fomit-frame-pointer -pipe -U_FORTIFY_SOURCE' --disable-static --enable-gpl --enable-version3 --enable-postproc --enable-avfilter --disable-stripping --disable-debug --disable-doc --disable-vdpau --enable-gnutls --enable-libmp3lame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-libaacplus --enable-nonfree --enable-libfaac --enable-nonfree --enable-libdc1394 --disable-indev=v4l --disable-indev=v4l2 --disable-indev=oss --disable-indev=jack --enable-x11grab --enable-libpulse --disable-outdev=oss --enable-libfreetype --enable-pthreads --enable-libopencore-amr  libavutil      51. 49.100 / 51. 49.100
  libavcodec     54. 17.101 / 54. 17.101
  libavformat    54.  3.100 / 54.  3.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 72.102 /  2. 72.102
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 11.100 /  0. 11.100
  libpostproc    52.  0.100 / 52.  0.100
Input #0, mpeg, from '/home/magon/video-galery/django-photologue/media/photologue/media/a1.mpg':
  Duration: 00:00:04.76, start: 0.111722, bitrate: 6487 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x576 [SAR 64:45 DAR 16:9], 9100 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x80]: Audio: ac3, 48000 Hz, stereo, s16, 256 kb/s
[buffer @ 0x8a29d00] w:720 h:576 pixfmt:yuv420p tb:1/1000000 sar:64/45 sws_param:flags=2
[scale @ 0x8a3fe50] w:720 h:576 fmt:yuv420p sar:64/45 -> w:854 h:480 fmt:yuv420p sar:1280/1281 flags:0x4
Incompatible sample format 's16' for codec 'libvorbis', auto-selecting format 'flt'
[libvpx @ 0x8a2a7e0] v0.9.6
Output #0, webm, to '/home/magon/video-galery/django-photologue/media/photologue/media/cache/a1_display_webm.webm':
  Metadata:
    encoder         : Lavf54.3.100
    Stream #0:0: Video: vp8, yuv420p, 854x480 [SAR 1280:1281 DAR 16:9], q=10-42, 768 kb/s, 1k tbn, 25 tbc
    Stream #0:1: Audio: vorbis, 44100 Hz, stereo, flt, 128 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg2video -> libvpx)
  Stream #0:1 -> #0:1 (ac3 -> libvorbis)
Press [q] to stop, [?] for help
[mpeg2video @ 0x8a29770] warning: first frame is no keyframe
frame=  120 fps=7.1 q=0.0 Lsize=     576kB time=00:00:04.80 bitrate= 983.1kbits/s
video:494kB audio:75kB global headers:4kB muxing overhead 0.501624%

Video:

ffmpeg -y -i "/home/magon/video-galery/django-photologue/media/photologue/media/a1.mpg" -codec:v libvpx -vpre libvpx-360p -quality good -cpu-used 0 -b:v 1200k -qmin 10 -qmax 42 -maxrate 1200k -bufsize 2400k -threads 2  -vf scale=854:480 -an -f webm /home/magon/video-galery/django-photologue/media/photologue/media/cache/a1_display_webm.webm
ffmpeg version N-40282-gb197c1c Copyright (c) 2000-2012 the FFmpeg developers
  built on May  2 2012 18:34:11 with gcc 4.5.2
  configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --enable-shared --cc=i686-pc-linux-gnu-gcc --cxx=i686-pc-linux-gnu-g++ --ar=i686-pc-linux-gnu-ar --optflags='-O2 -march=native -fomit-frame-pointer -pipe -U_FORTIFY_SOURCE' --extra-cflags='-O2 -march=native -fomit-frame-pointer -pipe -U_FORTIFY_SOURCE' --extra-cxxflags='-O2 -march=native -fomit-frame-pointer -pipe -U_FORTIFY_SOURCE' --disable-static --enable-gpl --enable-version3 --enable-postproc --enable-avfilter --disable-stripping --disable-debug --disable-doc --disable-vdpau --enable-gnutls --enable-libmp3lame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-libaacplus --enable-nonfree --enable-libfaac --enable-nonfree --enable-libdc1394 --disable-indev=v4l --disable-indev=v4l2 --disable-indev=oss --disable-indev=jack --enable-x11grab --enable-libpulse --disable-outdev=oss --enable-libfreetype --enable-pthreads --enable-libopencore-amr  libavutil      51. 49.100 / 51. 49.100
  libavcodec     54. 17.101 / 54. 17.101
  libavformat    54.  3.100 / 54.  3.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 72.102 /  2. 72.102
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 11.100 /  0. 11.100
  libpostproc    52.  0.100 / 52.  0.100
Input #0, mpeg, from '/home/magon/video-galery/django-photologue/media/photologue/media/a1.mpg':
  Duration: 00:00:04.76, start: 0.111722, bitrate: 6487 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x576 [SAR 64:45 DAR 16:9], 9100 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x80]: Audio: ac3, 48000 Hz, stereo, s16, 256 kb/s
[buffer @ 0x97ec2a0] w:720 h:576 pixfmt:yuv420p tb:1/1000000 sar:64/45 sws_param:flags=2
[scale @ 0x97eabd0] w:720 h:576 fmt:yuv420p sar:64/45 -> w:854 h:480 fmt:yuv420p sar:1280/1281 flags:0x4
[libvpx @ 0x97eb670] v0.9.6
Output #0, webm, to '/home/magon/video-galery/django-photologue/media/photologue/media/cache/a1_display_webm.webm':
  Metadata:
    encoder         : Lavf54.3.100
    Stream #0:0: Video: vp8, yuv420p, 854x480 [SAR 1280:1281 DAR 16:9], q=10-42, 768 kb/s, 1k tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg2video -> libvpx)
Press [q] to stop, [?] for help
[mpeg2video @ 0x97ea770] warning: first frame is no keyframe
frame=  120 fps=7.6 q=0.0 Lsize=     498kB time=00:00:04.80 bitrate= 849.3kbits/s
video:496kB audio:0kB global headers:0kB muxing overhead 0.260896%

Audio:

ffmpeg -y -i "/home/magon/video-galery/django-photologue/media/photologue/media/a1.mpg" -vn -codec:a libvorbis -ar 44100 -b:a 128k -f webm /home/magon/video-galery/django-photologue/media/photologue/media/cache/a1_display_webm.webm
ffmpeg version N-40282-gb197c1c Copyright (c) 2000-2012 the FFmpeg developers
  built on May  2 2012 18:34:11 with gcc 4.5.2
  configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --enable-shared --cc=i686-pc-linux-gnu-gcc --cxx=i686-pc-linux-gnu-g++ --ar=i686-pc-linux-gnu-ar --optflags='-O2 -march=native -fomit-frame-pointer -pipe -U_FORTIFY_SOURCE' --extra-cflags='-O2 -march=native -fomit-frame-pointer -pipe -U_FORTIFY_SOURCE' --extra-cxxflags='-O2 -march=native -fomit-frame-pointer -pipe -U_FORTIFY_SOURCE' --disable-static --enable-gpl --enable-version3 --enable-postproc --enable-avfilter --disable-stripping --disable-debug --disable-doc --disable-vdpau --enable-gnutls --enable-libmp3lame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-libaacplus --enable-nonfree --enable-libfaac --enable-nonfree --enable-libdc1394 --disable-indev=v4l --disable-indev=v4l2 --disable-indev=oss --disable-indev=jack --enable-x11grab --enable-libpulse --disable-outdev=oss --enable-libfreetype --enable-pthreads --enable-libopencore-amr  libavutil      51. 49.100 / 51. 49.100
  libavcodec     54. 17.101 / 54. 17.101
  libavformat    54.  3.100 / 54.  3.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 72.102 /  2. 72.102
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 11.100 /  0. 11.100
  libpostproc    52.  0.100 / 52.  0.100
Input #0, mpeg, from '/home/magon/video-galery/django-photologue/media/photologue/media/a1.mpg':
  Duration: 00:00:04.76, start: 0.111722, bitrate: 6487 kb/s
    Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x576 [SAR 64:45 DAR 16:9], 9100 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x80]: Audio: ac3, 48000 Hz, stereo, s16, 256 kb/s
Incompatible sample format 's16' for codec 'libvorbis', auto-selecting format 'flt'
Output #0, webm, to '/home/magon/video-galery/django-photologue/media/photologue/media/cache/a1_display_webm.webm':
  Metadata:
    encoder         : Lavf54.3.100
    Stream #0:0: Audio: vorbis, 44100 Hz, stereo, flt, 128 kb/s
Stream mapping:
  Stream #0:1 -> #0:0 (ac3 -> libvorbis)
Press [q] to stop, [?] for help
size=      64kB time=00:00:04.80 bitrate= 109.5kbits/s    
video:0kB audio:58kB global headers:4kB muxing overhead 3.141131%

Non of them works in firefox 4 (ffmpeg 0.10.2 video&audio also tested on current firefox).
Every video does play in mplayer. Audio plays in vlc(my VLC seems to not have VP80 codec).

comment:6 Changed 13 months ago by cehoyos

  • Keywords regression added
  • Priority changed from normal to important
  • Version changed from unspecified to git-master
  • Status changed from new to open

Can you confirm that all three commands produce firefox-playable files with f1fdd20 (git checkout f1fdd20)?

comment:7 Changed 13 months ago by magon

Ok. The problem is still there in f1fdd20. So this seems unrelevant.

I am upgrading firefox right now. When I have current firefox, I will do new tests.

P.S.: But still the firefox 4 is able to play youtube.com webm videos. And also test video from  http://videojs.com/.

Last edited 13 months ago by magon (previous) (diff)

comment:8 Changed 13 months ago by magon

Ok. Conclusion is simple. Wrong was web server.
I was not suspecting web server at first, because I have used apache AND django development server. Both
looked the same, firefox not working, chrome working.
Solution is to make shure, that webm video is sent with mime-type 'video/webm'. Seems that it is important for firefox, but is unimportant for chrome. It works both for ffmpeg 0.10.2 and for git head, with video & audio. I am still using firefox 4.

Please mark this as invalid. I do apologize.

comment:9 Changed 13 months ago by reimar

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

Ok, thanks for informing us.

comment:10 Changed 13 months ago by MarkRose

  • Status changed from closed to reopened
  • Resolution invalid deleted

*MY* bug is still not fixed, nor is it invalid.

I tested just now with recompiling the latest git of libvpx, x264, and ffmpeg (2330eb14). Webm videos still don't play in Firefox (but plays in Chrome). The bug exists whether serving over HTTP, HTTPS, or straight off the filesystem ( file://tmp/7000000009434.webm), and older version off FFmpeg worked fine over both HTTP and HTTPS, so having a mime-type issues are irrelevant to my bug.

A video only webm file works. Webm files with audio (vorbis) fail.

Here is the full output (with video and audio -- freezes):

$ ffmpeg -y -i 7000000009434.mp4 -vcodec libvpx -b:v 800k -bt 400k -vsync 2 -s 640x358 -acodec libvorbis -ac 2 -ar 44100 -ab 48k -async 441000 7000000009434-2330eb14.webm
ffmpeg version N-38358-g2330eb1 Copyright (c) 2000-2012 the FFmpeg developers
  built on May  2 2012 20:12:24 with gcc 4.6.1
  configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-libspeex --enable-libschroedinger --enable-hwaccel=h264_vaapi
  libavutil      51. 49.100 / 51. 49.100
  libavcodec     54. 17.101 / 54. 17.101
  libavformat    54.  3.100 / 54.  3.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 72.103 /  2. 72.103
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 11.100 /  0. 11.100
  libpostproc    52.  0.100 / 52.  0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x1b150e0] multiple edit list entries, a/v desync might occur, patch welcome
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '7000000009434.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.3.100
  Duration: 00:00:26.34, start: 0.000000, bitrate: 644 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 640x358, 593 kb/s, 20.29 fps, 30 tbr, 30 tbn, 60 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 45 kb/s
    Metadata:
      handler_name    : SoundHandler
[buffer @ 0x1b111a0] w:640 h:358 pixfmt:yuv420p tb:1/1000000 sar:0/1 sws_param:flags=2
[scale @ 0x1b119a0] w:640 h:358 fmt:yuv420p sar:0/1 -> w:640 h:358 fmt:yuv420p sar:0/1 flags:0x4
Incompatible sample format 's16' for codec 'libvorbis', auto-selecting format 'flt'
[libvpx @ 0x1b27520] v1.0.0-183-g73423f7
Output #0, webm, to '7000000009434-2330eb14.webm':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.3.100
    Stream #0:0(und): Video: vp8, yuv420p, 640x358, q=-1--1, 800 kb/s, 1k tbn, 30 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: vorbis, 44100 Hz, stereo, flt, 48 kb/s
    Metadata:
      handler_name    : SoundHandler
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> libvpx)
  Stream #0:1 -> #0:1 (aac -> libvorbis)
Press [q] to stop, [?] for help
frame=  533 fps= 17 q=0.0 Lsize=    3697kB time=00:00:26.23 bitrate=1154.5kbits/s    
video:3590kB audio:95kB global headers:4kB muxing overhead 0.235802%

Here is the full output (video only -- plays):

ffmpeg -y -i 7000000009434.mp4 -vcodec libvpx -b:v 800k -bt 400k -vsync 2 -s 640x358 -an 7000000009434-2330eb14-video.webmffmpeg version N-38358-g2330eb1 Copyright (c) 2000-2012 the FFmpeg developers
  built on May  2 2012 20:12:24 with gcc 4.6.1
  configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-libspeex --enable-libschroedinger --enable-hwaccel=h264_vaapi
  libavutil      51. 49.100 / 51. 49.100
  libavcodec     54. 17.101 / 54. 17.101
  libavformat    54.  3.100 / 54.  3.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 72.103 /  2. 72.103
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 11.100 /  0. 11.100
  libpostproc    52.  0.100 / 52.  0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x23f70e0] multiple edit list entries, a/v desync might occur, patch welcome
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '7000000009434.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.3.100
  Duration: 00:00:26.34, start: 0.000000, bitrate: 644 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 640x358, 593 kb/s, 20.29 fps, 30 tbr, 30 tbn, 60 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 45 kb/s
    Metadata:
      handler_name    : SoundHandler
[buffer @ 0x2408f40] w:640 h:358 pixfmt:yuv420p tb:1/1000000 sar:0/1 sws_param:flags=2
[scale @ 0x2415040] w:640 h:358 fmt:yuv420p sar:0/1 -> w:640 h:358 fmt:yuv420p sar:0/1 flags:0x4
[libvpx @ 0x2409520] v1.0.0-183-g73423f7
Output #0, webm, to '7000000009434-2330eb14-video.webm':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.3.100
    Stream #0:0(und): Video: vp8, yuv420p, 640x358, q=-1--1, 800 kb/s, 1k tbn, 30 tbc
    Metadata:
      handler_name    : VideoHandler
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> libvpx)
Press [q] to stop, [?] for help
frame=  533 fps= 14 q=0.0 Lsize=    3594kB time=00:00:26.23 bitrate=1122.2kbits/s    
video:3590kB audio:0kB global headers:0kB muxing overhead 0.119977%

Here is the full output (audio only -- freezes):

ffmpeg -y -i 7000000009434.mp4 -vn -acodec libvorbis -ac 2 -ar 44100 -ab 48k -async 441000 7000000009434-2330eb14-audio.webm
ffmpeg version N-38358-g2330eb1 Copyright (c) 2000-2012 the FFmpeg developers
  built on May  2 2012 20:12:24 with gcc 4.6.1
  configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-libspeex --enable-libschroedinger --enable-hwaccel=h264_vaapi
  libavutil      51. 49.100 / 51. 49.100
  libavcodec     54. 17.101 / 54. 17.101
  libavformat    54.  3.100 / 54.  3.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 72.103 /  2. 72.103
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 11.100 /  0. 11.100
  libpostproc    52.  0.100 / 52.  0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x18eb0e0] multiple edit list entries, a/v desync might occur, patch welcome
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '7000000009434.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.3.100
  Duration: 00:00:26.34, start: 0.000000, bitrate: 644 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 640x358, 593 kb/s, 20.29 fps, 30 tbr, 30 tbn, 60 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 45 kb/s
    Metadata:
      handler_name    : SoundHandler
Incompatible sample format 's16' for codec 'libvorbis', auto-selecting format 'flt'
Output #0, webm, to '7000000009434-2330eb14-audio.webm':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.3.100
    Stream #0:0(und): Audio: vorbis, 44100 Hz, stereo, flt, 48 kb/s
    Metadata:
      handler_name    : SoundHandler
Stream mapping:
  Stream #0:1 -> #0:0 (aac -> libvorbis)
Press [q] to stop, [?] for help
size=     104kB time=00:00:26.34 bitrate=  32.2kbits/s    
video:0kB audio:95kB global headers:4kB muxing overhead 4.901912%

Changed 13 months ago by MarkRose

Produced video that plays fine.

Changed 13 months ago by MarkRose

Video and audio file that freezes.

Changed 13 months ago by MarkRose

Audio that freezes.

comment:11 Changed 13 months ago by cehoyos

Did you try with older libvorbis.c ?

comment:12 Changed 13 months ago by MarkRose

Haven't yet. I'll give it a whirl shortly.

comment:13 Changed 13 months ago by MarkRose

Using libvorbis.c from f1fdd208 works. It produces both audio+video and audio only files that work fine.

Audio + video:

ffmpeg -y -i 7000000009434.mp4 -vcodec libvpx -b:v 800k -bt 400k -vsync 2 -s 640x358 -acodec libvorbis -ac 2 -ar 44100 -ab 48k -async 441000 7000000009434-libvorbis.c.webm
ffmpeg version N-38358-g2330eb1 Copyright (c) 2000-2012 the FFmpeg developers
  built on May  3 2012 00:00:25 with gcc 4.6.1
  configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-libspeex --enable-libschroedinger --enable-hwaccel=h264_vaapi
  libavutil      51. 49.100 / 51. 49.100
  libavcodec     54. 17.101 / 54. 17.101
  libavformat    54.  3.100 / 54.  3.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 72.103 /  2. 72.103
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 11.100 /  0. 11.100
  libpostproc    52.  0.100 / 52.  0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x36520e0] multiple edit list entries, a/v desync might occur, patch welcome
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '7000000009434.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.3.100
  Duration: 00:00:26.34, start: 0.000000, bitrate: 644 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 640x358, 593 kb/s, 20.29 fps, 30 tbr, 30 tbn, 60 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 45 kb/s
    Metadata:
      handler_name    : SoundHandler
[buffer @ 0x364dfc0] w:640 h:358 pixfmt:yuv420p tb:1/1000000 sar:0/1 sws_param:flags=2
[scale @ 0x364e7c0] w:640 h:358 fmt:yuv420p sar:0/1 -> w:640 h:358 fmt:yuv420p sar:0/1 flags:0x4
Incompatible sample format 's16' for codec 'libvorbis', auto-selecting format 'flt'
[libvpx @ 0x3664520] v1.0.0-183-g73423f7
Output #0, webm, to '7000000009434-libvorbis.c.webm':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.3.100
    Stream #0:0(und): Video: vp8, yuv420p, 640x358, q=-1--1, 800 kb/s, 1k tbn, 30 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: vorbis, 44100 Hz, stereo, flt, 48 kb/s
    Metadata:
      handler_name    : SoundHandler
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> libvpx)
  Stream #0:1 -> #0:1 (aac -> libvorbis)
Press [q] to stop, [?] for help
frame=  533 fps= 17 q=0.0 Lsize=    3697kB time=00:00:26.23 bitrate=1154.5kbits/s    
video:3590kB audio:95kB global headers:4kB muxing overhead 0.235802%

Audio:

ffmpeg -y -i 7000000009434.mp4 -vn -acodec libvorbis -ac 2 -ar 44100 -ab 48k -async 441000 7000000009434-libvorbis.c-audio.webmffmpeg version N-38358-g2330eb1 Copyright (c) 2000-2012 the FFmpeg developers
  built on May  3 2012 00:00:25 with gcc 4.6.1
  configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-libspeex --enable-libschroedinger --enable-hwaccel=h264_vaapi
  libavutil      51. 49.100 / 51. 49.100
  libavcodec     54. 17.101 / 54. 17.101
  libavformat    54.  3.100 / 54.  3.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 72.103 /  2. 72.103
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 11.100 /  0. 11.100
  libpostproc    52.  0.100 / 52.  0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x307b0e0] multiple edit list entries, a/v desync might occur, patch welcome
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '7000000009434.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.3.100
  Duration: 00:00:26.34, start: 0.000000, bitrate: 644 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 640x358, 593 kb/s, 20.29 fps, 30 tbr, 30 tbn, 60 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 45 kb/s
    Metadata:
      handler_name    : SoundHandler
Incompatible sample format 's16' for codec 'libvorbis', auto-selecting format 'flt'
Output #0, webm, to '7000000009434-libvorbis.c-audio.webm':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.3.100
    Stream #0:0(und): Audio: vorbis, 44100 Hz, stereo, flt, 48 kb/s
    Metadata:
      handler_name    : SoundHandler
Stream mapping:
  Stream #0:1 -> #0:0 (aac -> libvorbis)
Press [q] to stop, [?] for help
size=     104kB time=00:00:26.35 bitrate=  32.2kbits/s    
video:0kB audio:95kB global headers:4kB muxing overhead 4.901912%

Changed 13 months ago by MarkRose

Latest git with libvorbis.c from f1fdd208.

Changed 13 months ago by MarkRose

Audio + video file produced with latest git and libvorbis from f1fdd208 (WORKS).

comment:14 Changed 13 months ago by cehoyos

  • Component changed from undetermined to avcodec

Related to e5aab2d.

Which firefox version did you test?

Did you see problems with another playback application?

comment:15 Changed 13 months ago by MarkRose

I tried in Firefox 11 and 12. It doesn't work on any platform (Linux, Mac, Windows).

I haven't seen problems in any other applications that I've tried (Google Chrome, Dragon, VLC, Kaffeine, Totem).

comment:16 Changed 13 months ago by michael

  • Keywords vorbis audio added
  • Status changed from reopened to closed
  • Resolution set to fixed
  • Reproduced by developer set

Should be fixed

Note: See TracTickets for help on using tickets.