LINUX.ORG.RU

Можно ли получить RTSP-поток с USB-камеры?

 , ,


0

1

Привет, ЛОР.

Есть ли возможность организовать RTSP-вещание, используя не IP-камеру, а простую USB, подключенную к компьютеру? К примеру, у меня есть Microsoft LifeCam VX-800, которая прекрасно работает под линуксом (в скайпе, зуме и т.п.). Можно ли программно «вытянуть» из неё RTSP-поток?

В интернетах встречал обрывочные упоминания, что это можно сделать через live555 Media Server, но документация на сайте самого live555 расписывает только стриминг из файлов.

★★★★★

Ответ на: комментарий от LINUX-ORG-RU

Мне, наверное, пора пить таблетки. Я же помню, что сохранял эту тему в черновиках, и хотел что-то ещё уточнить перед выносом на обсуждение. Как она на форум просочилась… скорее всего, Акела всё же промахнулся.

По твоей ссылке упоминается rtsp-simple-server, он на Go написан. Я видел этот вариант, поначалу забраковал, решил, что много тащить. А теперь думаю, что может, не так и много?..

Потыкаю и этот вариант, спасибо. Ещё надо будет VLC попробовать.

Ну и если кто знает, как всё-таки это прикрутить к live555 — пишите, буду премного благодарен, в этом случае я смогу эту функциональность включить в свою плюсовую программу, с live555 раньше работал…

hobbit ★★★★★
() автор топика
Ответ на: комментарий от hobbit

Если вам интерестны библиотеки, то у GStreamer есть gst-rtsp-server с примером: https://github.com/GStreamer/gst-rtsp-server/blob/master/examples/test-readme.c

Я его компилил, работало. Разве что сделал, что строка: ″( videotestsrc is-live=1 ! x264enc ! rtph264pay name=pay0 pt=96 )″ не в бинарнике, а передаётся аргументом командной строки (и другого содержимого).

Ну и проц жрало, что пришлось ″x264enc key-int-max=30 speed-preset=superfast″.

mky ★★★★★
()
Ответ на: комментарий от hobbit

По итогу у меня была такая строка, не помню как её сочинял:

v4l2src device=/dev/video0 !
queue ! videorate ! video/x-raw,framerate=15/1 !
videoconvert ! video/x-raw,format=YV12 ! queue !
x264enc key-int-max=30 speed-preset=superfast
noise-reduction=10000 bitrate=1024 !
rtph264pay name=pay0 pt=96 config-interval=1

mky ★★★★★
()
1 мая 2023 г.
Ответ на: комментарий от mky

некоторые USB камеры могут отдавать H264 сразу в /dev/video0

Про указанную в треде не в курсе. Если она не может, то надо будет кодировать. Если будет отдавать jpeg, то надо удвоить расчетную нагрузку

max_lapshin ★★★★★
()
Ответ на: комментарий от max_lapshin

Эта камера около 2010 года, разрешение 640x480, сомневаюсь, что в ней есть jpeg.

Как я понял, ТСу нужен просто тестовый RTSP поток для «обкатки» программ, наверное, ему не важны затраты на кодирование.

mky ★★★★★
()
Ответ на: комментарий от kott

Да, VLC справился. Всем спасибо за ответы!

Хотя если кто-нибудь подскажет командную строку для ffmpeg, делающую то же самое — буду благодарен. Ffmpeg отличная программа, выручает постоянно. Но ключи у неё местами довольно-таки наркоманские, а ещё они иногда ломают совместимость…

hobbit ★★★★★
() автор топика
Последнее исправление: hobbit (всего исправлений: 1)