Вещание видео с веб-камеры по локальной сети при помощи VLC (консольный скрытый режим)


Настройка рабочих станций под управлением Ubuntu Linux
alsa ubuntu video vlc web видео
 
 

* В этом блоге я описываю свою повседневную рабочую практику, поэтому все статьи в блоге написаны лично мной и при копировании их на свой сайт пожалуйста указывайте ссылку на страницу откуда вы скопировали.
* Если какая-то статья вам помогла, то вы можете дать мне немного денег вместо простого спасибо (ссылка на форму поддержки проекта внизу страницы), если вы что-то не поняли или у вас что-то не получается, то вы можете нанять меня и я вам все подробно расскажу (расценки и ссылки в конце статьи).


(последние правки 2 недели, 6 дней)

Есть конечно и более элегантные решения и даже специальные программные продукты для организации вещания с web-камер и ip-камер, но если вам надо срочно, быстро на коленке реализовать трансляцию, то VLC вам идеально подойдет и как обычно есть некоторые нюансы которые надо оговорить отдельно.

Для того чтобы быстренько сделать вещание с USB-камеры по локальной сети нам понадобится только VLC и обычно VLC - стандарт медиа-проигрывателя де-факто в большинстве Linux-дистрибутивов и ничего дополнительно устанавливать уже не требуется.

Обратите внимание, что пользователь от имени которого мы хотим запустить стрим с камеры должен входить в группы video и audio иначе у вас будут некоторые проблемы, а от имени суперпользователя root проигрыватель запустить не получится.

Следующее, что мы должны определить, это имена аудио и видео устройств с которых мы будем получать данные и первым делом получаем список доступных устройств alsa:

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 1: LX3000 [Microsoft LifeChat LX-3000], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

Затем, получаем список доступных видео устройств:

$ v4l2-ctl --list-devices
USB 2.0 camera: USB 2.0 camera (usb-0000:00:1a.0-1.1):
        /dev/video0

Можно настроить вещание одновременно с нескольких web-камер и ограничение только по вычислительной мощности рабочей станции с которой мы будем передавать видео. Для стрима видео и аудио с нескольких устройств просто запускайте несколько экземпляров VLC.

Для сетевой трансляции вам надо запустить vlc (в безголовом режиме) со следующими параметрами:

$ cvlc v4l2:///dev/video0 --input-slave '#alsa://hw:1,0' --sout '#transcode{vcodec=h264,acodec=mpga,ab=128,channels=2,samplerate=44100}:rtp{sdp=rtsp://:8554/video}'

Мы настроили отдачу трафика в формате RTSP и для его просмотра понадобится второй VLC-player строка подключения к видео-потоку будет выглядеть следующим образом:

rtsp://10.1.1.106:8554/video

Естественно, что 10.1.1.106 вы замените на адрес вашего сервера или компьютера откуда ведется вещание.

Моя официальная страница на FaceBook
Мой микроблог в твиттер

Сборка пакета FFmpeg из исходных кодов (с поддержкой CUDA)

Сборка пакета FFmpeg из исходных кодов (с поддержкой CUDA)

Использование аппаратного ускорения позволяет значительно ускорить операции обработки видео, но штатное ПО входящее в поставку дистрибутива Ubuntu Linux не поддерживает аппаратное кодирование/декодирование видео и для активации поддержки NVENCODE вам потребуется собрать FFMPEG из исходных кодов.


Обработка видео для публикации в интернет (подготовка к публикации видео на Youtube при помощи FFmpeg)

Обработка видео для публикации в интернет (подготовка к публикации видео на Youtube при помощи FFmpeg)

Рассмотрим несколько типовых команд по подготовке видео к публикации в WEB и, хотя, тот же YouTube приведет ваше видео в требующийся формат автоматически, вам все равно когда-нибудь придется подготовить видео файл строго определенного формата. Все представленные ниже операции легко автоматизируются, параллелятся и т.п.. Вы с легкостью сможете подготовить видео для публикации на вашем сайте без использования сторонних видео-хостингов (например, при публикации видео со спорными авторскими правами).


Сборка MELT из исходных кодов (сборка окружения для тестирования git-версии Kdenlive)

Сборка MELT из исходных кодов (сборка окружения для тестирования git-версии Kdenlive)

В прошлых заметках я уже рассказывал как собрать ffmpeg с поддержкой аппаратного кодирования и декодирования видео-файлов. Сборка ffmpeg с поддержкой CUDA ускорило обработку видео-файлов в четыре раза по сравнению с обработкой на CPU. Следующим этапом я решил применить все имеющиеся наработки для подключения этого функционала в Kdenlive, что теоретически должно ускорить обработку моих видео-заметок.


Как вы наверное понимаете, бесплатно сейчас работать никто не будет и если ответ на ваш вопрос потребует больше трех минут времени и вам требуется полноценная консультация, то расценки на мои услуги представленны ниже.


Есть вопросы?
Спрашивайте и я обязательно вам отвечу!

* Поля обязательные для заполнения .