2012-04-07 6 views
2

私はCDN上にオーディオファイルのヒープを持っています。それらは並行してmp3とoggのボルビーズです。それらのファイルはそれぞれ約1時間の再生価値があります。これらのファイルから任意の部分を抽出する必要があります。ファイル名(mp3またはoggバージョンを使用するかどうかを選択できます)と2つのタイムスタンプが与えられ、指定された時間の間に正確にオーディオが必要です。私はファイル全体をダウンロードしたくないので、Range httpヘッダーを使うと思います。正確な時間範囲をmp3/oggから切り捨てます

私はオーディオファイルを完全に制御しているので、固定バイトレートでそれらをエンコードして、どのバイトに到達すべきかを見積もることができました。しかし、両方のフォーマットは、フレーム(またはvorbisの場合はページ)を使用します。これは、アトミックにデコードする必要があります。

私が書いたプログラムはPerlで書かれています。私は、オーディオファイルの断片を解析するために、Audio :: MadとOgg :: Vorbis :: Decoderを使用して、指定されたウィンドウが含まれると信じているファイルの一部をダウンロードしようとしました。しかし、両方ともフラグメントを処理できないように見え、完全なファイルを提供するだけで成功します。

私の質問は次のとおりです。オーディオファイルを完全にダウンロードせずに正確なスパンを取得するにはどうすればよいですか?

答えて

0

"mp3/oggのから正確な時間帯をカット" 答える - 以下はあなたのニーズに合った場合は、チェックアウトすることができます:継続 - - 時間tを開始

ffmpeg -i InFile -vn -acodec copy -ss 00:00:00 -t 00:01:32 -threads 0 OutFile 

SS。それは確かに - 再圧縮なし。

+0

これは、ファイル全体を自由に使用できることを前提としています。私はファイル全体をダウンロードしないようにしたいと思います。 – Sixtease

関連する問題