Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ffmpegが動きません

232 views
Skip to first unread message

koyo dng

unread,
Oct 20, 2010, 8:49:15 AM10/20/10
to
お世話になります。
ffmpegを、Synapticからインストールしましたが

~$ ffmpeg -f video4linux2 -s 320x240 -i /dev/video0 /tmp/test.ffm
FFmpeg version r11872+debian_0.svn20080206-18+lenny1, Copyright (c) 2000-2008 Fabrice Bellard, et al.
  configuration: --enable-gpl --enable-libfaad --enable-pp --enable-swscaler --enable-x11grab --prefix=/usr --enable-libgsm --enable-libtheora --enable-libvorbis --enable-pthreads --disable-strip --enable-libdc1394 --disable-armv5te --disable-armv6 --disable-altivec --disable-vis --enable-shared --disable-static
  libavutil version: 49.6.0
  libavcodec version: 51.50.0
  libavformat version: 52.7.0
  libavdevice version: 52.0.0
  built on Jan 28 2010 20:57:25, gcc: 4.3.2
[video4linux2 @ 0xb771bec8]Missing/Wrong width, height or framerate
/dev/video0: Error while opening file
とのエラーで動きません

確認のため、xawtvをインストールしてみると
~$ xawtv
This is xawtv-3.95.dfsg.1, running on Linux/i686 (2.6.26-2-686)
xinerama 0: 1440x900+0+0
WARNING: No DGA support available for this display.
/dev/video0 [v4l2]: no overlay support
v4l-conf had some trouble, trying to continue anyway
ioctl: VIDIOC_QUERYCTRL(id=9963776;type=unknown;name="";minimum=0;maximum=0;step=0;default_value=0;flags=0): 入力/出力エラーです
Warning: Cannot convert string "-*-ledfixed-medium-r-*--39-*-*-*-c-*-*-*" to type FontStruct
ioctl: VIDIOC_G_STD(std=0xbfa60874 [PAL_G,PAL_I,PAL_D,PAL_D1,PAL_60,SECAM_D,SECAM_G,SECAM_K1,?ATSC_8_VSB,ATSC_16_VSB,(null),(null),(null),(null),(null),(null)]): 無効な引数です
ioctl: VIDIOC_S_STD(std=0x0 []): 無効な引数です
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  2 (X_ChangeWindowAttributes)
  Resource id in failed request:  0x3200062
  Serial number of failed request:  4649
  Current serial number in output stream:  4649
と、どうやらvideo4linux2がインストールされていない?
そこで
~$ svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk linux-uvc
svn: No repository found in 'svn://svn.berlios.de/linux-uvc/linux-uvc/trunk'
とのことで、リポジットがありません
どこに行ったんでしょうか?

Nobuhiro Iwamatsu

unread,
Oct 20, 2010, 7:45:53 PM10/20/10
to
こんにちは。岩松です。

2010年10月20日21:49 koyo dng <koyo-...@hotmail.co.jp>:

1. まず、USBカメラが認識しているか確認しましょう。

sudo lsusb -v コマンドの結果はどうなっていますか?

2. また、USBカメラを一度抜いて、挿し直します。
このときに dmesg でどのように出力されますか。そして、/dev/video* (例えば /dev/video0 など)の
デバイスファイルは作成されていますか?

自分の環境だと、以下のように出力されます。
---
[86005.988023] usb 4-1: new full speed USB device using uhci_hcd and address 2
[86006.192047] usb 4-1: not running at top speed; connect to a high speed hub
[86006.645049] usb 4-1: New USB device found, idVendor=045e, idProduct=0294
[86006.645054] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[86006.645057] usb 4-1: Product: Video Camera
[86006.645060] usb 4-1: Manufacturer: Microsoft
[86006.645062] usb 4-1: SerialNumber: 000F330170711641
[86006.645193] usb 4-1: configuration #1 chosen from 1 choice
---


> と、どうやらvideo4linux2がインストールされていない?
> そこで


lenny でサポートしているカーネルでは uvc をサポートしています。
(linux kernel にマージされました。)
しかし、サポートしている画像フォーマットなどの理由でで新しいUSBカメラは動作しない可能性があります。

> ~$ svn checkout svn://svn.berlios.de/linux-uvc/linux-uvc/trunk linux-uvc
> svn: No repository found in 'svn://svn.berlios.de/linux-uvc/linux-uvc/trunk'
> とのことで、リポジットがありません
> どこに行ったんでしょうか?

リポジトリは linuxtv に移動しています。
git://linuxtv.org/pinchartl/uvcvideo.git

岩松
--
Nobuhiro Iwamatsu
iwamatsu at {nigauri.org / debian.org}
GPG ID: 40AD1FA6

koyo dng

unread,
Oct 21, 2010, 5:51:36 AM10/21/10
to
岩松さま
ご指導いただきありがとうございます。

現状は
# lsusb
Bus 002 Device 002: ID 056e:7007 Elecom Co., Ltd
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub


