2017-01-22 18 views
-1

Используя 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

+0

Вам нужна помощь в создании конвейера GStreamer, который создает фрагменты транспортного потока и файл m3u8 с видео с веб-камерой? – jgorosdev

+0

Вы пробовали gst-rtsp-server? Это может быть полезно для потоковой передачи в браузер. –

+0

@jgorosdev - Да, мне нужна помощь в создании конвейера GStreamer. Есть ли у вас пример, который вы можете использовать? – Francis

ответ

0

Учитывая, что 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 для получения дополнительной информации.