Opened 13 years ago

Closed 13 years ago

#423 closed defect (worksforme)

ffmpeg.exe MOV to WebM x64 crash

Reported by: Vince Owned by: Michael Niedermayer
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 Vince 13 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 13 years ago.
Crash dump file
WERCD72.tmp.appcompat.txt (5.6 KB ) - added by mbradshaw 13 years ago.
Crash Dump File
sample_sorenson.mov (80.5 KB ) - added by mbradshaw 13 years ago.
One of many sample videoes that produces the error for me

Change History (15)

by Vince, 13 years ago

Attachment: 2004-03-23_002.MOV added

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

comment:1 by Carl Eugen Hoyos, 13 years ago

Component: FFmpegundetermined
Status: newopen

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 by Vince, 13 years ago

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

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 by Vince, 13 years ago

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 by Vince, 13 years ago

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

Where does your ffmpeg.exe come from?

comment:7 by Vince, 13 years ago

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 by Vince, 13 years ago

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..

by mbradshaw, 13 years ago

Crash dump file

by mbradshaw, 13 years ago

Attachment: WERCD72.tmp.appcompat.txt added

Crash Dump File

comment:9 by mbradshaw, 13 years ago

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.

by mbradshaw, 13 years ago

Attachment: sample_sorenson.mov added

One of many sample videoes that produces the error for me

in reply to:  9 comment:10 by Carl Eugen Hoyos, 13 years ago

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

Resolution: worksforme
Status: openclosed

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.