$ dmeg
[  761.817686] usb 2-1: new high speed USB device using ehci_hcd and address 2
[  761.986221] usb 2-1: configuration #1 chosen from 1 choice
[  762.012019] usb 2-1: New USB device found, idVendor=056e, idProduct=7007
[  762.012056] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  762.012105] usb 2-1: Product: UCAM-DLG200H
[  762.012123] usb 2-1: Manufacturer: SolidYear TECHNOLOGIES CO., LTD.
[  762.210319] Linux video capture interface: v2.00
[  762.285982] uvcvideo: Found UVC 1.00 device UCAM-DLG200H (056e:7007)
[  762.299069] input: UCAM-DLG200H as /class/input/input4
[  762.308565] usbcore: registered new interface driver uvcvideo
[  762.308638] USB Video Class driver (v0.1.0)
[  881.268464] usb 2-1: USB disconnect, address 2
[  901.346416] usb 2-1: new high speed USB device using ehci_hcd and address 3
[  901.515058] usb 2-1: configuration #1 chosen from 1 choice
[  901.534655] uvcvideo: Found UVC 1.00 device UCAM-DLG200H (056e:7007)
[  901.544003] input: UCAM-DLG200H as /class/input/input5
[  901.555244] usb 2-1: New USB device found, idVendor=056e, idProduct=7007
[  901.555251] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  901.555256] usb 2-1: Product: UCAM-DLG200H
[  901.555260] usb 2-1: Manufacturer: SolidYear TECHNOLOGIES CO., LTD.
となっています。

Linux video capture interface: v2.00 と言うことは video4linux2 は動作していると言うことでしょうか?



Nobuhiro Iwamatsu

unread,
Oct 21, 2010, 7:40:50 PM10/21/10
to
こんにちは。岩松です。

2010年10月21日18:51 koyo dng <koyo-...@hotmail.co.jp>:

まだ、動作はしていませんが、UVCドライバ で認識しています。
このときに、/dev/videoX ( Xは 0 だったり、1だったり。)ファイルが作成されていますか?

ffmpeg , xawtv で動作確認をしてみたとのことですが、
luvcview や uvccapture で確認してみて頂けませんか。

以上、よろしくお願いします。

koyo dng

unread,
Oct 22, 2010, 5:00:57 AM10/22/10
to
岩松さま
luvcview は動きました。
~$ luvcview
luvcview 0.2.4

SDL information:
  Video driver: x11
  A window manager is available
Device information:
  Device path:  /dev/video0
Stream settings:
  Frame format: YUYV (MJPG is not supported by device)
  Frame size:   640x480
  Frame rate:   30 fps

uvccapture はダメでした。
~$ uvccapture
Unable to set format: 22.
 Init v4L2 failed !! exit fatal

また
/dev/video0 は存在しています。

MJPG is not supported by device が問題なんでしょうか?



Nobuhiro Iwamatsu

unread,
Oct 22, 2010, 5:44:04 PM10/22/10
to
こんにちは。岩松です。

2010年10月22日18:00 koyo dng <koyo-...@hotmail.co.jp>:

はい、luvcview と uvccapture では同じUVCのライブラリを使っているのですが、
デフォルトでは MJPG をつかうようになっています。
前者は デフォルトのフォーマットがだめなら、頑張って他のフォーマットが
使えるかチェックするのですが、後者はこのような処理はなく指定する必要があります。

uvccapture で YUYV フォーマットを使う場合には -m オプションを使うようです。
# man uvccapture を参照

koyo dng

unread,
Oct 22, 2010, 11:26:34 PM10/22/10
to
岩松さま
すいません、いまひとつ分からないんですが
最終的にwebにストリーミング配信したいので、ffmpegを動かしたいんですが
結局のところ、video4linux2の最新版をインストールしなおせば動くものなんでしょうか?
 

Nobuhiro Iwamatsu

unread,
Oct 24, 2010, 2:51:17 AM10/24/10
to
こんにちは。岩松です。

2010年10月23日12:26 koyo dng <koyo-...@hotmail.co.jp>:

いままでのは 使っているカメラがlenny のカーネルで で動作するかという確認です。
とりあえず 動作することが確認できたので、ドライバ側が大丈夫のようです。

koyo dng さんが一番最最初に書かれたメールで


[video4linux2 @ 0xb771bec8]Missing/Wrong width, height or framerate
/dev/video0: Error while opening file

となっていますので、
フレームレートの設定 (-r オプションで指定できます。)や画像サイズの設定を観直しては
いかがでしょうか。
# 画像サイズはごく一般的なので、フレームレートが怪しいそうです。
# ちなみに、私の環境だと -r 20 にすると動作しました。

以上、よろしくお願いします。

koyo dng

unread,
Oct 24, 2010, 4:21:43 AM10/24/10
to
ffmpegが動きました
岩松さま ありがとうございました。
ご指摘いただいた、-r 20 で無事うごきました。

ちなみに、
/lib/modules/2.6.26-2-686/kernel/drivers/media/video/ 内には
/uvc/uvcvideo.ko
v4l1-compat.ko
v4l2-common.ko
v4l2-int-device.ko
があるんですが、uvcvideo.ko がデバイス情報から適切なドライバーとして
v4l1-compat.ko や v4l-common.ko v4l2-int-device.ko などを呼び出すという
認識でよいのでしょうか?

Nobuhiro Iwamatsu

unread,
Oct 24, 2010, 9:16:39 PM10/24/10
to
岩松です。

2010年10月24日17:21 koyo dng <koyo-...@hotmail.co.jp>:

uvcvideo.ko は v4l1_compat などに依存(v4l1_compatが提供しているABIを利用している)しているので、
ドライバをロードする時に、依存しているドライバが先にロードされている必要があります。
上の例ですと、uvcvideoを使う場合には、v4l1-compat.ko が先にロードされている必要があると
いうことです。

koyo dng

unread,
Oct 25, 2010, 4:50:08 AM10/25/10
to
岩松さま
いろいろと、ご指導いただきありがとうございました。
また、よろしくお願い致します。

0 new messages