いくつかの長いオーディオファイル(各80分、m4a)があり、それらを5分または10分に分割したいと考えています。
オーディオファイルを長いポーズやトーンなどで分割することについての質問はたくさんありますが、この単純な操作に関する質問を見つけられないようです。誰かがこれを行う簡単な方法を知っていますか?
もちろん、自動でコマンドラインを使用することもできます。
前もって感謝します!
最近のffmpegで(静的ビルドをダウンロード ここから ):
ffmpeg -i in.m4a -f segment -segment_time 300 -c copy out%03d.m4a
これはセグメントマクサーを使用し、ビットストリームをコピーします。ファイルにオーディオストリームとビデオストリームがある場合は、-vn
を使用してビデオストリームを無効にできます。
ここにワンライナーがあります-- Ruby と FFmpeg がインストールされている必要があります:
Ruby -e '(0..4500).step(300) { |x| system "ffmpeg -ss #{x} -i in.m4a -c copy -t 300 out-#{x}.m4a"}'
in.m4a
と同じフォルダで実行してください。オーディオのビットストリームをコピーするので、これを実行するのに数秒もかかりません。
説明する:
-ss
で指定された時間に開始します-t
で指定された時間だけコピーされますout-<x>.mp4
と呼ばれるいくつかの出力ファイルを書き込みます。ここで、<x>
は秒単位の開始時間です。この質問が出されてからしばらく経ちましたが、Rubyとffmpegをいじってみたところ、Windowsでこれを行う簡単な方法があるはずだと判断しました。
Audacityをダウンロードしてインストールする
見つけられる場所にテキストファイルを作成し、次の文字列を貼り付けます(300秒間隔、つまり5分、10分は600間隔など)。
0 300
300 600
600 900
900 1200
1200 1500
1500 1800
1800 2100
2100 2400
2400 2700
2700 3000
3000 3300
3300 3600
3600 3900
3900 4200
4200 4500
4500 4800
4800 5100
5100 5400
5400 5700
5700 6000
6000 6300
6300 6600
6600 6900
6900 7200
7200 7500
7500 7800
7800 8100
8100 8400
8400 8700
8700 9000
9000 9300
9300 9600
9600 9900
9900 10200
10200 10500
10500 10800
10800 11100
11100 11400
11400 11700
11700 12000
12000 12300
12300 12600
12600 12900
12900 13200
13200 13500
13500 13800
13800 14100
14100 14400
14400 14700
14700 15000
間隔の数がオーディオファイルの合計の長さよりも大きいことを確認してください。これは、3時間以上実行される私のニーズに十分に長いものを作成しました。必要に応じて、さらに追加してください。
オーディオファイルをAudacityにインポートして、必要なバランス調整やその他の編集を行い、[ファイル]> [ラベル]> [ラベルのインポート]をクリックします。
テキストファイルを選択してから、ラベルトラックとオーディオトラックを同時に選択し、[ファイル]> [複数エクスポート]をクリックします。
エクスポート先のファイルタイプを変更して設定を調整し、宛先フォルダーを選択します。
私は常に番号付けパターンを番号付け後のファイル名プレフィックスに変更し、ボックスに必要なファイル名を入力すると、プログラムによって番号が追加され、エクスポートとビオラがヒットします!
私はこれに対する解決策を自分で探していました。私がこれを行うことがわかった最も簡単な方法は MP4Box を使用することです:
mp4box -split 300 infile.m4a
ここで、「300」は秒単位の時間です。 MP4Boxは自動的に番号付きの出力ファイルを書き込みます。
(大きなGPACアプリケーション全体をインストールする必要はありません。これらは、アーカイブから抽出して機能させるために、js.dll、libeay32.dll、libgpac.dll;のファイルです。 MP4Box.exe; ssleay32.dll)