ビデオ編集用のLinuxコマンドラインツール?


3

2つのビデオを1つに結合したいと思います。最初のビデオは画面全体をカバーする必要があります。2番目のビデオは、画面の右上の小さな領域をカバーする必要があります(したがって、最初のビデオとオーバーラップします)。

理想的には、プロセスを自動化する必要があります。たとえば、2つの入力ビデオを受け取り、1つのムービーファイルを出力するスクリプトを使用します。

Linux向けのビデオ編集ツールをお勧めできますか?

PS:コンテキストは講義の記録です。メイン画面はホワイトボードまたはプレゼンターのデスクトップの録画で覆われ、プレゼンター自身は画面の右上の長方形に表示されます。

編集
開発者として、私はGStreamerに慣れ親しみ、必要なことだけを行うアプリケーションを作成したいと思います。それは良いアイデアでしょうか?

編集2
ちょうど私が望むものをほぼ正確に実行するこの興味深いgst-launchスクリプトを見つけました。試してみましょう。


これに使用する予定のオペレーティングシステムは何ですか?
mac

@ mac、Linuxの場合、投稿を更新しました。
StackedCrooked

回答:


3

この1つのライナーは、画面の解像度に合わせてサイズを調整するだけで、その方法を示しています。

gst-launch \
    v4l2src device=/dev/video1 \
        ! video/x-raw-yuv,width=352,height=288,framerate=\(fraction\)30/1 \
        ! videoscale \
        ! video/x-raw-yuv,width=640,height=480 \
        ! cairotextoverlay text=1 shaded-background=true deltax=310 deltay=-430 \
        ! videobox left=0  top=0  border-alpha=0 \
        ! videomixer name=mix \
        ! xvimagesink \
    v4l2src device=/dev/video0 \
        ! video/x-raw-yuv,width=640,height=480,framerate=\(fraction\)30/1 \
        ! videoscale \
        ! video/x-raw-yuv,width=1280,height=960 \
        ! cairotextoverlay text=2 shaded-background=true deltax=630 deltay=-910 \
        ! videobox left=0 top=0 border-alpha=0 \
    ! mix.

うわー、なんというコード。さて、シェル私に問題ありません。
チアゴマセド

2

質問71694で同様の質問をしました。最終的に、私が望んでいたことを行うためのpythonスクリプトを作成しました。これは予想以上に簡単で、プログラミングスキルが必要であることは明らかですが、完全に自動化されたソリューションになりました。

これが私のワークフローです。

  1. ffmpegを使用して入力ビデオを画像シーケンスにエクスポートします
  2. 出力内のビデオの場所、フレームレート、開始および停止時間などを決定する構成ファイルを定義します。
  3. Pythonスクリプトは、Python Imaging Library(PIL)を使用して画像を結合し、新しい画像シーケンスとして書き込みます
  4. ffmpegを使用して、出力をビデオに再結合します

このルートを利用したい場合は、詳細とコードを共有できます。それ以外の場合、Camtasia(Linuxではないので、おそらく使いません)を使用して、基本的なピクチャーインピクチャーを作成しました(ここに素敵なチュートリアルがあります


それは興味深いアプローチです。私は可能性が何であるかをチェックしますが、いくつかの簡単な質問:品質に大きな損失がありますか?どうやって音声を保存しましたか?各画像のタイムスタンプをどのように関連付けますか?
StackedCrooked

1)圧縮されていないビットマップにエクスポートしても品質は低下しません(一時的に多くのディスク容量を消費します)2)現時点ではオーディオを処理しません-ffmpegができるため、ステージ4で元のオーディオトラックを追加できます3)出力ビデオ用に定義されたマスターフレームレート-各出力フレームに対して、各入力ストリームに対して「現在の」フレームであるスクリプトが動作し、それらを結合します。ffmpegにはPythonバインディングがあり、最終的にビデオの読み取りと書き込みを行います。一時的な画像の保存を回避するために直接ストリーミング
rupello 09年

1

魅力的な問題。すぐに使えるソリューションはありませんが、いくつかのリードとそれを行う別の方法があります。

リード

  • 彼らがimagemagickツールキットといくつかのbashスクリプト(スクリプトはサイトで入手可能)を使用したこのページを参照してください。彼らはあなたが必要とするより複雑な何かをする必要がありましたが、私はテクニックは同じだと思います。
  • FFmpegにはさまざまなプラグインも利用できます。この透かしプラグインは、メインビデオでアニメーションGIFを使用します。繰り返しますが、異なるタスクですが、コードはあなたの目的のために非常にリサイクル可能であると思います。

代替方法

  • 同時に記録します!たとえば、チーズを使用して画面の隅に教師のショットを保持し、recordmydesktopを使用して画面全体を記録できます。
  • 2つのビデオを別々に録画した後、OpenShotCinelerraなどのビデオエディターを使用して合成を行います。

これが問題を解決する方法を見つけるのに少し役立つことを願っています。幸運!


0

あなたは見ていたのDVスイッチを?Debianプロジェクトが会議の記録に使用しているものです。

ストリーミングと録画の両方でリアルタイムで2つのビデオストリームをミックスするという点で、あなたが求めているものとは少し異なります。欠点は、元のビデオの品質が完全に失われることですが、欠点は、混合出力のみが保存されるのと同じくらいのディスクストレージが必要ないことです。

また、オーバーレイ/混合ビデオのライブビューを備えたGUIアプリケーションでもあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.