Используя gstreamer 1.0, я хотел бы создать конвейер, который передает потоковое видео с веб-камеры Logitech C920 на iphone, работающий с хромированными ios. Этот конвейер будет работать на малиновой модели pi B. Мне кажется, мне нужно использовать hlssink и служить файлу m3u8. Я думал о запуске веб-сервера python-tornado для работы с файлом m3u8 на малине pi. Также я знаю, что Logitech C920 поддерживает аппаратное кодирование для H.264 и хотел бы использовать это, если это возможно. Пока что я не увенчался успехом и буду признателен за любую помощь или отзывы.gstreamer 1.0 и raspberry pi потоковое от веб-камеры до браузера ios
ответ
Учитывая, что hlssink трубопровод минимален как это:
gst-launch-1.0 videotestsrc is-live=true ! x264enc ! mpegtsmux ! hlssink max-files=5
Вы должны кодировать необработанный источник из камеры с x264enc
и анализировать затем h264parser
. После этого вам нужно мультиплексировать различные медиапотоки в транспортный поток MPEG (в этом случае у нас есть только видео).
Окончательный трубопровод будет, например:
gst-launch-1.0 videotestsrc is-live=true ! video/x-raw, framerate=25/1, width=720, height=576, format=I420 ! x264enc bitrate=1000 key-int-max=25 ! h264parse ! video/x-h264 ! queue ! mpegtsmux ! hlssink playlist-length=10 max-files=20 playlist-root="http://localhost/hls/" playlist-location="/var/www/html/hls/stream0.m3u8" location="/var/www/html/hls/fragment%06d.ts" target-duration=5
Я добавил некоторые крышки, чтобы помочь вам добавлять после v4l2src device=/dev/video0
, но это зависит от модели камеры. Я также добавил несколько отличных свойств от hlssink
, чтобы показать вам, как установить расположение разных файлов. Конвейер выше работает с videotestsrc и записывает файлы и плейлист в папку /var/www/html/hls
. Испытано с Apache, можно просмотреть результат с VLC или просто запустив:
gst-launch-1.0 playbin uri=http://localhost/hls/stream0.m3u8
Если у вас есть какие-либо сомнения, захватив с веб-камеры вы можете следовать этой link для получения дополнительной информации.
Вам нужна помощь в создании конвейера GStreamer, который создает фрагменты транспортного потока и файл m3u8 с видео с веб-камерой? – jgorosdev
Вы пробовали gst-rtsp-server? Это может быть полезно для потоковой передачи в браузер. –
@jgorosdev - Да, мне нужна помощь в создании конвейера GStreamer. Есть ли у вас пример, который вы можете использовать? – Francis