#google-chrome #ubuntu #html5-video #vlc #video-recording
#google-chrome #ubuntu #html5-видео #vlc #видеозапись
Вопрос:
В настоящее время я ищу, как выполнить то, что, как мне сказали, возможно.
Мне сказали, что мы сможем использовать vlc для потоковой передачи веб-камеры в Linux, что позволит выполнять следующее:
- Запись потока на локальный компьютер для последующей загрузки.
- Воспроизводите поток во время записи, используя возможности видео Chrome HTML5.
- Отправьте команду запуска и остановки из Интернета для записи vlc.
Я изучал это довольно долгое время и не смог найти жизнеспособного решения.
Я уже могу записывать видео с помощью VLC со следующим
vlc v4l2:// :v4l2-dev=/dev/video0 :v4l2-width=640 :v4l2-height=480 --sout "#transcode{vcodec=mpeg4,acodec=mpga,vb=800,ab=128}:standard{access=file,dst=capture_4.avi}"
Это действительно возможно?
Ответ №1:
Чтобы ответить на ваш вопрос, возможно ли это… ДА, это так, НО это сложно. Я не могу ответить на все ваши вопросы, только на ту часть, которая касается потоковой передачи в VLC и отображения ее в HTML5
Для этого потребуется определенная настройка среды (сегментирование и правильный тип MIME на сервере). Я предполагаю, что вы все на Linux; кем я не являюсь (Mac OS / unix), но принципы, лежащие в его основе, остаются неизменными в отношении рабочего процесса, позволяющего заставить это работать. Я попытаюсь объяснить — надеюсь, это каким-либо образом поможет.
Установка, с которой я добился успеха, работает следующим образом:
(1) ПОТОКОВАЯ ПЕРЕДАЧА И ЗАПИСЬ
локальный потоковый экземпляр vlc для потоковой передачи аудио и видео -> создание потока в формате mpegts. Попробуйте изменить свою команду на что-то вроде
vlc v4l2:// :v4l2-dev=/dev/video0 :v4l2-width=640 :v4l2-height=480 --sout "#transcode{vcodec=mpeg4,acodec=mpga,vb=800,ab=128}:standard{access=udp, mux=ts, sap, name=live-video, dst=224.0.0.1, port=1234}"
или
vlc v4l2:// :v4l2-dev=/dev/video0 :v4l2-width=640 :v4l2-height=480 --sout "#transcode{vcodec=mpeg4,acodec=mpga,vb=800,ab=128}:udp{dst=224.0.0.1,port=1234,mux=ts}"
Я просто даю вам перенесенные команды здесь, которые работают на Mac. Я не знаю, работают ли они в Linux. Теперь вы должны иметь возможность воспроизводить прямую трансляцию с помощью VLC, получив доступ к объявлению SAP или напрямую с
vlc -vvv udp://@224.0.0.1:1234
Затем вы могли бы использовать другой экземпляр vlc для записи потока
vlc udp://@224.0.0.1:1234 --sout "#transcode{vcodec=mpeg4,acodec=mpga,vb=800,ab=128}:standard{access=file,dst=capture_4.avi}"
В VLC есть дублирующая команда, с которой я играл, но безуспешно. Таким образом, вы могли бы транслировать и записывать с помощью одного экземпляра. Возможно, это работает в Linux.
(2) СЕГМЕНТИРОВАНИЕ
mediastreamsegmenter для сегментации вашего потока mpegts на сегменты для доставки. Я использую серверное программное обеспечение Apple. Apple предоставляет вам mediastreamsegemnter, который может записывать прямую трансляцию в формате mpegts и преобразовывать ее в сегменты, которые добавляются в список воспроизведения. Я не знаю о живом сегментаторе в Linux. Может быть, кто-то еще делает.
(3) ДОСТАВКА
страница html 5, ссылающаяся на список воспроизведения видео, содержащий сегменты. mediastreamsegmenter создаст список воспроизведения playlist.m3u8, к которому затем можно будет получить доступ с помощью HTML 5
<video width="640" height="480">
<source src="YOUR_PATH/playlist.m3u8" />
</video>
Некоторые полезные руководства по этой теме:
Информация о настройке и основных командах
Примеры VLC для потоковой передачи
Я знаю, что это не полное решение вашей проблемы, но, возможно, это даст вам несколько хороших отправных точек для изучения.
Комментарии:
1. Спасибо за отличный отзыв… в итоге мы решили использовать flash-подход к этой проблеме
2. Могу я задать небольшой вопрос? что означает Ip dst = 224.0.0.1? Я пробую разные номера, но у меня это не сработало?
3. @пользователь573014 Посмотри здесь: iana.org/assignments/multicast-addresses/… Он представляет собой адрес групповой рассылки. Используйте 224.0.0.1 с осторожностью и НИКОГДА не используйте в продуктивных настройках. Лучше поиграйте с 239.0.0.1 или около того…