Opened 5 years ago

Closed 5 years ago

#423 closed defect (worksforme)

ffmpeg.exe MOV to WebM x64 crash

Reported by: mrgenie Owned by: michael
Priority: important Component: undetermined
Version: unspecified Keywords: webM x64 crash
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

I'm trying to transcode a MOV recorded with a canon camera to webM

ffmpeg simply crashed

commands: C:\Users\Vincent\Documents\Visual Studio 2010\Home Media Builder\Home Media Webbuilder\bin\Debug>ffmpeg64.exe -v 9 -loglevel 99 -i "C:\Users\Vincent\Documents\Visual Studio 2010\Home Media Builder\TestWebFiles?\videos\2004\2004_03_March\2004_03_23\2004-03-23_001.MOV" -acodec libvorbis -ab 192k -strict experimental -ar 44100 -b 400k -f webm -vcodec libvpx "C:\Users\Vincent\Documents\Visual Studio 2010\Home Media Builder\TestWebFiles?\videos\2004\2004_03_March\2004_03_23\2004-03-23_001.WEBM"

following is a copy paste of my command prompt output:

ffmpeg version N-32138-g312645e, Copyright (c) 2000-2011 the FFmpeg developers

built on Aug 28 2011 21:15:09 with gcc 4.6.1
configuration: --enable-gpl --enable-version3 --enable-memalign-hack --enable-runtime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libopencore-amrnb --enable-libopencore-amrwb

--enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enabl

e-libx264 --enable-libxavs --enable-libxvid --enable-zlib

libavutil 51. 14. 0 / 51. 14. 0
libavcodec 53. 12. 0 / 53. 12. 0
libavformat 53. 10. 0 / 53. 10. 0
libavdevice 53. 3. 0 / 53. 3. 0
libavfilter 2. 35. 0 / 2. 35. 0
libswscale 2. 0. 0 / 2. 0. 0
libpostproc 51. 2. 0 / 51. 2. 0

[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000002DFFE0] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000002DFFE0] ISO: File Type Major Brand: qt
[mjpeg @ 00000000002F2A40] Unsupported bit depth: 0
[mjpeg @ 00000000002F2A40] buffer too small, expanding to 17388 bytes
[mjpeg @ 00000000002F2A40] marker=d8 avail_size_in_buf=td
[mjpeg @ 00000000002F2A40] marker parser used 0 bytes (0 bits)
[mjpeg @ 00000000002F2A40] marker=e0 avail_size_in_buf=td
[mjpeg @ 00000000002F2A40] marker parser used 16 bytes (128 bits)
[mjpeg @ 00000000002F2A40] marker=dd avail_size_in_buf=td
[mjpeg @ 00000000002F2A40] restart interval: 0
[mjpeg @ 00000000002F2A40] marker parser used 4 bytes (32 bits)
[mjpeg @ 00000000002F2A40] marker=db avail_size_in_buf=td
[mjpeg @ 00000000002F2A40] index=0
[mjpeg @ 00000000002F2A40] qscale[0]: 2
[mjpeg @ 00000000002F2A40] index=1
[mjpeg @ 00000000002F2A40] qscale[1]: 4
[mjpeg @ 00000000002F2A40] marker parser used 132 bytes (1056 bits)
[mjpeg @ 00000000002F2A40] marker=c0 avail_size_in_buf=td
[mjpeg @ 00000000002F2A40] sof0: picture: 320x240
[mjpeg @ 00000000002F2A40] component 0 2:1 id: 0 quant:0
[mjpeg @ 00000000002F2A40] component 1 1:1 id: 1 quant:1
[mjpeg @ 00000000002F2A40] component 2 1:1 id: 2 quant:1
[mjpeg @ 00000000002F2A40] pix fmt id 21111100
[mjpeg @ 00000000002F2A40] marker parser used 17 bytes (136 bits)
[mjpeg @ 00000000002F2A40] marker=e2 avail_size_in_buf=td
[mjpeg @ 00000000002F2A40] marker parser used 417 bytes (3336 bits)
[mjpeg @ 00000000002F2A40] escaping removed td bytes
[mjpeg @ 00000000002F2A40] marker=da avail_size_in_buf=td
[mjpeg @ 00000000002F2A40] component: 0
[mjpeg @ 00000000002F2A40] component: 1
[mjpeg @ 00000000002F2A40] component: 2
[mjpeg @ 00000000002F2A40] mjpeg decode frame unused td bytes
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000002DFFE0] All info found

