Opened 10 years ago

Closed 10 years ago

#1183 closed defect (fixed)

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

Reported by: Mark Rose 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 (6)

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

Change History (22)

by Mark Rose, 10 years ago

Attachment: 7000000009434.mp4 added

Source video file (created with ffmpeg)

comment:1 by Carl Eugen Hoyos, 10 years ago

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 by Mark Rose, 10 years ago

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 by magon, 10 years ago

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 10 years ago by magon (previous) (diff)

in reply to:  3 comment:4 by Carl Eugen Hoyos, 10 years ago

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 by magon, 10 years ago

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 by Carl Eugen Hoyos, 10 years ago

Keywords: regression added
Priority: normalimportant
Status: newopen
Version: unspecifiedgit-master

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

comment:7 by magon, 10 years ago

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 10 years ago by magon (previous) (diff)

comment:8 by magon, 10 years ago

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 by reimar, 10 years ago

Resolution: invalid
Status: openclosed

Ok, thanks for informing us.

comment:10 by Mark Rose, 10 years ago

Resolution: invalid
Status: closedreopened

*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%

by Mark Rose, 10 years ago

Produced video that plays fine.

by Mark Rose, 10 years ago

Video and audio file that freezes.

by Mark Rose, 10 years ago

Audio that freezes.

comment:11 by Carl Eugen Hoyos, 10 years ago

Did you try with older libvorbis.c ?

comment:12 by Mark Rose, 10 years ago

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

comment:13 by Mark Rose, 10 years ago

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%

by Mark Rose, 10 years ago

Latest git with libvorbis.c from f1fdd208.

by Mark Rose, 10 years ago

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

comment:14 by Carl Eugen Hoyos, 10 years ago

Component: undeterminedavcodec

Related to e5aab2d.

Which firefox version did you test?

Did you see problems with another playback application?

comment:15 by Mark Rose, 10 years ago

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 by Michael Niedermayer, 10 years ago

Keywords: vorbis audio added
Reproduced by developer: set
Resolution: fixed
Status: reopenedclosed

Should be fixed

Note: See TracTickets for help on using tickets.