コマンドラインからテキストを動画に変換

コマンドラインからテキストを動画に変換

myslide以下を実行するスクリプトが必要です。

myslide -f 15 -t 20 "Hello World"

画面中央に20秒間、フォントサイズ15の「Hello World」のみを表示するムービーファイル(mplayerで再生)を作成します。

見つけることができるショートカットがありますか?

ベストアンサー1

ここでは、を使用して2つの可能性が提案されます。

編集する:これで、両方のスクリプトが圧縮され、再生専用に変更されました。一つフレームが持続する時間(秒単位)を指定します。mplayer非常に低いFPSを処理できます(例:0.008547009そして0.003154574FPSはうまく動作します。 117秒と317秒の再生時間)。

メモ:Ubuntu 10.04システムで。mplayer最初のフレームは再生されないため、指定された時間に達するには2つのフレームを含める必要があります。したがって、他のプレイヤーが両方のフレームをプレイして、ゲーム時間が2倍になる可能性があることに注意してください。

aviシンセサイザー多目的/強力なフレームワークサーバー。グラフィカルユーザーインターフェースはありません。非線形オーディオビデオ編集/生成/フィルタリングのためのスクリプト言語です。
フレームサーバーとしてビデオをディスクに作成する必要はありません。 AviSynth認識ツール(メディアプレーヤーまたはエンコーダ)にフレームごとに直接ビデオ/オーディオサービスを提供できます。

AviSynthはWindows用に書かれた無料のオープンソースソフトウェアです(私はあなたを失いましたか? )もの。しかしそれはスムーズに作業以下にwine。これワインバージョンmplayerAvidemux処理可能.avsスクリプト(他のスクリプトもあります。例:バーチャルダビングAVSPmodこれはAvisynthのミニ「IDE」GUIです。

以下は、目的のタスクを実行するAviSynthスクリプトです。

myslide  15 20 "Hello from AviSynth"

#!/bin/bash
fontSize=$1; sec=$2; text="$3"
>>test.avs printf 'Blankclip( 2 ,width=640 ,height=480 ,fps=1/float(%s), color=$000000)\n' "$sec"
>>test.avs printf ' \ .Subtitle("%s", font="Arial", size=%s, text_color=$ff0000, align=5)\n' "$text" "$fontSize" 
wine avs2yuv.exe  test.avs -  2>/dev/null |
ffmpeg -b 100 -i - "test.mp4" 2>/dev/null

mplayer test.mp4

AVS2YUVWineで使用するように設計されたコマンドラインプログラム。avicintとLinuxベースのビデオツール。
AVS2YUVビデオストリームのみが読み込まれますが、aviシンセサイザーオーディオとビデオフレームは(Avidemuxに付属)を介してAvidemux供給することができますAvsProxy...

---

convert以下は、from packageを使用する別のアプローチですimagemagick。このメソッドは一連の.jpg画像を生成します。

myslide  15 20 "Hello from convert"

#!/bin/bash
fontSize=$1; sec=$2; text="$3"
FPS=$(awk 'END{print 1/'$2'}' /dev/null)
convert -background lightblue -fill blue -pointsize $fontSize -gravity center -size 640x480 caption:"$text" "test$$0.jpg"
cp test$$0.jpg "test$$1.jpg" # Add 1 extra; mplayer doesn't play ist frame (on test system)
ffmpeg -y -r $FPS -b 100 -i test$$%d.jpg test.mp4
rm  test$$*.jpg # remove temp images

mplayer test.mp4

おすすめ記事