avconv でオーディオファイルをカットするにはどうすればいいですか?

avconv でオーディオファイルをカットするにはどうすればいいですか?

でファイルをカットする方法がわかりませんavconv。私が使用しているコマンドは次のとおりです。

avconv -ss 52:13:49 -t 01:13:52 -i RR119Accessibility.wav RR119Accessibility-2.wav 

しかし、うまくいきません。結果としてファイル全体が取得されます。まあ、ほぼファイル全体です。どういうわけか、結果のファイル1:16:31には ではなく期間が含まれています。また、このコマンドを および の後に、終了点を指定して 、mp3 ファイルを指定して 、オーディオ コーデックを指定して 、 など、1:17:23あらゆる可能な方法で実行したと思います。やり方が間違っていますか?-ss-t-i-tffmpeg

上院この作品のおかげでbodhi.zazen( によって報告されたオフセットと継続時間を修正しましたmp3splt-gtk。何らかの理由で間違っていましたが、目標はmp3ファイルをカットすることでした)

avconv -i RR119Accessibility.mp3 -ss 00:52:08 -t 00:01:08 RR119Accessibility-2.mp3

しかし、これは当てはまりません:

avconv -ss 00:52:08 -t 00:01:08 -i RR119Accessibility.mp3 RR119Accessibility-2.mp3

結果のファイルは 00:52:08 から始まり、元のファイルの最後まで続きます。および は、 の前に指定されている場合は入力ファイルに関連付けられ、 の場合は出力ファイルに関連付けられると-ss考えていました。誰かこれを説明できますか?-t-i

答え1

元々の問題はタイムスタンプのフォーマットにあったと思います。

形式はHH:MM:SSです

オプションの順序についての質問がよくわかりません。-i の後に入力ファイル名が続き、-ss HH:MM:SS の後に -t HH:MM:SS が続く限り、問題ないと思います。

-ss HH:MM:SSは開始点、-t HH:MM:SSは期間です

つまり、-ss 00:01:00 -t 00:05:00 は 1 分目から開始し、5 分間実行されます。

私のシステムでは、ffmpeg を使用すると、順序は重要ではありません (-ss の後に期間 (-t) が続く限り、時間または入力ファイルを任意の順序で指定できます)

答え2

問題は、コマンド ラインのどこにあるかによって意味が異なることから生じます。これは、プロジェクトの一部だった-ss時代から引き継がれたもので、新しいバージョンでは修正されていると思います。avconvffmpeg

昔はこう言っていた

 ffmpeg -ss 5 -i input

あなたが言いたかったのは、「ファイル内の 5 秒のマークまでスキップして、そこから読み始める」ということです。

でももしあなたが

ffmpeg -i input -ss 5

つまり、「入力ファイルを開いて、5 秒のマークまですべてのデータをスキップする」ということです。

ご存知のとおり、最初のアプローチは、ファイルを読み取らずにスキップするため、実際にはかなり頻繁に失敗します。これは、タイムスタンプが含まれているファイルでのみ有効であり、フレームを読み取って、すでに進みすぎているかどうかを知ることができます。

基本的に、ffmpeg での動作方法は、「最初の 1 秒でビットレートを推測し、他のすべての秒は同じであると想定する」というものでした。ただし、もちろん、すべての秒が同じというわけではなく、52 時間の「ドリフト」について話している場合、エラーはかなり大きくなる可能性があります。

したがって、avconv の分割後の初期バージョンを使用している場合は、常に-ss読み取られるファイルの後に置く必要があります。ただし、新しいバージョンでは (私の知る限り) このバグは修正されています。

答え3

試す:

avconv -i RR119Accessibility.wav -ss 52:13:49 -t 01:13:52 RR119Accessibility-2.wav

ffmpeg と avconv のオプションは位置に依存します。

あなたの例では、ffmpeg はファイルの読み取りを開始し、timestamp -ss から出力を開始します
(私のシステムでは、ffmpeg はうまく機能しますが、avconv はうまく機能しません。これは一種の回帰と言えます)。

ここで示した例では、avconv (または ffmpeg) は最初に正しいオフセットをシークし、次に読み取りと出力を開始します。これはどちらでも機能します。

avconvに関する詳細なドキュメントは以下をご覧ください。http://libav.org 彼らは ffmpeg をフォークし、Ubuntu の非常に古い ffmpeg バージョンも担当しています。

実際の ffmpeg は Ubuntu リポジトリではなく PPA にあります:
ppa:ジョン・セヴェリンソン/ffmpeg
ffmpegに関する詳細なドキュメントは以下をご覧ください。出典: ffmpeg.org

manページは古いと考える

関連情報