スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ffmpegによる動画ファイルの切り出し

ffmpegによる動画ファイルの切り出しについて

今日はffmpegのターンです。
前回書いたように、動画の切り出しを行いたいと思います。

ffmpegを起動できる状態にしました。
またまたtiger.mp4を編集していきます。

今気づきましたがtiger23秒くらいしかなかった。

今回お世話になったのはこちら

時間指定して動画の開始からある場所までを切り出すには、変換の際にオプションを使います。

ffmpeg -i 元の動画 -t 切り出す時間(秒) 出力動画


開始点も指定する場合は

ffmpeg -i 元の動画 -t 切り出す時間(秒) -ss 開始点(秒) 出力動画


です。


早速やってみましょう。


tiger.mp4の開始から10秒を切り出してみます。

ffmpeg -i tiger.mp4 -t 10 tiger1_1.mp4




実行します



ずるずるっと出てきました。終わったようなので見てみます。



ありますね。

動画のほうも再生してみました。

わかりにくいですが、


元動画


分割後

再生時間と再生位置からなんとなく分割できていることを感じてほしい。

では、指定した秒数から分割をスタートした際に動画の残り再生時間が短かったらどうなるのか実験です。
具体的に言うと、今tiger.mp4は全部で23秒の動画です。
こいつを、20秒を開始点にして、10秒切り出してくれと頼んだらどうなるのか??

やってみましょう。

ffmpeg -i tiger.mp4 -t 10 -ss 20 tiger1_2.mp4


ターンッ

終わったようです。再生してみました。


どうやら、20秒の点から3秒間切り出せたようです。

では、今度は25秒を開始点にしてみます。

ffmpeg -i tiger.mp4 -t 10 -ss 25 tiger1_3.mp4


実行してみます。


何やら様子が違いますね。
警告らしきものを吐かれました(そりゃそうだわな)。

意訳としては、「サンプルを削除しようとしましたがキューが空ですよ」「エンコーダは結果を生成できませんでした」って感じかと思われます。
ないものは切り出せねぇよってことでしょう。無理はいけない。
一応確認したところ、tiger1_3.mp4なる動画ファイルは生成されましたが再生はできませんでした。

さて、なんとなく挙動がわかってきたので実際に使っていきたいんですが、もう少し情報があった方が応用しやすいです。動画の長さが知りたいです。
というわけで、探してみました。

まず、動画の情報を取得する方法です。
これは単純に

ffmpeg -i tiger.mp4


で見ることができるみたいです。



表示しました。多分、変換のたびに出てたんでしょうね。
下線部は動画ファイルの名前と保存形式
円で囲ってあるのが動画の秒数です。
一番下に出ているエラーメッセージは、「出力先の指定忘れてんぞおい」なんで無視します。

さてさて、動画の時間がわかりました。
つまり、60秒の動画を15秒毎に切り出すと動画ファイルが4つ、
1時間半の動画を10分毎であれば9個、という風に、何回分割を行えばいいかわかるようになるわけです。

……いちいちコマンド打つのすげぇめんどくさいな。

ということで、次回からffmpegはちょっとお休みしてスクリプトについて考えてみたいと思います。
ここからはまったくわからないので、まぁ地道に頑張っていきましょう。

では、今日はこの辺りで。
関連記事

コメント

非公開コメント
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。