web-dev-qa-db-ja.com

再エンコードせずにOGVファイルをトリミングするにはどうすればよいですか?

まず、少し背景を説明します。 recordMyDesktop を使用してビデオを録画します。これはgtkまたはqtラッパーではなく、コマンドラインを使用するだけです。コマンドは次のようになります。

recordmydesktop -o file.ogv --full-shots --device=default

問題は、 Theora video とVorbisオーディオをOGVコンテナに保存することです。私が使用できる代替手段はありません。私の問題は、希望の録音時間の前後に時間がかかることです。つまり、セットアップとクリーンアップに費やす時間です。これを削除したい。だから私の質問は...

ビデオから秒XからYを抽出するにはどうすればよいですか?

元の品質をすべて保持したい。 YouTubeにもアップロード可能である必要があります。これらの2つの条件が満たされている限り、実際には別の形式を気にしません。


私はLinuxMint(Ubuntu/Debianベース)を使用しており、自分でコンパイルする必要がない限り、必要なフリーソフトウェアをインストールできます。


編集:
投稿された解決策を試しました ここ 。それが生成したaviはオーディオが同期しておらず、最初の30秒後にどういうわけかすべてを破棄しました。

5
Brigand

本当に自分でコンパイルしたくないですか?とても簡単です。 ここのガイド に従って、FFmpegの最新バージョンをインストールしてください。数分かかります。 ダウンロードページ から静的ビルドをダウンロードすることもできます。これを抽出するだけで、準備が整います。

Ubuntu(Mint)に同梱されているバージョンはおそらくバグがあり、非常に古く、apt-getを使用してインストールする場合はいくつかの依存関係が必要になるため、最新のものを使用することをお勧めします。

まず、何も再エンコードせずにパーツを抽出できます。 01:23から10秒:

ffmpeg -ss 00:01:23 -i file.ogv -t 00:00:10 -c copy out.ogv

ビデオを再エンコードする場合(同期の問題が発生した場合に役立ちます)、H.264ビデオとAACオーディオの場合は次のようになります(バックスラッシュを含むすべてをコピーして貼り付けるだけです)。

ffmpeg -ss 00:01:23.450 -i file.ogv -t 00:00:10.000 \
-c:v libx264 -preset slow -c:v aac -strict experimental -b:a 128k out.mp4

ここで追加できるオプションの詳細については、 x264エンコーディングガイド を確認してください。

13
slhck