2

RTPを介して送信するには、mpeg4ビデオストリーム(実際にはAndroidビデオカメラから)を分割する必要があります。仕様は、すぐに参照できるように少し大きくなっています。

mpeg4パケット化の例/オープンソースコードはありますか?

助けてくれてありがとう!

4

1 に答える 1

5

Mpeg4ファイル形式はISO/IEC14496-14とも呼ばれます。グーグルそれはあなたが仕様を見つけるだろう。ただし、次の理由により、実行しようとしていること(RTPパブリッシャー)は困難になります。

  1. Mpeg4には、ファイルの最後にヘッダーがあります。つまり、ヘッダーはビデオストリームが終了したときにのみ書き出されます。リアルタイムのビデオストリーミングを実行したいので、オーディオとビデオのパケットがどこで開始/終了するかを推測する必要があります。異なるビデオサイズとコーデックパラメータを使用する可能性があるため、これはすべてのAndroidデバイスで同じになるわけではありません。したがって、コードはデバイスに依存し、さまざまなデバイスをサポートしてテストする必要があります。

  2. 一部のデバイスは、ビデオデータを定期的にファイルにフラッシュしません。1分に1回程度しかフラッシュしないものもあります。これにより、リアルタイムストリームが中断されます。

  3. サンプルコードはありません。私が見たので私は知っています。同様のことをしている会社はいくつかありますが、主にRTPをスキップしています。代わりに、ファイルを自分のサーバーに段階的にアップロードしてから、ビデオ/オーディオストリームの「チョッピング」を実装してから、ビデオ/トランスコーダーのバックエンドに挿入します。私はそれらの会社の1つで働いていました、そしてそれは私たちがそれをした方法です。AFAIKコンペティションも同様のアプローチを取りました。利点は、すべての複雑さがサーバー上にあり、何かが壊れたり、新しいデバイスが市場に到着したときにクライアントを更新する必要がないことです。

于 2011-05-03T13:10:20.247 に答える