
Ubuntu日本語フォーラム

ログインしていません。
こんにちは、canonです。いつもお世話になります。
今日、ffmpegを使ってウェブカメラで録画をしようとしたら、以下のようなエラーでAbortしました。
なお、ミスしたオプション(-f oss -i /dev/audio0)のみで実行をかけても、同じでした。(コマンド: ffmpeg -f oss -i /dev/dsp0 test.wav)
Ubuntuのバージョンは10.04 LTS、カーネルは「2.6.32-21.32」です。
$ ffmpeg -f video4linux2 -s 640x480 -i /dev/video0 -f oss -i /dev/dsp0 test.flv
FFmpeg version SVN-r0.5.1-4:0.5.1-1ubuntu1, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --extra-version=4:0.5.1-1ubuntu1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --enable-shared --disable-static
libavutil 49.15. 0 / 49.15. 0
libavcodec 52.20. 1 / 52.20. 1
libavformat 52.31. 0 / 52.31. 0
libavdevice 52. 1. 0 / 52. 1. 0
libavfilter 0. 4. 0 / 0. 4. 0
libswscale 0. 7. 1 / 0. 7. 1
libpostproc 51. 2. 0 / 51. 2. 0
built on Mar 4 2010 12:35:30, gcc: 4.4.3
[video4linux2 @ 0x8eec2c0][3]Capabilities: 4000001
Input #0, video4linux2, from '/dev/video0':
Duration: N/A, start: 1272933449.927746, bitrate: -2147483 kb/s
Stream #0.0: Video: rawvideo, yuyv422, 640x480, -2147483 kb/s, 1000k tbr, 1000k tbn, 1000k tbc
[oss @ 0x8eed960]/dev/dsp0: No such file or directory
*** glibc detected *** ffmpeg: double free or corruption (!prev): 0x08eef930 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6(+0x6b591)[0xb6d8c591]
/lib/tls/i686/cmov/libc.so.6(+0x6cde8)[0xb6d8dde8]
/lib/tls/i686/cmov/libc.so.6(cfree+0x6d)[0xb6d90ecd]
/usr/lib/i686/cmov/libavformat.so.52(av_open_input_stream+0x15c)[0xb772b78c]
======= Memory map: ========
08048000-0805b000 r-xp 00000000 08:01 24521392 /usr/bin/ffmpeg
0805b000-0805c000 r--p 00012000 08:01 24521392 /usr/bin/ffmpeg
0805c000-0805d000 rw-p 00013000 08:01 24521392 /usr/bin/ffmpeg
0805d000-08061000 rw-p 00000000 00:00 0
08ee4000-08f2a000 rw-p 00000000 00:00 0 [heap]
b5500000-b5521000 rw-p 00000000 00:00 0
b5521000-b5600000 ---p 00000000 00:00 0
b568f000-b5725000 rw-s 01068000 00:05 3794 /dev/video0
b5725000-b57bb000 rw-s 00fd2000 00:05 3794 /dev/video0
b57bb000-b5851000 rw-s 00f3c000 00:05 3794 /dev/video0
b5851000-b58e7000 rw-s 00ea6000 00:05 3794 /dev/video0
b58e7000-b597d000 rw-s 00e10000 00:05 3794 /dev/video0
b597d000-b5a13000 rw-s 00d7a000 00:05 3794 /dev/video0
b5a13000-b5aa9000 rw-s 00ce4000 00:05 3794 /dev/video0
b5aa9000-b5b3f000 rw-s 00c4e000 00:05 3794 /dev/video0
b5b3f000-b5bd5000 rw-s 00bb8000 00:05 3794 /dev/video0
b5bd5000-b5c6b000 rw-s 00b22000 00:05 3794 /dev/video0
b5c6b000-b5d01000 rw-s 00a8c000 00:05 3794 /dev/video0
b5d01000-b5d97000 rw-s 009f6000 00:05 3794 /dev/video0
b5d97000-b5e2d000 rw-s 00960000 00:05 3794 /dev/video0
b5e2d000-b5ec3000 rw-s 008ca000 00:05 3794 /dev/video0
b5ec3000-b5f59000 rw-s 00834000 00:05 3794 /dev/video0
b5f59000-b5fef000 rw-s 0079e000 00:05 3794 /dev/video0
b5fef000-b6085000 rw-s 00708000 00:05 3794 /dev/video0
b6085000-b611b000 rw-s 00672000 00:05 3794 /dev/video0
b611b000-b61b1000 rw-s 005dc000 00:05 3794 /dev/video0
b61b1000-b6247000 rw-s 00546000 00:05 3794 /dev/video0
b6247000-b62dd000 rw-s 004b0000 00:05 3794 /dev/video0
b62dd000-b6373000 rw-s 0041a000 00:05 3794 /dev/video0
b6373000-b6409000 rw-s 00384000 00:05 3794 /dev/video0
b6409000-b649f000 rw-s 002ee000 00:05 3794 /dev/video0
b649f000-b6535000 rw-s 00258000 00:05 3794 /dev/video0
b6535000-b65cb000 rw-s 001c2000 00:05 3794 /dev/video0
b65cb000-b6661000 rw-s 0012c000 00:05 3794 /dev/video0
b6661000-b66f7000 rw-s 00096000 00:05 3794 /dev/video0
b66f7000-b678d000 rw-s 00000000 00:05 3794 /dev/video0
b678d000-b6790000 rw-p 00000000 00:00 0
b6790000-b6794000 r-xp 00000000 08:01 24513333 /usr/lib/libXdmcp.so.6.0.0
b6794000-b6795000 r--p 00003000 08:01 24513333 /usr/lib/libXdmcp.so.6.0.0
b6795000-b6796000 rw-p 00004000 08:01 24513333 /usr/lib/libXdmcp.so.6.0.0
b6796000-b6798000 r-xp 00000000 08:01 24513322 /usr/lib/libXau.so.6.0.0
b6798000-b6799000 r--p 00001000 08:01 24513322 /usr/lib/libXau.so.6.0.0
b6799000-b679a000 rw-p 00002000 08:01 24513322 /usr/lib/libXau.so.6.0.0
b679a000-b679f000 r-xp 00000000 08:01 24514046 /usr/lib/libogg.so.0.6.0
b679f000-b67a0000 r--p 00004000 08:01 24514046 /usr/lib/libogg.so.0.6.0
b67a0000-b67a1000 rw-p 00005000 08:01 24514046 /usr/lib/libogg.so.0.6.0
b67a1000-b67be000 r-xp 00000000 08:01 26345555 /lib/libgcc_s.so.1
b67be000-b67bf000 r--p 0001c000 08:01 26345555 /lib/libgcc_s.so.1
b67bf000-b67c0000 rw-p 0001d000 08:01 26345555 /lib/libgcc_s.so.1
b67c0000-b6815000 r-xp 00000000 08:01 24514048 /usr/lib/liboil-0.3.so.0.3.0
b6815000-b6816000 r--p 00054000 08:01 24514048 /usr/lib/liboil-0.3.so.0.3.0
b6816000-b682d000 rw-p 00055000 08:01 24514048 /usr/lib/liboil-0.3.so.0.3.0
b682d000-b6830000 rw-p 00000000 00:00 0
b6830000-b6848000 r-xp 00000000 08:01 24514329 /usr/lib/libxcb.so.1.1.0
b6848000-b6849000 r--p 00017000 08:01 24514329 /usr/lib/libxcb.so.1.1.0
b6849000-b684a000 rw-p 00018000 08:01 24514329 /usr/lib/libxcb.so.1.1.0
b684a000-b684c000 r-xp 00000000 08:01 26345535 /lib/tls/i686/cmov/libdl-2.11.1.so
b684c000-b684d000 r--p 00001000 08:01 26345535 /lib/tls/i686/cmov/libdl-2.11.1.so
b684d000-b684e000 rw-p 00002000 08:01 26345535 /lib/tls/i686/cmov/libdl-2.11.1.so
b684e000-b6855000 r-xp 00000000 08:01 26345634 /lib/tls/i686/cmov/librt-2.11.1.so
b6855000-b6856000 r--p 00006000 08:01 26345634 /lib/tls/i686/cmov/librt-2.11.1.so
b6856000-b6857000 rw-p 00007000 08:01 26345634 /lib/tls/i686/cmov/librt-2.11.1.so
b6857000-b6862000 r-xp 00000000 08:01 26345658 /lib/libusb-1.0.so.0.0.0
b6862000-b6863000 r--p 0000a000 08:01 26345658 /lib/libusb-1.0.so.0.0.0
b6863000-b6864000 rw-p 0000b000 08:01 26345658 /lib/libusb-1.0.so.0.0.0
b6864000-b6870000 r-xp 00000000 08:01 24514159 /usr/lib/libraw1394.so.11.0.1
b6870000-b6871000 r--p 0000b000 08:01 24514159 /usr/lib/libraw1394.so.11.0.1
b6871000-b6872000 rw-p 0000c000 08:01 24514159 /usr/lib/libraw1394.so.11.0.1
b6872000-b6873000 rw-p 00000000 00:00 0
b6873000-b689a000 r-xp 00000000 08:01 24514288 /usr/lib/libvorbis.so.0.4.3
b689a000-b689b000 r--p 00026000 08:01 24514288 /usr/lib/libvorbis.so.0.4.3
b689b000-b689c000 rw-p 00027000 08:01 24514288 /usr/lib/libvorbis.so.0.4.3
b689c000-b6988000 r-xp 00000000 08:01 24514290 /usr/lib/libvorbisenc.so.2.0.6
b6988000-b6989000 ---p 000ec000 08:01 24514290 /usr/lib/libvorbisenc.so.2.0.6
b6989000-b6997000 r--p 000ec000 08:01 24514290 /usr/lib/libvorbisenc.so.2.0.6
b6997000-b6998000 rw-p 000fa000 08:01 24514290 /usr/lib/libvorbisenc.so.2.0.6
b6998000-b69e8000 r-xp 00000000 08:01 24514245 /usr/lib/libtheora.so.0.3.10
b69e8000-b69e9000 r--p 0004f000 08:01 24514245 /usr/lib/libtheora.so.0.3.10
b69e9000-b69ea000 rw-p 00050000 08:01 24514245 /usr/lib/libtheora.so.0.3.10
b69ea000-b6a05000 r-xp 00000000 08:01 24520555 /usr/lib/sse2/libspeex.so.1.5.0
b6a05000-b6a06000 r--p 0001a000 08:01 24520555 /usr/lib/sse2/libspeex.so.1.5.0
b6a06000-b6a07000 rw-p 0001b000 08:01 24520555 /usr/lib/sse2/libspeex.so.1.5.0
b6a07000-b6a80000 r-xp 00000000 08:01 24521376 /usr/lib/libschroedinger-1.0.so.0.2.0
b6a80000-b6a81000 ---p 00079000 08:01 24521376 /usr/lib/libschroedinger-1.0.so.0.2.0
b6a81000-b6a82000 r--p 00079000 08:01 24521376 /usr/lib/libschroedinger-1.0.so.0.2.0
b6a82000-b6a83000 rw-p 0007a000 08:01 24521376 /usr/lib/libschroedinger-1.0.so.0.2.0
b6a83000-b6a84000 rw-p 00000000 00:00 0
b6a84000-b6a90000 r-xp 00000000 08:01 24521374 /usr/lib/libgsm.so.1.0.12
b6a90000-b6a91000 r--p 0000b000 08:01 24521374 /usr/lib/libgsm.so.1.0.12
b6a91000-b6a92000 rw-p 0000c000 08:01 24521374 /usr/lib/libgsm.so.1.0.12
b6a92000-b6aa2000 r-xp 00000000 08:01 26345520 /lib/libbz2.so.1.0.4
b6aa2000-b6aa3000 r--p 0000f000 08:01 26345520 /lib/libbz2.so.1.0.4
b6aa3000-b6aa4000 rw-p 00010000 08:01 26345520 /lib/libbz2.so.1.0.4
b6aa4000-b6ab7000 r-xp 00000000 08:01 26345669 /lib/libz.so.1.2.3.3Abortedしかし「ffmpeg -f video4linux2 -s 640x480 -i /dev/vide」として実行すると、エラーの内容は違いました。
$ ffmpeg -f video4linux2 -s 640x480 -i /dev/video3 test.flv FFmpeg version SVN-r0.5.1-4:0.5.1-1ubuntu1, Copyright (c) 2000-2009 Fabrice Bellard, et al. configuration: --extra-version=4:0.5.1-1ubuntu1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --enable-shared --disable-static libavutil 49.15. 0 / 49.15. 0 libavcodec 52.20. 1 / 52.20. 1 libavformat 52.31. 0 / 52.31. 0 libavdevice 52. 1. 0 / 52. 1. 0 libavfilter 0. 4. 0 / 0. 4. 0 libswscale 0. 7. 1 / 0. 7. 1 libpostproc 51. 2. 0 / 51. 2. 0 built on Mar 4 2010 12:35:30, gcc: 4.4.3 [video4linux2 @ 0x979d2c0]Cannot open video device /dev/video3 : No such file or directory /dev/video3: I/O error occurred Usually that means that input file is truncated and/or corrupted.
なぜ「-f oss /dev/dsp0 <file.flv>」とミスしたら「glibc」がメモリ関連でAbortして、「-f video4linux2 /dev/video3 <file.wav>」とミスしたら「ffmpeg」が「そんなデバイスはない」といってAbortするのか、よくわかりません。どちらも、デバイス名を正しく入力して実行すると、うまく録画できました。
最初のエラーは、manpageやgoogle検索で調べて見たところ「glibc」が何やらメモリ関連のミスを検知して止めたようです。同様の問題がLaunchPadと本家のUbuntuフォーラムで報告されていました。
https://bugs.launchpad.net/ubuntu/+sour … bug/432181
http://ubuntuforums.org/showthread.php? … amp;page=2
https://bugs.launchpad.net/ffmpeg/+bug/30454
バグ報告したいと自分自身考えていますが、報告してよいバグなのか、検討がつかずどうしようか迷っています。(LaunchPadのバグ一覧は見ました)
また、同様のエラーが発生している、このエラー内容を回避する方法があれば、教えてくだければ幸いです。
以上、分かりにくい質問で申し訳ありませんが、もしお分かりの方は回答をよろしくお願いします。
オフライン