web-dev-qa-db-ja.com

MP4ビデオファイルをトリミングする方法(画像ではなく時間)

私は、mp4ファイルの最初と最後を少し切り落とすのに役立つアプリを探しています効率的かつロスレス

例えばキーフレームを見つけて、それを別のキーフレームの間でロットをコピーすることができます。ロットを再エンコードする必要がなく(低速で不可逆)、AV同期を失うことなくですか。

MP4とは、MP4コンテナ内のH264ビデオ+ AACオーディオを意味します

H264より前のAvidemuxは、損失のない元のエンコードされたストリームを再利用でき、トリミングバージョンを作成するのに数秒しかかからないため、このための優れたツールでしたが、h264では絶望的です。 (AV同期が大幅に失われる)、またはすぐにクラッシュする危険なモードを使用します。

AFAIK、Openshot、Kdenlive、Pitiviなどはすべて、デコードと再コーディング(低速で非可逆)によってこれを行います。

簡単なことのようです(おそらくここに私の知識の欠如を示しています!).

16
artfulrobot

ffmpeg

ffmpeg -i source.mp4 -ss 00:00:00 -t 00:00:00 -vcodec copy -acodec copy splice.mp4

これは、source.mp4を使用し、同じオーディオおよびビデオコーデックを使用して品質を低下させずに、-t timeの後-ss開始時間ビデオと出力splice.mp4

タイミングは書式設定に非常に敏感であることに注意してください(上記の書式設定の例です)。また、一部のディストリビューションでは、ffmpegavconvに置き換えられています。上記のコマンドを実行し、Word ffmpegをavconvに置き換えるだけでこれを解決できます。

このトピックに関する別の優れた情報源 (@pbhjに感謝)

23
earthmeLon

Ubuntu 16.04では、ffmpegと同等のコマンドはavconvです。

インストールするには、次を実行します。

Sudo apt-get install libav-tools

時間ごとにビデオをトリミングするコマンドラインの例:

avconv -i originalFile.ogv -ss 00:00:00 -t 00:00:10 -vcodec copy -acodec copy croppedFile.ogv
5
AlejandroVD