前書き
FFmpegはマルチメディアプロセッサであり、ビデオやオーディオの素材をさまざまな形式に記録、処理、変換できるライブラリのセットです。このツールを使用すると、ほぼすべての複雑さのビデオ編集を行うことができます。多くのプレーヤー、コンバーター、エディター、コンピュータービジョンライブラリーで使用されています。この記事では、FFmpegのトリックと私が仕事でよく使用するトリックのいくつかを共有します。
時間でビデオをトリミングする
かなり頻繁にあなたがから小断片をカットする必要がn個にm個秒のビデオから。これを行うには、カットする秒と期間を指定する必要があります。
ffmpeg -i i.mp4 -ss 00:01:00 -t 00:02:00 -c copy o.mp4
パラメータ-ss
は、開始点と-t
期間を示します。
重要な注意点!ビデオの長さが5分である場合、開始点を00:04:00に示し、長さが00:02:00である場合、最終的なビデオの長さは1分になります。
記事の本文のこことさらに、i.mp4
は入力ファイルへのパスであり、o.mp4
-は出力へのパスです。
写真からビデオを作成する
日中毎分写真を撮る監視カメラがあり、1つの連続したビデオを取得したいとします。
, .jpg , 10 FPS, H.264 .
ffmpeg -framerate 10 -pattern_type glob -i '*.jpg' -c:v libx264 o.mp4
— .
ffmpeg -i o.mp4 -r 1 -q:v 2 -f image2 img-3%d.jpeg
, list.txt , , :
file 'video1.mp4'
file 'video2.mp4'
file 'videoN.mp4'
:
ffmpeg -f concat -i list.txt -c copy o.mp4
, , , :
for f in ./*.mp4; do echo "file '$f'" >> list.txt; done
:
printf "file '%s'\n" ./*.mp4> list.txt
:
ffmpeg -i i.mp4 -c:v copy -an o.mp4
:
ffmpeg -i i.mp4 -vn 0.wav
, , 16:9 3:4, .
ffmpeg -i i.mp4 -filter:v "crop=w:h:x:y" o.mp4
crop , , .
(stack video)
, , , :
.
.
:
ffmpeg -i i0.mp4 -i i1.mp4 -filter_complex hstack=inputs=2 o.mp4
:
ffmpeg -i i0.mp4 -i i1.mp4 -filter_complex vstack=inputs=2 o.mp4
2x2:
ffmpeg \
-i i0.mp4 -i i1.mp4 -i i2.mp4 -i i3.mp4 \
-filter_complex \
"[0:v][1:v]hstack=inputs=2[top]; \
[2:v][3:v]hstack=inputs=2[bottom]; \
[top][bottom]vstack=inputs=2[v]" \
-map "[v]" \
o.mp4
3x2:
ffmpeg \
-i i0.mp4 -i i1.mp4 \
-i i2.mp4 -i i3.mp4 \
-i i4.mp4 -i i5.mp4 \
-filter_complex \
"[0:v][1:v][2:v]hstack=inputs=3[top];\
[3:v][4:v][5:v]hstack=inputs=3[bottom];\
[top][bottom]vstack=inputs=2[v]" \
-map "[v]" \
o.mp4
ffmpeg -i i.mp4 -vf "transpose=0" o.mp4
transpose :
0 - 90 . .
1 - 90 .
2-反時計回りに90度回転します。
3-時計回りに90度回転し、垂直方向に回転します。
あとがき
FFmpegは非常に強力なビデオ処理ツールです。その助けを借りて、その機能に関するチートシートを持っていると、多くの時間を節約できます-エディタを起動するよりも、ビデオを処理するためにいくつかのコマンドを入力する方がはるかに高速です。
もっと便利なトリックやトリックを知っているなら、コメントでそれらを共有することを歓迎します。ありがとうございました!