0

Red5 サーバーでビデオを flv に変換する必要があります。この点に関するヘルプは非常に役立ちます。

4

4 に答える 4

1

静的ファイルを作成するには、ffmpeg (Ubuntu では avconv とも呼ばれます) を使用します。

ffmpeg -i /pathto/inputfile.xxx /pathto/outputfile.flv
ここで、「xxx」は、.avi、.mp4 などの入力ファイルの拡張子です。



リアルタイム ブロードキャスト用の入力ストリーム (キャプチャ デバイスなど) から RED5 を使用してライブ出力ストリームを作成するには、次のようにパイプで ffmpeg を使用します。

入力ストリーム > - | ffmpeg -f xxx -i - -f flv rtmp://your.red5.server:1935/live/mybroadcast

xxx は、入力ストリームのビデオ形式に関する最も適切な推測です。「rawvideo」などの形式によっては、追加の変換オプションが必要になる場合や、オーディオ ストリームを個別に処理する必要がある場合があります (2 番目の -i オプション)。

RED5 ブロードキャストを受信するには、ブラウザーのフラッシュ プレーヤーを ffmpeg からの出力と同じパスに接続します。これは RED5 ストリームの入力と同じであり、これも RED5 ストリームからの出力と同じです (はい、rtmp は非常にそのように効率的です):

rtmp://your.red5.server:1935/live/mybroadcast

于 2013-05-22T13:36:03.123 に答える
1

Ubuntu ボックスで ffmpeg を使用すると、すばらしい結果が得られます。

svn チェックアウト svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg

于 2009-04-15T17:07:02.647 に答える
0

FFMPEG を使用して flv を mpeg に変換する Coding4Fun のDan Fernandezによって作成されたプロジェクトがありましたが、その逆も当てはまります。

これが彼が作成したInnerTubeというプロジェクトです

FFMPEGを使用したコマンド ライン引数の詳細を説明しているサイトへのリンクを次に示します。

于 2009-04-15T17:07:03.553 に答える
0

この取り組みにはXuggler ( http://www.xuggle.com ) を使用することをお勧めします。以下に、Red5 アプリケーションに追加できるサンプル メソッドを示します。


    public void convert(String sourceFilePath, String destinationFilePath) {
        //assumes the following: sourceFilePath is input file and destinationFilePath is output file
        IMediaReader reader = ToolFactory.makeReader(sourceFilePath);
        IMediaWriter writer = ToolFactory.makeWriter(destinationFilePath, reader);
        writer.open();
        writer.setForceInterleave(true);
        IContainerFormat outFormat = IContainerFormat.make();
        outFormat.setOutputFormat("flv", destinationFilePath, null);
        IContainer container = writer.getContainer();
        container.open(args[1], IContainer.Type.WRITE, outFormat);
        writer.addVideoStream(0, 0, ICodec.findEncodingCodecByName("flv"), 320, 240);
        writer.addAudioStream(1, 0, ICodec.findEncodingCodecByName("libmp3lame"), 2, 44100);
        reader.addListener(writer);
        while (reader.readPacket() == null);
    }

「mpeg」について言及していますが、このコード ブロックは、FFMpeg と Xuggler でサポートされているすべてのメディア タイプを変換します。

于 2011-08-04T15:44:26.800 に答える