さまざまなビデオサイズに合わせて透かしを拡大縮小する


-1

1280幅のビデオをオーバーレイするために作成された透かし。異なるサイズのビデオを使用する場合、透かしは完全に不均衡です。

だから、オリジナルのビデオサイズに合うように透かしを拡大縮小できる単一のコマンドを探しています。元のビデオのサイズを変更したくありません。

これは、現在使用している、1280幅のビデオで正常に機能するフォーマットです。(透かしを左下に配置)

-i video.mp4 -vf "movie=watermark.png [watermark]; [in][watermark] overlay=1:main_h-overlay_h-1:enable=not(between'(t,30,210)') [out]"

補足として、透かしは単に15文字の単語であるため、これによりソリューションの複雑さが軽減される場合、コマンドでテキストを使用することもできます。


透かしの解像度はどのくらいですか?そして、すべてのビデオは16:9ですか?
ギャン

こんにちは、助けてくれてありがとう!透かし= 400x48。ビデオの90%は16:9なので、標準として使用できます。
ラズ

回答:


0

scale2refフィルターを使用すると、1つの入力のサイズを変更して参照入力に一致させることができます。

テンプレートは

-i video.mp4 -filter_complex "movie=watermark.png[watermark];[watermark][0]scale2ref=400*iw/1280:48*iw/1280[wm][v];[wm]setsar=1[logo];[v][logo] overlay=1:main_h-overlay_h-1:enable=not(between'(t,30,210)') [out]"

このコードで「フィルターオーバーレイに未接続の出力があります」というエラーが表示されます。
ラズ

完全なコマンドを表示していませんが、-map [out]そこにある必要があります。
ギャン

働いた!-i in.mp4 -filter_complex "movie=logo.png[watermark];[watermark][0]scale2ref=400*iw/1280:48*iw/1280[wm][v];[wm]setsar=1[logo];[v][logo] overlay=1:main_h-overlay_h-1:enable=not(between'(t,30,210)')" out.mp4 次のコマンド(cmsで使用)を使用して自動スクリプトで動作させようとしています$q = "$ffmpeg_path -i \"".$content_path."/".$row['orig_filename']."\" $ffmpeg_command \"$video_path/$subdir".$row['filename']."\""; $ ffmpeg_command部分がcmsに追加されて実行されますが、ここでは失敗します。スクリプトで間違っていることを見つけることができません
ラズ

$ ffmpeg_command文字列とは何ですか?
ギャン

それはコマンドを追加する部分です。この場合-filter_complex "movie=/logo.png[watermark];[watermark][0]scale2ref=400*iw/1280:48*iw/1280[wm][v];[wm]setsar=1[logo];[v][logo] overlay=1:main_h-overlay_h-1:enable=not(between'(t,30,210)')[out]" 、scale2refで問題が発生します。これは、以下のコマンド(scale2refなし)を使用すると、すべてが完全に機能するためです。-vf "movie=logo.png [watermark]; [in][watermark] overlay=1:main_h-overlay_h-1:enable=not(between'(t,30,210)') [out]"
ラズ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.