質問
ウェブ上で表示するためにオーディオとビデオをトランスコードする最良の方法は何ですか?
プログラムで行う必要があります。ユーザーが好きな形式でアップロードできる YouTube や Google ビデオのようなものをやりたいと考えており、それを flv、mp3、mp4 にエンコードします。サーバー上で実行することもできますが、EC2 インスタンスまたは Web サービスを使用したいと考えています。Windows 2008 サーバーを使用しています。
解決
ffmpeg を強くお勧めします。Windows で見つけたのは、 このサイト 優れたバイナリをホストするため。
他のヒント
どれくらい使いたいかによって決まります。これがまったく新しい (そしてほとんど資金がない) アイデアである場合は、ffmpeg の道を進みますが、規模を拡大して品質の向上を目指す場合は、自動化できるより専門的なエンコード ツールの 1 つを検討してください (Rhozet、Inlet、Digital Rapids など)。 3 つのオプション)。
ffmpeg はそれを実行できます。これは、libavcodec を使用するコマンドライン ツールです。ほとんどのビデオ形式の変換を処理できます。ニーズに合えば、ライセンスは LPGL です。これをプログラムで別のプロセスとして利用することも、本格的にやりたい場合は、libavcodec ライブラリを自分で使用して直接エンコードすることもできます。
Flv にトランスコードしたい場合 (おそらく Web にとってはこれが最適です)、次の行を使用します。
ffmpeg -hq -y -i $directory/$file -r 20 -s 300x200 -deinterlace -ar 22050 $directory/$file.flv 1>/dev/null 2>/dev/null
もちろん Linux でも非常にうまく動作します:-)。
ffmpeg の特定の部分は GPL の下にあることに注意してください。libpostproc モジュールがあると思います。私の記憶が正しければ、これはトランスコーディングで使用されます。このライセンスが現在行っている内容と互換性があることを確認してください。
Main Concept のリファレンス SDK を見てみましょう。
これはトランスコーディング用に構築されており、ライセンスされた SDK であるため、ffmpeg/libavcodec に関する法的問題はありません。
GPL 化されたものを探している場合:
オーディオをいじるには、次のことを試してください。 ソックス。 とてもパワフルな!それはたくさんあります!ほとんどの Linux ディストリビューションに含まれています。
有名なものもあります ラメ mp3 [オーディオ] エンコード用。
ビデオの場合、 メンコーダー 印象的です!それはの一部です mplayer パッケージ。ほとんどのビデオ形式からの変換を処理します。私が夢見ていたよりもはるかに多くのものが存在していました。(ドキュメントについては、を参照してください。 第9章。MEncoderの基本的な使い方 そして 第10章。MEncoderによるエンコード.)
作成できるものについてはもう少し制限があります。でもサポートはしてくれる mpeg4, mpeg2, DVD-mpeg, flv, 、他にもたくさんあります。(私は試していないのですが、 flv 私自身、グーグルで他の人がそれを使用していることがわかりました。)
jpeg + サウンド -> mpeg4 ムービーのようなことを行いました。
nice +20 $MENCODER mf://${JPEGFILE} -mf w=720:h=480:fps=1/${SOUNDLENGTH}:type=jpeg -audiofile ${SOUNDFILE} -ovc lavc -oac lavc -lavcopts vcodec=mpeg4 -ofps 30000/1001 -o ${MENU_MPG}
または、任意にフォーマットされたビデオを DVD 互換の MPEG にトランスコードします。
nice +20 $MENCODER -edl ${EDL} -ovc lavc -oac lavc -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=${VBITRATE}:keyint=18:acodec=ac3:abitrate=192:aspect=4/3:trell:mbd=2:dia=4:cmp=3:precmp=3:ildctcmp=3:subcmp=3:mbcmp=3:cbp:mv0:dc=10 -of mpeg -mpegopts format=dvd -vf scale=720:480,harddup -srate 48000 -af lavcresample=48000 -ofps 30000/1001 -o ./${INFILE}.reformatted ${FILEPATH}
-edl/-edlout [決定リストの編集] は、必要なビデオ セクションだけを切り取るために使用されます。
DVD-mpeg-video の場合、${VBITRATE} は通常 5000 です。しかし、少し失敗すれば、より多くのビデオを DVD に詰め込むことができます。アーティファクトを許容できると仮定します。
scale=720:480,harddup -- 私の DVD プレーヤーではスケールが間違っているという小さな問題と、私の DVD プレーヤーでのサウンドとビデオの非同期の問題をハードアップで解決しました。 「エル・チーポ」 プレーヤー。
(4x3 ビデオを処理できないワイドスクリーン プレーヤーで再生するには、次のような極悪非道な方法を使用しました。 「アスペクト=16/9」, "-vf スケール = 560:480、拡張 = 720:480、ハードアップ". 。ただし、一般的には、黒バーのエンコードにビットを無駄にしたくないでしょう)。
これは最も効率的なオプションのセットではありません メンコーダー はるかに!実行には時間がかかる場合があります。しかし、私は別の目標を念頭に置いていました...
Rhozet カーボンコーダー を処理できます 幅広いフォーマット さらに、プラグインを使用してビデオを変更することもできます(透かしの追加など)。