У мене веб-камера Logitech C920. Він має можливість безпосередньо кодувати відео в H264.
Я хочу відтворити те, що було зроблено з Beaglebone, але використовуючи Raspberry Pi: надіслати потік H264 в мережу . Raspberry Pi є лише тут, щоб пакетувати потік в RTP, стиснення відео робиться самою веб-камерою. Режим 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 секунд, але тим часом це недостатньо добре, порівняно з потоком із звичайного комп’ютера.
Я також спробував описаний метод для beaglebone з наданою утилітою "захоплення" : нормально, якщо я перетікаю з реального комп'ютера, таку ж проблему зі сміттям, якщо я надходжу з Raspberry Pi.
Це не мережева проблема: я робив кілька перевірок у мережі за допомогою Wireshark та статистики VLC, втрати пакетів у мене немає. Я намагався з Raspbian і Arch Linux для Raspi (gstreamer 0.10 в raspbian, gstreamer 1.0 в Arch Linux).
Я не знаю, чи це доречно чи ні, але я також перевірив версію Raspbian для підтримки soft float. Спочатку слід оновити, щоб використовувати ядро 3.2; але та сама проблема, у відео є сміття.
Будь-яка ідея, що я можу зробити для підвищення якості відео?