0

ローカル/静的入力ファイル (MP4 など) を小さなビデオ ファイル (サイズ変更、低品質のビデオなど) にエンコードし、それを並行してストリーミングしようとしています(つまり、ストリーミングする前にエンコーディング プロセスを終了する)、 Androidクライアント (標準の Android ビデオ プレーヤー)で再生できるようにします。

だから私は次のようにffmpegを使ってみました:

ffmpeg -re -i input.mp4 -g 52 -acodec libvo_aacenc -ab 64k -vcodec libx264 -vb 448k -f mp4 -movflags frag_keyframe+empty_moov -

stdout を出力として使用しているので、ffmpeg を実行してその出力をオンザフライでストリーミングできることに注意してください。

ただし、そのような方法(および他の同様の方法)はAndroidでは機能しないようです-「非標準」ファイル(断片化されたMP4など)を受信すると、単純に再生できません-空のmoovアトムのようですそれを台無しにします。

3GPP や WebM など、他のコンテナー形式も試しました。

この問題について何らかの意見を聞きたいです...

ありがとう

4

1 に答える 1

1

ffmpeg で複数の出力を指定できます。こちらを参照してくださいhttp://trac.ffmpeg.org/wiki/Creating%20multiple%20outputs

Android の場合、3.0 よりも新しい場合は HLS を出力として試してください

于 2013-08-02T21:27:17.377 に答える