
Ubuntu日本語フォーラム

ログインしていません。
私、webcomを利用して、ライブWEBカメラシステムを作成しようとしております。
使用ソフトは、UBUNTU9.04に「webcam」をsynapticで導入しました。
WEBカメラはUVC対応で、Skype、Cheeseで利用できております。
webcamでftp転送せずにローカルに保存することは出来ました。
その時の~/.webcamrcは以下のとおりです。(HOST名、ユーザー名、パスワードは隠してます。)
------------------------------------------------------------------------------------
[grab]
#device = /dev/video0
text = "webcam %Y-%m-%d %H:%M:%S"
#infofile = filename
#fg_red = 255
#fg_green = 255
#fg_blue = 255
width = 320
height = 240
delay = 5
wait = 5
#input = usb
#norm = pal
rotate = 0
top = 0
left = 0
bottom = -1
right = -1
quality = 75
trigger = 0
once = 0
archive = /userdata01/webcam/%y%m%d%H%M%S.jpg
[ftp]
#host = www11.xxxxxx.jp
#user = dddddddddd
#pass = xxxxxxx
dir = ./images
file = webcam.jpeg
tmp = uploading.jpeg
passive = 1
debug = 1
auto = 1
local = 1
ssh = 0
------------------------------------------------------------------------------------
次に、FTPで転送する設定を以下のようにしました。(HOST名、ユーザー名、パスワードは隠してます。)
------------------------------------------------------------------------------------
[grab]
#device = /dev/video0
text = "webcam %Y-%m-%d %H:%M:%S"
#infofile = filename
#fg_red = 255
#fg_green = 255
#fg_blue = 255
width = 320
height = 240
delay = 5
wait = 5
#input = usb
#norm = pal
rotate = 0
top = 0
left = 0
bottom = -1
right = -1
quality = 75
trigger = 0
once = 0
archive = /userdata01/webcam/%y%m%d%H%M%S.jpg
[ftp]
host = www11.xxxxxx.jp
#user = dddddddddd <--------------- ~/.netrcで自動ログインするのでコメント。
#pass = xxxxxxx <--------------- ~/.netrcで自動ログインするのでコメント。
dir = . <---------------ログイン成功時のフォルダーに保存させる。
file = webcam.jpeg
tmp = uploading.jpeg
passive = 1
debug = 1
auto = 1
local = 0 <---------------FTP転送を指定。
ssh = 0
------------------------------------------------------------------------------------
ftpログインを自動で行うために、~/.netrc を設定しました。
以上の設定で、webcam を端末からバックグランドで起動すると、FTPログインは
成功するが、「ftp:cd . failed」(ftpでチェンジディレクトリに失敗したという意味だと思います。)となり
webcamが終了します。
その時のdebugモードのログを以下に記述します。(HOST名、IPアドレス、ユーザー名、パスワードは隠してます。)
------------------------------------------------------------------------------------
[ftp]<< ftp>
[ftp]>> pass
[ftp]<< pass
[ftp]<< Passive mode on.
[ftp]<< ftp>
[ftp]>> close
[ftp]<< close
[ftp]<< Not connected.
ftp: lost connection
[ftp]<< ftp>
[ftp]>> open www11.xxxxxxx.jp
[ftp]<< open www11.xxxxxxx.jp
[ftp]<< Connected to www11.xxxxxxx.jp.
[ftp]<< 220 ProFTPD 1.3.2rc4 Server (www11.xxxxxxx.jp) [::ffff:xxx.xxx.xxx.xxx]
[ftp]<< 331 Password required for dddddddddd
[ftp]<< 230 User dddddddddd logged in
[ftp]<< Remote system type is UNIX.
[ftp]<< Using binary mode to transfer files.
[ftp]<< ftp>
, login okcted to www11.xxxxxxx.jp
[ftp]>> cd .
[ftp]<< ftp> cd .
ftp: cd . failed
[1]+ Exit 1 webcam
------------------------------------------------------------------------------------
このログからftpログインは出来ていると考えています。
cd . failed となっておりますが、ディレクトリの移動はないのでなぜエラーになるのか
分かりません。また、ディレクトリの移動を指定しても、同じエラーになります。
端末からftpコマンドを発行した場合は、「cd . 」としてもエラーにはなりません。
また、ディレクトリの移動をしてもエラーにはなりません。
どのようにすれば、webcamでftp転送できるようになるでしょうか。
オフライン
申し訳ありません、タイトルに誤字がありました。
webcomではなくwebcamです。
管理者の皆様
できましたらタイトルの
「webcomで撮影した画像をFTPで転送できない。」
を
「webcamで撮影した画像をFTPで転送できない。」
に訂正をお願い致します。
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
もしかして ログインの部分とその後の「cd .」の部分は、異なるところ(スクリプト)から発行していて、ログイン部分の最後で「ゴミ」を渡してしまっている ということは無いですか?例えば、空の改行の送信があるとまずいのに送ってしまっているとか。ログから見ると、ftpサーバから(というか、ftpクライアントの標準出力の?)の「ftp> cd .」を、「cd .」を送信した結果としてエラーとして判断している(おそらく、送信内容のエコーバックである「cd .」を受信すると予測していた?)ようです。openとかのコマンドでは、プロンプトの受信(ftp> )とコマンドの送信(open hogehoge)とそのコマンドのエコーバック(open hogehoge)は別に載っていますから、動きが違うことがわかります。
オフライン
CMasami様、ご返信ありがとうございます。
端末からコマンドでftpを試しましたところ、mkdir、cd、putとも成功しました。
以下にそのときのログを添付します。
-----------------------------------------------------------
ftp> mkdir image
257 MKD command successful.
ftp> cd image
250 CWD command successful.
ftp> bin
200 Type set to I.
ftp> put test.jpg
200 PORT command successful.
150 Opening data connection for test.jpg.
226 Transfer complete.
ftp: 28521 bytes sent in 0.00Seconds 28521000.00Kbytes/sec.
ftp>
------------------------------------------------------------
webcamはデフォルトでは、
「.webcamrc に設定を記入することになっていますが、ftp転送におけるKerberos関連のエラーを回避できません」
ということを知り、 ~/.netrcを設定してログインまでは成功させました。
まだ他にエラー回避させないといけないものがあかもしれません。
探してみます。
オフライン
weyk様、ご返信ありがとうございます。
weyk様のご指摘の通り、
open コマンドとcdコマンドではエコーバックの内容が異なりますね。
気がつきませんでした。
openコマンドはwebcam内部のftpから発行されていると思います。
ユーザーID/パスワードは、~/.netrcの記述により、自動ログインさせています。
cdコマンドは、自動ログイン成功後、webcam内部のftpから発行していると思います。
従いまして、もし余計なものがあるとしたら、~/.netrcの定義になると思います。
~/.netrcの定義で余分なものがないか確かめます。
作業は、本日の夜間になります。
確認できましたら投稿します。
オフライン
よくよく考えると、定義ファイルのみしかないのですから、余分な改行をおくっちゃったりすることは無いですよね・・・
# また、ログインが正常に行われていることを確認する為に、わざと空改行を送っている可能性もあります。念のため。正常に動いているログが判れば確実なんですが・・・
もし、本当に、改行が余分なのが原因だとすると、すると、1つ思い当たるものがあります。
関連する設定ファイルで、「Unix形式ではない改行」(LF)になっているものがありませんか?
MS-Windowsの改行(CR+LF)の場合、(UnixのTextとしての)行末の前にある「CR」をデータの一部として送信してしまっているのかもしれません(例えば、パスワードが「hogehoge」のはずが、「hogehoge」+「CR」が送られている と)
# いまのMacの改行は忘れた・・・(UnixベースだからLF?)
各設定ファイル(.webcamrcと.netrc)を、odでバイナリダンプし、0d(CRのコード)が含まれていないかどうかを確認してみてください。
# 目視だと確認方法によっては、見逃す可能性があるため。
オフライン
~/.webcam ~/.netrcに余分なコードがないかをgeditとodコマンドでダンプファイルをとり、余計なコードがないこと、および0dコードが無いことも
確認しました。
原因不明ですね。webcamは諦めます。
代わりとしてwebcamとよく似た「webcamd」というパッケージを見つけました。これもsynapticで導入出来ました。
使用方法とセットアップ方法が以下のHPにそれぞれ記載されておりました。
http://www.digipedia.pl/man/webcamd.1.html
http://www.digipedia.pl/man/webcamd-setup.1.html
このページを見て、以下の設定ファイル3種類を作成しました。(/usr/share/doc/webcamd/examples/にサンプルがあり、コピー&修正しました。)
~/.webcamd/webcomd.conf <ーーーー取得デバイス、取得画像の大きさ、取得間隔、FTP転送先の指定
~/.webcamd/index_up.html <ーーーーwebcamd が起動している間、利用するWEBカメラ用ページのテンプレート
~/.webcamd/index_down.html <ーーーーwebcamd が起動している間、利用するWEBカメラ用ページのテンプレート
次に使用方法どおり
起動 webcamd start &
停止 webcamd stop
としたところ、webカメラから画像を取得し、「別のWEBサーバーの指定ディレクトリ」にFTP転送されました。
欠点としては、画像ファイル名が「webcam.jpg」と固定されることくらいです。(この欠点もページの作成で工夫すれば良いと考えています。)
代替手段がありましたので、この件はこれでcloseします。
また、次期バージョンのkarmic に同じような、fswebcamパッケージが入るようです。
機会がありましたら、fswebcamも試してみたいと思います。
サポートいただきました皆様、有難うございました。
オフライン