Seems stream 0 codec frame rate differs from container frame rate: 600.00 (600/1) -> 15.00 (15/1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\Users\Vincent\Documents\Visual Studio 2010\Home Media Builder\TestWebFiles?\videos\2004\2004_03_March\2004_03_23\2004-03-23_001.MOV':

Metadata:

major_brand : qt
minor_version : 537199360
compatible_brands: qt
creation_time : 2008-04-06 08:43:57

Duration: 00:00:12.26, start: 0.000000, bitrate: 2203 kb/s

Stream #0.0(eng), 1, 1/600: Video: mjpeg (dmb1 / 0x31626D64), yuvj422p, 320x240, 1/600, 2112 kb/s, 15 fps, 15 tbr, 600 tbn, 600 tbc
Metadata:

creation_time : 2008-04-06 08:43:57

Stream #0.1(eng), 12, 1/11024: Audio: pcm_u8 (raw / 0x20776172), 11024 Hz, 1 channels, u8, 88 kb/s
Metadata:

creation_time : 2008-04-06 08:43:57

File 'C:\Users\Vincent\Documents\Visual Studio 2010\Home Media Builder\TestWebFiles?\videos\2004\2004_03_March\2004_03_23\2004-03-23_001.WEBM' already exists. Overwrite ? [y/N] y
Incompatible pixel format 'yuvj422p' for codec 'libvpx', auto-selecting format 'yuv420p'
[buffer @ 00000000002F1CE0] w:320 h:240 pixfmt:yuvj422p tb:1/1000000 sar:0/1 sws_param:
[buffersink @ 00000000002E3800] auto-inserting filter 'auto-inserted scaler 0' between the filter 'src' and the filter 'out'
[scale @ 00000000002F40A0] w:320 h:240 fmt:yuvj422p -> w:320 h:240 fmt:yuv420p flags:0x4
Incompatible sample format 'u8' for codec 'libvorbis', auto-selecting format 's16'
[libvpx @ 0000000001D3E4E0] v0.9.6
[libvpx @ 0000000001D3E4E0] --prefix=/home/kyle/software/ffmpeg/packages/libvpx/libvpx-v0.9.7-win64 --target=x86_64-win64-gcc
[libvpx @ 0000000001D3E4E0] vpx_codec_enc_cfg
[libvpx @ 0000000001D3E4E0] generic settings

g_usage: 0
g_threads: 0
g_profile: 0
g_w: 320
g_h: 240
g_timebase: {1/30}
g_error_resilient: 0
g_pass: 0
g_lag_in_frames: 0

Attachments (4)

2004-03-23_002.MOV (2.3 MB) - added by mrgenie 5 years ago.
file 001 was too large to upload, file 002 is from the same camera also producing the crash
WER7E48.tmp.WERInternalMetadata.xml (3.4 KB) - added by mbradshaw 5 years ago.
Crash dump file
WERCD72.tmp.appcompat.txt (5.6 KB) - added by mbradshaw 5 years ago.
Crash Dump File
sample_sorenson.mov (80.5 KB) - added by mbradshaw 5 years ago.
One of many sample videoes that produces the error for me

Change History (15)

Changed 5 years ago by mrgenie

file 001 was too large to upload, file 002 is from the same camera also producing the crash

comment:1 Changed 5 years ago by cehoyos

  • Component changed from FFmpeg to undetermined
  • Status changed from new to open

Does the crash also happen if you use -an or -vn?

If the crash only happens with -an, does it also happen if you choose any other video encoder? (Try ffmpeg -i 2004_03_23\2004-03-23_001.MOV -an -qscale 5 out.mkv)

If the crash only happens with -vn, does it also happen if you choose any other audio encoder? (Try ffmpeg -i 2004_03_23\2004-03-23_001.MOV -vn -ar 44100 out.mkv)

backtrace missing (works fine on Windows), please see http://ffmpeg.org/bugreports.html

comment:2 Changed 5 years ago by mrgenie

No, of course I tested other output formats. They work fine. Also the 32bit version of ffmpeg works fine. It only applies to the 64bit version

comment:3 Changed 5 years ago by cehoyos

Backtrace missing, please see http://ffmpeg.org/bugreports.html

Please provide a minimal command line, i.e. one that either contains -an or -vn (or confirm that it does not crash with either).

comment:4 Changed 5 years ago by mrgenie

ffmpeg64.exe -v 9 -loglevel 99 -i "2004-03-23_001.MOV" -acodec libvorbis -ac 2 -ab 96k -ar 44100 -strict experimental -b 400k -vn -f webm -vcodec libvpx "2004-03-23_001.WEBM"

does NOT crash

ffmpeg64.exe -v 9 -loglevel 99 -i "2004-03-23_001.MOV" -acodec libvorbis -ac 2 -ab 96k -ar 44100 -strict experimental -b 400k -an -f webm -vcodec libvpx "2004-03-23_001.WEBM"

does crash

comment:5 Changed 5 years ago by mrgenie

If you encounter a crash bug, please provide the gdb output, backtrace and disassembly using the the ffmpeg_g debug binary as follows:

gdb ffmpeg_g

In gdb, type 'r' for run, along with the rest of the ffmpeg command line:

r <rest of command line>

When gdb encounters its problem, run the following commands and copy/paste the output into your bug report:

bt
disass $pc-32,$pc+32
info all-registers

With older gdb versions, use disass $pc-32 $pc+32.

I have no idea how to do this. I'm just using the ffmpeg.exe

comment:6 Changed 5 years ago by cehoyos

Where does your ffmpeg.exe come from?

comment:7 Changed 5 years ago by mrgenie

from http://ffmpeg.zeranoe.com/builds/ as linked on the http://ffmpeg.org/download.html website

I just googled some, found out people claim the vpxenc.exe of the original makers of the webm standard also crashes on x64.. I'll try this myself, maybe it's a bug from the webM guys

comment:8 Changed 5 years ago by mrgenie

vpxenc.exe x64 doesn't crash, But produces crappy output. Only snow, and video length is under 1 second..

guess something is wrong with their encoder under x64..
their x86 is working just fine..

Changed 5 years ago by mbradshaw

Crash dump file

Changed 5 years ago by mbradshaw

Crash Dump File

comment:9 follow-up: Changed 5 years ago by mbradshaw

I too am having this problem. It's not just with MOV files, as the same thing happened with an MP4 file as well. I was trying to encode a video to VP8/OGG/WebM and ffmpeg crashed. I have attached two files that were generated by Windows from the crash. One describes my computer setup, and the other describes some information about the state of FFmpeg. I have another crash dump file, but it's ~7MB, so it's a little too big to upload here with the file size limit.

Here is the exact output from the console, including my exact command:

C:\Users\mbradshaw\Projects\smicomp\Windows>ffmpeg -i "../samples/sample_sorens
on.mov" -t 10 -ab 45000 -ar 48000 -acodec libvorbis -b:v 362000 -quality best -t
hreads 2 -error-resilient default -nr 0 -vcodec libvpx -f webm -ac 1 -channel_la
yout 4 -vf "scale=177:224" -minrate 362000 -maxrate 362000 -bufsize 362000 -rc_i
nit_occupancy 2172000 -y "ffmpeg_output.webm"
ffmpeg version N-33591-gf884ef0, Copyright (c) 2000-2011 the FFmpeg developers

built on Oct 13 2011 02:26:50 with gcc 4.6.1
configuration: --enable-gpl --enable-version3 --enable-runtime-cpudetect --ena

ble-avisynth --enable-bzlib --enable-frei0r --enable-libopencore-amrnb --enable-
libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-libmp3lame --ena
ble-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --en
able-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis
--enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib

libavutil 51. 21. 0 / 51. 21. 0
libavcodec 53. 20. 1 / 53. 20. 1
libavformat 53. 15. 0 / 53. 15. 0
libavdevice 53. 4. 0 / 53. 4. 0
libavfilter 2. 43. 6 / 2. 43. 6
libswscale 2. 1. 0 / 2. 1. 0
libpostproc 51. 2. 0 / 51. 2. 0

Seems stream 0 codec frame rate differs from container frame rate: 600.00 (600/1
) -> 12.00 (12/1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '../samples/sample_sorenson.mov':

Metadata:

creation_time : 2001-02-19 16:45:54
title : QuickTime? Sample Movie
title-eng : QuickTime? Sample Movie
copyright : -¬ Apple Computer, Inc. 2001
copyright-eng : -¬ Apple Computer, Inc. 2001

Duration: 00:00:05.00, start: 0.000000, bitrate: 131 kb/s

Stream #0:0(eng): Video: svq1 (SVQ1 / 0x31515653), yuv410p, 190x240, 97 kb/s

, 12 fps, 12 tbr, 600 tbn, 600 tbc

Metadata:

creation_time : 2001-02-19 16:45:54

Stream #0:1(eng): Audio: qdm2 (QDM2 / 0x324D4451), 22050 Hz, 2 channels, s16

, 32 kb/s

Metadata:

creation_time : 2001-02-19 16:45:54

Incompatible pixel format 'yuv410p' for codec 'libvpx', auto-selecting format 'y
uv420p'
[buffer @ 000000000034A5A0] w:190 h:240 pixfmt:yuv410p tb:1/1000000 sar:0/1 sws_
param:
[scale @ 00000000002E2890] w:190 h:240 fmt:yuv410p -> w:177 h:224 fmt:yuv420p fl
ags:0x4
[libvpx @ 00000000002DFFD0] v0.9.7-p1
Output #0, webm, to 'ffmpeg_output.webm':

Metadata:

creation_time : 2001-02-19 16:45:54
title : QuickTime? Sample Movie
title-eng : QuickTime? Sample Movie
copyright : -¬ Apple Computer, Inc. 2001
copyright-eng : -¬ Apple Computer, Inc. 2001
encoder : Lavf53.15.0
Stream #0:0(eng): Video: vp8, yuv420p, 177x224, q=-1--1, 362 kb/s, 1k tbn, 1

2 tbc

Metadata:

creation_time : 2001-02-19 16:45:54

Stream #0:1(eng): Audio: vorbis, 48000 Hz, mono, s16, 45 kb/s
Metadata:

creation_time : 2001-02-19 16:45:54

Stream mapping:

Stream #0.0 -> #0.0 (svq1 -> libvpx)
Stream #0.1 -> #0.1 (qdm2 -> libvorbis)

Press [q] to stop, ? for help
[SWR @ 0000000004959BF0] Input channel layout has a different number of channels

than there actually is, ignoring layout

C:\Users\mbradshaw\Projects\smicomp\Windows>


Here is the exact output from FFmpeg about the details for the input video:

C:\Users\mbradshaw\Projects\smicomp\Windows>ffmpeg -v 9 -loglevel 99 -i ..\sampl
es\sample_sorenson.mov
ffmpeg version N-33591-gf884ef0, Copyright (c) 2000-2011 the FFmpeg developers

built on Oct 13 2011 02:26:50 with gcc 4.6.1
configuration: --enable-gpl --enable-version3 --enable-runtime-cpudetect --ena

ble-avisynth --enable-bzlib --enable-frei0r --enable-libopencore-amrnb --enable-
libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-libmp3lame --ena
ble-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --en
able-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis
--enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib

libavutil 51. 21. 0 / 51. 21. 0
libavcodec 53. 20. 1 / 53. 20. 1
libavformat 53. 15. 0 / 53. 15. 0
libavdevice 53. 4. 0 / 53. 4. 0
libavfilter 2. 43. 6 / 2. 43. 6
libswscale 2. 1. 0 / 2. 1. 0
libpostproc 51. 2. 0 / 51. 2. 0

[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000032CFF0] Format mov,mp4,m4a,3gp,3g2,mj2 prob
ed with size=2048 and score=100
[svq1 @ 0000000001B28390] Unsupported bit depth: 0
[qdm2 @ 0000000001B37130] size: 36
init done

Seems stream 0 codec frame rate differs from container frame rate: 600.00 (600/1
) -> 12.00 (12/1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '..\samples\sample_sorenson.mov':

Metadata:

creation_time : 2001-02-19 16:45:54
title : QuickTime? Sample Movie
title-eng : QuickTime? Sample Movie
copyright : -¬ Apple Computer, Inc. 2001
copyright-eng : -¬ Apple Computer, Inc. 2001

Duration: 00:00:05.00, start: 0.000000, bitrate: 131 kb/s

Stream #0:0(eng), 60, 1/600: Video: svq1 (SVQ1 / 0x31515653), yuv410p, 190x2

40, 1/600, 97 kb/s, 12 fps, 12 tbr, 600 tbn, 600 tbc

Metadata:

creation_time : 2001-02-19 16:45:54

Stream #0:1(eng), 53, 1/22050: Audio: qdm2 (QDM2 / 0x324D4451), 22050 Hz, 2

channels, s16, 32 kb/s

Metadata:

creation_time : 2001-02-19 16:45:54

At least one output file must be specified

C:\Users\mbradshaw\Projects\smicomp\Windows>


I will try to look into this more, particularly using the vpxenc.exe (x64 version). I do not have this problem when using FFmpeg x86 version. Only with the FFmpeg x64 version. I also do not have this problem on OS X 10.6 or Ubuntu 11. I am using FFmpeg-git-f884ef0-64-bit-Static (from 2011-10-13) from the Zeranoe builds.

The input video in this part comes from a QuickTime? sample from the iTunes website. I will attach it.

vpxenc.exe also produces snow for my input video. The length is approximately equal to that of the input video. I haven't used vpxenc.exe very much though, so I need to test it more and make sure that the snow isn't being caused by me passing in crappy parameters. I'm more familiar with FFmpeg.

I don't have any gdb output from ffmpeg_g, as I don't have ffmpeg_g.exe. If I had it, I would be happy to produce some gdb output.

Thanks for making a great program; I hope that this can get resolved (whether it's WebM team's problem or FFmpeg's), as it could cause some problems with encoding on some of our servers that we use.

If there is any additional information I can provide, please let me know.

Changed 5 years ago by mbradshaw

One of many sample videoes that produces the error for me

comment:10 in reply to: ↑ 9 Changed 5 years ago by cehoyos

Replying to mbradshaw:

I have attached two files that were generated by Windows from the crash. One describes my computer setup, and the other describes some information about the state of FFmpeg.

Afaict, these files do not contain any useful information.
Please provide a backtrace etc. as explained on http://ffmpeg.org/bugreports.html

comment:11 Changed 5 years ago by cehoyos

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

I compiled libvpx without assembler optimization for win64, tested vpxenc successfully, recompiled ffmpeg with libvpx support and the resulting binary encodes fine to webm.

Please reopen only if you can provide a backtrace, gdb works fine on win64.

Note: See TracTickets for help on using tickets.