2009-05-15 6 views
2

を経由してリモートマシン上のffmpegを使用してください。は、どのように私は私のLAN上の3台のコンピュータ、</p> <p><em>のubuntu</em>を実行している1、<br> <em>のopenSUSE</em><br> と<em>Archlinux</em>を実行している私のサーバーを実行しているものを持っているのssh

ffmpegさんは私のサーバーで正常に動作するように管理しています。

私はローカルマシン上のffmpegのインストールするふりをするスクリプトを書きたいと思いますが、実際には、サーバーのffmpegのを使用することでしょう。

例:私は呼び出すしたいのopenSUSE PC上

ffmpeg -i file.avi out.flv

をして、予想されるように、通常の出力を取得し、
が、私はそれをしたいですarchlinuxでffmpegを使用する。

私はこれをどのように動作させるかに関するアドバイスをします。
(好ましくはRubyで)

編集:私はここにHow do I display progress bars from a shell command over ssh

答えて

2

私はたくさんのルビーフーを持っていませんが、これはうまくいくようです!

前提条件、(コメント付き)

sudo yum install rubygems 
sudo gem install net-ssh net-sftp highline echoe 

コード、

#!/usr/bin/env ruby 

require 'rubygems' 
require 'net/ssh' 
require 'net/sftp' 
require 'highline/import' 

file = ARGV[ 0 ]     # filename from command line 
prod = file + "-new"    # product filename (call it <file>-new) 
rpath = "/tmp"     # remote computer operating directory 
rfile = "#{rpath}/#{file}"  # remote filename 
rprod = "#{rpath}/#{prod}"  # remote product 
cmd = "mv #{rfile} #{rprod}"  # remote command, constructed 

host = "-YOUR REMOTE HOST-" 
user = "-YOUR REMOTE USERNAME-" 
pass = ask("Password: ") { |q| q.echo = false } # password from stdin 

Net::SSH.start(host, user, :password => pass) do |ssh| 
     ssh.sftp.connect do |sftp| 
       # upload local 'file' to remote 'rfile' 
       sftp.upload!(file, rfile) 

       # run remote command 'cmd' to produce 'rprod' 
       ssh.exec!(cmd) 

       # download remote 'rprod' to local 'prod' 
       sftp.download!(rprod, prod) 
     end 
end 

そして、私はそうのようにこれを実行することができ、

[email protected] ~/tmp/ruby) ls 
bar remotefoo.rb* 
[email protected] ~/tmp/ruby) ./remotefoo.rb bar 
Password: 
[email protected] ~/tmp/ruby) ls 
bar bar-new remotefoo.rb* 
2

にこの質問を拡張しましたいくつかのオプションが、最も簡単な最初にされていますリモーティング

  • があなたのLAN上のNFSを設定するには、すべてのマウントディスクを作成してから、リモートマウント名を使用してsshコマンドを実行します。その厄介な名前を使用するのはユーザーの負担です。

  • ffmpegオプションを解析して入力ファイルと出力ファイルを識別し、次にrealnameパッケージ(または単純なシェルスクリプト)のようなものを使用して、名前を絶対パス名に変換してからリモートマウント名に変換します。

  • NFSを使用しないで、ffmpegオプションを解析し、入力ファイルと出力ファイルをコピーするのにscpを使用してください。

関連する問題

 関連する問題