
Ubuntu日本語フォーラム

ログインしていません。
初めまして。先日、7.10のDesktop版をインストールして、
IO-DATA製のビデオキャプチャーカードGV-MVP/RX2を使ってcronでテレビの予約録画をしています。
録画に際しては、シェルスクリプトで一定時間録画するようにしています。
ターミナルからシェルスクリプトを動かすと、映像、音声とも問題なく録画できるのですが、
cronで予約録画すると、時折、砂嵐状態の動画(映像、音声とも)しかできないことがあります。
常に砂嵐が出るのなら、そもそもアンテナが繋がっていないということが考えられますが、
時折出るので、アンテナの接触不良という線も考えられます。
しかし同じ日に、アンテナ線経由とコンポジット経由で2番組を録画(同時録画ではないです)しても、
両方の動画とも砂嵐が出ているので、接触不良という原因だけではないような気もしています。
どなたか同じ症状が出ている人はいませんでしょうか?
オフライン
以下あたりで何か手がかりは掴めないでしょうか。
・とりあえずcronからキックするスクリプトの先頭に、ログイン時に
$ export
して出てくる環境変数をコピー&ペーストしておく。
・スクリプトの中でsudoしているなら、rootのcrontabに登録する(sudo su - してからcrontab -e)。
・砂嵐になる時に妙なログがいないか確認する。特にdmesgまわり。
あとは、本当にcronから回すのが再現条件か確認してみる、というのが必要そうです。
たとえばデバイスに一度アクセスした後はrmmod;modprobeしなおさないと駄目、てな
ことも考えられなくもないです。
オフライン
コメントありがとうございます。
以下のアドバイスに従ったところ、うまくいきました。
hito による投稿:
・とりあえずcronからキックするスクリプトの先頭に、ログイン時に
$ export
して出てくる環境変数をコピー&ペーストしておく。
どうもありがとうございました。
このスクリプトは、以下の内容でした。
#!/bin/bash
v4l2-ctl -d /dev/video0 -i 0 --set-standard=11
ivtv-tune -d /dev/video0 -t japan-bcast -c 1
cat /dev/video0 > test.mpg &
sleep 30m
kill -KILL $!
このうちの2行目、3行目がcronでキックした場合には動作せず(?)、チャンネルの設定ができなかったために砂嵐になっていたようです。
チャンネルが設定できない場合は、その前に設定していたチャンネルでcat /dev/video0が作動するので、1)cronで作動する前に手動などで録画していた場合はそのときのチャンネルのまま録画し、2)OSを起動してから録画をしていない場合はチャンネル設定が一切できていないので砂嵐が映る、ということになっていたようです。
最後の編集者: dskt (2008-01-15 23:38:09)
オフライン
dskt による投稿:
以下のアドバイスに従ったところ、うまくいきました。
hito による投稿:
・とりあえずcronからキックするスクリプトの先頭に、ログイン時に
$ export
して出てくる環境変数をコピー&ペーストしておく。どうもありがとうございました。
このうちの2行目、3行目がcronでキックした場合には動作せず(?)、チャンネルの設定ができなかったために砂嵐になっていたようです。
であれば、PATH行だけを追加すればOKです。
cronから実行される場合はPATHが消えてしまうので、/usr/bin/command などとフルパスで起動するか、
あるいはcronから実行されるスクリプトの前半でPATH宣言を行う必要があります。
オフライン
なるほど、そういうことですか。
実際にはこのスクリプトの後、mencoderでaviに変換までしています。元のスクリプトで砂嵐しか映っていないけどaviまではできているので、/usr/binにあるmencoderはcronで動作している一方、/usr/local/binにあるv4l2-ctlとivtv-tuneは動作していなかったということですね。
一応、PATHは全部スクリプト中に記述しています(というか、残しています)。
どうもありがとうございました。
オフライン