Это не конкретный вопрос по Ubuntu / Linux, но я надеюсь, что кто-то может мне помочь.
Я делаю сервер видеопотока , который на медленном ПК (ЦП 1 ГГц, плохой GPU (через)). Кто-нибудь знает, какой кодек мне следует использовать?
Источник - 720x576 YUV (PAL), который слишком велик для прямой передачи (занимал всю полосу пропускания локальной сети 100 Мбит). Я хочу получить поток caa 200kB / s , чтобы он подходил и через Интернет.
Я нашел решение, которое работает довольно хорошо.
Это решение использует VLC для всей работы. Видео захватывается с веб-камеры USB, сжимается и подается в Интернет. Поток совместим с HTML 5, поэтому его можно использовать для потоковой передачи.
Это решение использует VLC для всего процесса:
vlc -v v4l2:///dev/video0:width=320:height=240 --v4l2-chroma=UYVY --v4l2-fps=5 --sout "#transcode{vcodec=theo,vb=256,scale=1,acodec=none,fps=25}:standard{access=http,mux=ogg,dst=:8081/stream.ogg}"
Я проводил тесты с Intel Atom D525. Загрузка процессора составляет около 20%, а скорость передачи по сети - 60 кБ / с.
Для воспроизведения видео достаточно открыть браузер с поддержкой html5 ogg (Firefox) по адресу:
http://localhost:8081/stream.ogg
или другой VLC
vlc http://localhost:8081/stream.ogg ----network-caching=100
Если вы хотите улучшить изображение, вы можете изменить
vb=1024
Просто сделайте несколько тестов. (бит (не байт) в секунду) width=640:height=480
. Проверьте доступные разрешения веб-камеры Есть много вещей, которые вы должны проверить, если ваш процессор слишком высок. Ваша камера должна изначально поддерживать выбранное разрешение и цветовое пространство. Любое преобразование на процессоре происходит медленно! Попробуйте выбрать другое --v4l2-chroma=UYVY
(UYVY, YUY2, RV24, RV32, MJPEG, ...).
Для проверки возможностей камер вы можете использовать программу guvcview
. Может быть установлен через Центр программного обеспечения.