ローカル/静的入力ファイル (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 など、他のコンテナー形式も試しました。
この問題について何らかの意見を聞きたいです...
ありがとう