これは、しばらくの間私を悩ませてきたLinuxオーディオMP3パズルです:
MP3から最初の数秒をトリミングする方法オーディオファイル? (ffmpeg -ss
を00:01または1.000形式で動作させることはできません)
これまでのところ、やりたいことを行うために、 GUIの方法は、単一のファイルの場合は遅く、ファイルのバッチの場合は間違いなく遅くなります。
コメント
- 更新。後で、私はffmpegが–ss時間形式について非常にうるさいという事実に遭遇しました。たとえば、-ss 00:00:09を指定することで、最初の9秒を最も簡単にトリミングできました(3つの数字すべてが必要であることに注意してください)。 hh:mm:ss形式)使用していたバージョンが古い可能性があります… FFmpegバージョンSVN-r18709、Copyright(c)2000-2009 Fabrice Bellard、etal。
回答
linuxでmp3を編集するには、 sox をお勧めします。使いやすいtrim
エフェクトで、必要な処理を実行します(データについては、man sox
を参照してください-検索()「トリムスタート」の場合)例:
sox input.mp3 output.mp3 trim 1 5
言及していませんが、目的が沈黙を削除することだけの場合ファイルの先頭で、silence
効果がはるかに便利であることがわかります(man sox
、「above-periods」を検索してください)
コメント
- ありがとう、すごい:うまくいきました。簡単にするために、最終的に
trim
を使用しました。唯一のダウナーはsox FAIL formats: can't open output file 'blah.mp3': SoX was compiled without MP3 encoding support
だったので、ffmpegを再入力してください:/ - これは珍しいようです。私のコンピューターでは、mp3で問題なく動作します。これはビルド時の構成の問題です。どのようにインストールしましたか?
- @rozcietrzewiacz、配布リポジトリからsoxをインストールすると、MP3サポートなしでsoxを入手する可能性が高くなります(ライセンスの問題のため)。たとえば、Fedora 17の場合:
no handler for file extension mp3
- ' mp3でsoxをコンパイルする方法を理解するのに苦労していますサポート。 FAQもグーグルも何もありません。そして、質問はffmpegを使用したトリミングについてでした…
回答
mp3splt 。MP3ファイルとOggファイルを分割でき、ファイルを再エンコードしないため、品質の低下を回避できるという利点があります。
コメント
- 気に入った;ありがとう。シンプルでありながら、多くのオプションがあります…例:これが今使用したコマンドで、ファイル名に分割時間を追加します:
mp3splt "$file" 4.12 27.55.7
…これによりカスタム出力名のフォーマットと複数の分割点。
回答
時間の指定が時間で始まることを確認してください。
位置秒単位または “hh:mm:ss [.xxx]”形式のいずれかです
つまり、2番目の構文を選択すると、.xxx
の部分はオプションです。そうしないと、ffmpegが秒として誤って解析する可能性があります。
同じことが継続時間にも当てはまります:
期間は秒単位の数値、またはin “hh:mm:ss [.xxx]”
もう1つの落とし穴は、ffmpeg引数の順序です(例:-ss
/ -t
入力ファイルのオプションは-i
オプションの前に置く必要があります。
例
$ wget http://traffic.libsyn.com/twiv/TWiV179.mp3 $ ffmpeg -ss 1:05:59.3 -t 00:02:03.9 -i TWiV179.mp3 -acodec copy \ what_is_a_hmm_twiv179.mp3
仕様-ss 1:05:59.3 -t 2:03.9
を使用すると、異なる結果が得られます(つまり、2秒の長さのピース)。
(ffmpegバージョン0.10.7を使用したFedora 17でテスト済み)