お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2009-07-30 00:15:49

Dr_SouthWind
メンバ
登録日: 2007-06-25

webcomで撮影した画像をFTPで転送できない。

私、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転送できるようになるでしょうか。

オフライン

 

#2 2009-07-30 01:03:10

Dr_SouthWind
メンバ
登録日: 2007-06-25

Re: webcomで撮影した画像をFTPで転送できない。

申し訳ありません、タイトルに誤字がありました。
webcomではなくwebcamです。

管理者の皆様
できましたらタイトルの
「webcomで撮影した画像をFTPで転送できない。」

「webcamで撮影した画像をFTPで転送できない。」
に訂正をお願い致します。

オフライン

 

#3 2009-07-30 01:50:51

CMasami
拒否
From: Utsunomiya
登録日: 2007-12-13

Re: webcomで撮影した画像をFTPで転送できない。

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

オフライン

 

#4 2009-07-30 09:34:55

weyk
メンバ
登録日: 2009-04-03

Re: webcomで撮影した画像をFTPで転送できない。

 もしかして ログインの部分とその後の「cd .」の部分は、異なるところ(スクリプト)から発行していて、ログイン部分の最後で「ゴミ」を渡してしまっている ということは無いですか?例えば、空の改行の送信があるとまずいのに送ってしまっているとか。ログから見ると、ftpサーバから(というか、ftpクライアントの標準出力の?)の「ftp> cd .」を、「cd .」を送信した結果としてエラーとして判断している(おそらく、送信内容のエコーバックである「cd .」を受信すると予測していた?)ようです。openとかのコマンドでは、プロンプトの受信(ftp> )とコマンドの送信(open hogehoge)とそのコマンドのエコーバック(open hogehoge)は別に載っていますから、動きが違うことがわかります。

オフライン

 

#5 2009-07-30 13:52:41

Dr_SouthWind
メンバ
登録日: 2007-06-25

Re: webcomで撮影した画像をFTPで転送できない。

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を設定してログインまでは成功させました。
まだ他にエラー回避させないといけないものがあかもしれません。
探してみます。

オフライン

 

#6 2009-07-30 14:01:50

Dr_SouthWind
メンバ
登録日: 2007-06-25

Re: webcomで撮影した画像をFTPで転送できない。

weyk様、ご返信ありがとうございます。

weyk様のご指摘の通り、
open コマンドとcdコマンドではエコーバックの内容が異なりますね。
気がつきませんでした。

openコマンドはwebcam内部のftpから発行されていると思います。
ユーザーID/パスワードは、~/.netrcの記述により、自動ログインさせています。
cdコマンドは、自動ログイン成功後、webcam内部のftpから発行していると思います。

従いまして、もし余計なものがあるとしたら、~/.netrcの定義になると思います。
~/.netrcの定義で余分なものがないか確かめます。

作業は、本日の夜間になります。
確認できましたら投稿します。

オフライン

 

#7 2009-07-30 14:16:37

weyk
メンバ
登録日: 2009-04-03

Re: webcomで撮影した画像をFTPで転送できない。

よくよく考えると、定義ファイルのみしかないのですから、余分な改行をおくっちゃったりすることは無いですよね・・・
# また、ログインが正常に行われていることを確認する為に、わざと空改行を送っている可能性もあります。念のため。正常に動いているログが判れば確実なんですが・・・

もし、本当に、改行が余分なのが原因だとすると、すると、1つ思い当たるものがあります。

関連する設定ファイルで、「Unix形式ではない改行」(LF)になっているものがありませんか?
MS-Windowsの改行(CR+LF)の場合、(UnixのTextとしての)行末の前にある「CR」をデータの一部として送信してしまっているのかもしれません(例えば、パスワードが「hogehoge」のはずが、「hogehoge」+「CR」が送られている と)
# いまのMacの改行は忘れた・・・(UnixベースだからLF?)

各設定ファイル(.webcamrcと.netrc)を、odでバイナリダンプし、0d(CRのコード)が含まれていないかどうかを確認してみてください。
# 目視だと確認方法によっては、見逃す可能性があるため。

オフライン

 

#8 2009-07-31 01:14:20

Dr_SouthWind
メンバ
登録日: 2007-06-25

Re: webcomで撮影した画像をFTPで転送できない。

~/.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も試してみたいと思います。

サポートいただきました皆様、有難うございました。

オフライン

 

Board footer

Powered by FluxBB