Logicool C920ウェブカメラを使用しています。H264でビデオを直接エンコードする機能があります。
Beagleboneで行われたことを再現したいのですが、Raspberry Piを使用して、H264ストリームをネットワークに送信します。Raspberry Piは、RTPでストリームをパケット化するためだけにあり、ビデオ圧縮はWebカメラ自体によって行われます。H264モードは、video4linuxを使用して実施されます。
これまでのところ、最新バージョンのUbuntuで一般的なコンピューターを使用している場合、VLCをサーバーまたはGStreamerとして使用して動作します。たとえば、次のコマンドを使用してRaspberry PiでVLCサーバーを起動した場合:
cvlc --sout=#rtp{sdp=rtsp://:8554/test} 'v4l2:///dev/video0:chroma=H264:width=800:height=600:fps=30'
...そして、別のコンピューターでVLCを使用してストリームを読み取った場合、問題はありません。
ただし、ラズベリーPiを使用してビデオストリームを送信する場合、結果は非常に悪くなります。何かが動くとすぐに画像にたくさんのゴミが。イメージキーは10秒ごとに受信されますが、その間、一般的なコンピューターからのストリームと比較すると十分ではありません。
また、提供された「キャプチャ」ユーティリティを使用してビーグルボーンについて説明した方法を試してみました。実際のコンピューターからストリーミングする場合はOK、Raspberry Piからストリーミングする場合は同じゴミ問題。
ネットワークの問題ではありません。WiresharkとVLCの統計を使用してネットワークチェックをいくつか行いましたが、パケット損失はありません。RaspbianとRaspiのArch Linux(raspbianのgstreamer 0.10、Arch Linuxのgstreamer 1.0)で試しました。
関連するかどうかはわかりませんが、Raspbianのソフトフロートサポートバージョンでもテストしました。3.2カーネルを使用するには、最初に更新を行う必要があります。しかし、同じ問題、ビデオにはゴミがあります。
ビデオ品質を向上させるために何ができるかについてのアイデアはありますか?