LinuxとAndroidでSkype/Googleトークをするために、デジタル一眼レフカメラをビデオ入力として使用したいと思います。
v4l2loopbackとCanonEDSDKを使用してビデオループバックを作成することは可能ですか?ライブビューバッファをカメラからビデオループバックにパイプするにはどうすればよいですか?
ありがとう
LinuxとAndroidでSkype/Googleトークをするために、デジタル一眼レフカメラをビデオ入力として使用したいと思います。
v4l2loopbackとCanonEDSDKを使用してビデオループバックを作成することは可能ですか?ライブビューバッファをカメラからビデオループバックにパイプするにはどうすればよいですか?
ありがとう
2017年10月の時点で、GStreamerは1.0に更新され、v4l2loopbackもいくつかの更新を受け取りました。
そのため、@ Reinaert Albrechtによって投稿された古いコマンドは機能しなくなり、現在機能する新しいコマンドは次のようになります。
gphoto2 --stdout --capture-movie | gst-launch-1.0 fdsrc fd=0 ! decodebin name=dec ! queue ! videoconvert ! tee ! v4l2sink device=/dev/video0
decodebin2
に置き換えられましたdecodebin
ffmpegcolorspace
に置き換えられましたvideoconvert
tee
フィルターは、v4l2loopbackドライバーのバグを説明するために追加されました(https://github.com/umlaeute/v4l2loopback/issues/83を参照) 。私の理解では、キヤノンのEDSDKは、WindowsおよびOSXプラットフォーム(CおよびObjective-C)の要求があった場合にのみ利用できます。Linuxでは、SDKをWineにインストールするか、より汎用的なgPhotoを使用することをお勧めします。現在、「LiveView」または「EvF」画像は個別のJPGです。または、HDMI出力ポート(2013年春にEOS 5D Mark IIIでフル解像度になる予定)を介してこれをキャプチャすることもできます。
ループバックデバイスにフレームを書き込む「プロデューサー」アプリケーションが必要になります(以前にcanon esdkを介してそれらのフレームを取得しました)。
v4l2loopbackには、すでにいくつかの簡単なプロデューサーの例が付属しています。Gem、lives、gmerlin、gstreamerなど、ネイティブのv4l2loopback出力をすでにサポートしている他のアプリケーションを見ることができます。
これは、次のコマンドで簡単に実行できます。
modprobe v4l2loopback
そして、これを発行します:
gphoto2 --stdout --capture-movie | gst-launch-0.10 fdsrc ! decodebin2 name=dec ! queue ! ffmpegcolorspace ! v4l2sink device=/dev/video0
ビデオデバイスを適切に変更します。