Yukiharu YABUKI の tDiary
このtDiaryを検索します。
2012-01-22 [長年日記]
_ Princeton デジ造 映像版3(PCA-DAV3)
すいませんが、ちょっと前提の話が長いです
承前講演や会議の記録をデジタル形式で残すために、ハンディカム を購入した。BTマイクも購入したので発表者はケーブルの取り回しを考えることなく発表に集中できる。*1
Debian GNU/Linux Squueze + Kernel(Linux version 2.6.38-cgroup-memcap (2.6.38) (root@yelona) (gcc version 4.4.5 (Debian 4.4.5-8) ) #1 SMP Mon Oct 3 23:02:18 JST 2011)*2で、usb mass strageでハンディカムの中を見て、拡張子 mts のフォーマットも再生できた。
ここまで来れば、次はこのハンディカムで ustream 配信をしてみたいところ。ieee 1394 がベストなのだが、カメラが高いので、アナログ出力を、Linuxに取り込むことを考える。ここで、ようやくタイトルのPC−DAV3の話になる。
この製品は、アナログ信号をusbでPCに取り込む機器だ。ひとつ前のPCA-DAV2に関しては、映像版デジ造PCA-DAV2 + Ubuntu 10.04 + Medibuntu でビデオ録画(http://www.ne.jp/asahi/techno/ostra/video-capture-on-linux.html)があるが、最近、後継機種 PCA-DAV3 でたので購入してみた。
下記のように認識しているが、/dev/video0ができていない。
[383311.356252] usb 1-1.2: new high speed USB device using ehci_hcd and address 13 [383311.451551] usb 1-1.2: New USB device found, idVendor=117f, idProduct=5207 [383311.451556] usb 1-1.2: New USB device strings: Mfr=0, Product=1, SerialNumber=0 [383311.451559] usb 1-1.2: Product: USB 2861 Device [383314.163627] usbcore: registered new interface driver snd-usb-audio [383636.285317] Linux video capture interface: v2.00 [383636.295152] usbcore: registered new interface driver em28xx [383636.295156] em28xx driver loaded [383636.320791] IR NEC protocol handler initialized [383636.329934] IR RC5(x) protocol handler initialized [383636.342452] IR RC6 protocol handler initialized [383636.347427] IR JVC protocol handler initialized [383636.350186] IR Sony protocol handler initialized [383636.362589] lirc_dev: IR Remote Control driver registered, major 250 [383636.377672] IR LIRC bridge handler initialized
modprobe em28xx card=40
などして認識させたところ。video4linux2のモジュール(v4l2_common)
とかも読み込まれているので、udevも見てみる必要がある気がする。
Module Size Used by em28xx 66233 0 v4l2_common 13215 1 em28xx videodev 48418 2 em28xx,v4l2_common videobuf_vmalloc 12621 1 em28xx videobuf_core 17540 2 em28xx,videobuf_vmalloc tveeprom 16473 1 em28xx ir_lirc_codec 12651 0 lirc_dev 12797 1 ir_lirc_codec ir_sony_decoder 12403 0 ir_jvc_decoder 12401 0 ir_rc6_decoder 12401 0 ir_rc5_decoder 12401 0 ir_nec_decoder 12401 0 rc_core 17813 7 em28xx,ir_lirc_codec,ir_sony_decoder,ir_jvc_decoder,ir_rc6_decoder,ir_rc5_decoder,ir_nec_decoder snd_usb_audio 66275 1 snd_usbmidi_lib 18706 1 snd_usb_audio usbhid 31072 0 hid 59736 1 usbhid nls_utf8 12416 0 nls_cp437 12417 0 btrfs 415196 0 crc32c 12576 1 libcrc32c 12394 1 btrfs ufs 60850 0 qnx4 12992 0 hfsplus 70149 0 hfs 40573 0 minix 26769 0 ntfs 165605 0 vfat 16989 0 msdos 12822 0 fat 44149 2 vfat,msdos jfs 138429 0 xfs 533069 0 exportfs 12527 1 xfs reiserfs 174271 0 ext4 251726 0 jbd2 55701 1 ext4 sg 21385 0 sr_mod 17418 0 cdrom 34631 1 sr_mod rndis_host 12603 0 cdc_ether 12546 1 rndis_host usbnet 17626 2 rndis_host,cdc_ether mii 12562 1 usbnet usb_storage 34951 0 uas 12975 0 usbmon 22186 0 veth 12986 0 ipt_MASQUERADE 12530 1 iptable_nat 12800 1 nf_nat 17708 2 ipt_MASQUERADE,iptable_nat nf_conntrack_ipv4 13649 5 iptable_nat,nf_nat nf_defrag_ipv4 12443 1 nf_conntrack_ipv4 xt_conntrack 12535 2 nf_conntrack 42383 5 ipt_MASQUERADE,iptable_nat,nf_nat,nf_conntrack_ipv4,xt_conntrack ip6table_filter 12492 0 ip6_tables 17069 1 ip6table_filter acpi_cpufreq 12737 1 mperf 12387 1 acpi_cpufreq cpufreq_conservative 13598 0 cpufreq_userspace 12520 0 ebtable_nat 12516 0 cpufreq_stats 12670 0 ebtables 16965 1 ebtable_nat cpufreq_powersave 12422 0 xt_multiport 12470 1 iptable_filter 12488 1 ip_tables 16998 2 iptable_nat,iptable_filter x_tables 17967 9 ipt_MASQUERADE,iptable_nat,xt_conntrack,ip6table_filter,ip6_tables,ebtables,xt_multiport,iptable_filter,ip_tables parport_pc 21895 0 ppdev 12621 0 lp 12858 0 parport 27018 3 parport_pc,ppdev,lp sco 13219 2 bridge 55027 0 stp 12368 1 bridge bnep 17147 2 rfcomm 31960 4 l2cap 35435 6 bnep,rfcomm crc16 12327 2 ext4,l2cap bluetooth 50119 6 sco,bnep,rfcomm,l2cap kvm_intel 44826 0 kvm 220471 1 kvm_intel binfmt_misc 12778 1 uinput 12984 1 deflate 12495 0 zlib_deflate 21186 2 btrfs,deflate ctr 12851 0 twofish_generic 16529 0 twofish_i586 12453 0 twofish_common 20528 2 twofish_generic,twofish_i586 camellia 28953 0 serpent 24847 0 blowfish 16576 0 cast5 24773 0 des_generic 20771 0 xcbc 12629 0 rmd160 16584 0 sha512_generic 16649 0 sha1_generic 12511 0 hmac 12649 0 crypto_null 12636 0 af_key 30708 0 fuse 55640 1 ext2 53488 1 loop 17805 0 snd_hda_codec_hdmi 21913 1 snd_hda_codec_conexant 35784 1 snd_hda_intel 21529 4 arc4 12418 2 snd_hda_codec 57563 3 snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_intel thinkpad_acpi 46976 0 snd_hwdep 12906 2 snd_usb_audio,snd_hda_codec snd_pcm_oss 35864 0 snd_mixer_oss 17649 1 snd_pcm_oss option 20658 0 snd_pcm 52774 6 snd_usb_audio,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_pcm_oss ecb 12649 2 usb_wwan 12950 1 option snd_seq_midi 12744 0 snd_rawmidi 22407 2 snd_usbmidi_lib,snd_seq_midi snd_seq_midi_event 13124 1 snd_seq_midi snd_seq 39172 2 snd_seq_midi,snd_seq_midi_event usbserial 27298 2 option,usb_wwan iwlagn 122417 0 i915 276436 2 snd_timer 22171 2 snd_pcm,snd_seq snd_seq_device 12995 3 snd_seq_midi,snd_rawmidi,snd_seq iwlcore 50368 1 iwlagn ehci_hcd 34889 0 mac80211 156189 2 iwlagn,iwlcore drm_kms_helper 26501 1 i915 snd 38153 24 snd_usb_audio,snd_usbmidi_lib,snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_intel,snd_hda_codec,thinkpad_acpi,snd_hwdep,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device psmouse 45863 0 usbcore 99058 17 em28xx,snd_usb_audio,snd_usbmidi_lib,usbhid,rndis_host,cdc_ether,usbnet,usb_storage,uas,usbmon,option,usb_wwan,usbserial,ehci_hcd drm 124320 3 i915,drm_kms_helper tpm_tis 12949 0 cfg80211 106889 3 iwlagn,iwlcore,mac80211 tpm 17476 1 tpm_tis pcspkr 12515 0 serio_raw 12758 0 i2c_i801 12670 0 i2c_algo_bit 12706 1 i915 snd_page_alloc 12841 2 snd_hda_intel,snd_pcm i2c_core 18989 9 em28xx,v4l2_common,videodev,tveeprom,i915,drm_kms_helper,drm,i2c_i801,i2c_algo_bit battery 12957 0 ac 12552 0 rfkill 18510 6 bluetooth,thinkpad_acpi,cfg80211 evdev 13084 22 wmi 13018 0 soundcore 12878 1 snd power_supply 13283 2 battery,ac video 17345 1 i915 processor 26983 5 acpi_cpufreq e1000e 108717 0 tpm_bios 12799 1 tpm button 12866 1 i915 nls_base 12649 9 nls_utf8,nls_cp437,hfsplus,hfs,ntfs,vfat,fat,jfs,usbcore nvram 12853 1 thinkpad_acpi ext3 98001 1 jbd 40818 1 ext3 mbcache 12810 3 ext4,ext2,ext3 sha256_generic 16709 2 aes_i586 16608 8 aes_generic 37066 1 aes_i586 cbc 12659 4 dm_crypt 17809 1 dm_mod 56394 9 dm_crypt sd_mod 34941 3 crc_t10dif 12332 1 sd_mod ahci 20897 2 libahci 22161 1 ahci libata 127808 2 ahci,libahci scsi_mod 134369 6 sg,sr_mod,usb_storage,uas,sd_mod,libata thermal 13058 0 thermal_sys 17667 3 video,processor,thermaludevmonitor から udevadm monitorへ
udevの動作状況については、udevadm monitor で確認を行うことになったようだ。udevmonitorコマンドがなくなって、困っていたら?どうぞ(って、udevをやるような人は困らないか。...まあ将来の自分のためです)ログは、下記のような感じ
yelona:/usr/src/linux-source-2.6.38/drivers/media/video/em28xx# udevadm monitor monitor will print the received events for: UDEV - the event which udev sends out after rule processing KERNEL - the kernel uevent KERNEL[1327161361.981585] remove /bus/usb/drivers/em28xx (drivers) KERNEL[1327161361.981945] remove /module/em28xx (module) UDEV [1327161361.982396] remove /bus/usb/drivers/em28xx (drivers) UDEV [1327161361.982415] remove /module/em28xx (module) KERNEL[1327161362.001283] remove /module/v4l2_common (module) UDEV [1327161362.001819] remove /module/v4l2_common (module) KERNEL[1327161362.025655] remove /class/video4linux (class) KERNEL[1327161362.026079] remove /module/videodev (module) UDEV [1327161362.026096] remove /class/video4linux (class) UDEV [1327161362.026109] remove /module/videodev (module) KERNEL[1327161362.065869] remove /module/videobuf_vmalloc (module) UDEV [1327161362.066283] remove /module/videobuf_vmalloc (module) KERNEL[1327161362.105920] remove /module/videobuf_core (module) UDEV [1327161362.106208] remove /module/videobuf_core (module) KERNEL[1327161362.145615] remove /module/tveeprom (module) UDEV [1327161362.146275] remove /module/tveeprom (module) KERNEL[1327161379.555502] add /module/tveeprom (module) UDEV [1327161379.556183] add /module/tveeprom (module) KERNEL[1327161379.558329] add /module/videobuf_core (module) UDEV [1327161379.558711] add /module/videobuf_core (module) KERNEL[1327161379.559360] add /module/videobuf_vmalloc (module) UDEV [1327161379.559656] add /module/videobuf_vmalloc (module) KERNEL[1327161379.566405] add /module/videodev (module) UDEV [1327161379.566822] add /module/videodev (module) KERNEL[1327161379.566935] add /class/video4linux (class) UDEV [1327161379.567348] add /class/video4linux (class) KERNEL[1327161379.570083] add /module/v4l2_common (module) UDEV [1327161379.570477] add /module/v4l2_common (module) KERNEL[1327161379.575913] add /module/em28xx (module) UDEV [1327161379.576356] add /module/em28xx (module) KERNEL[1327161379.576602] add /bus/usb/drivers/em28xx (drivers) UDEV [1327161379.577048] add /bus/usb/drivers/em28xx (drivers)
udevの設定は、/etc/udevではなく、/lib/udevがメインになるようだ。/etcを探しても一部しか見つからないので、分担しているのだろう。
udevをちょっと覗いてみる。カレントディレクトリを/lib/udevに移してみて、いろいろと嗅ぎ回ってみる。
yelona:/lib/udev# grep -rni video4linux * rules.d/70-acl.rules:33:SUBSYSTEM=="video4linux", TAG+="udev-acl" rules.d/60-persistent-v4l.rules:4:SUBSYSTEM!="video4linux", GOTO="persistent_v4l_end" rules.d/91-permissions.rules:55:SUBSYSTEM=="video4linux", GROUP="video"
今日のところは、これぐらいで、関連urlを貼り付けておきます。(以下どれも閲覧日2012/01/22)