Запись и дублирование потока с веб-камеры с помощью VLC

Я пытаюсь записать веб-камеру, сохранить ее и передать в локальную сеть. Проблема в том, что я хочу сделать это с другим сжатием:
поток для локальной сети должен иметь только ‹400kbit/s, а другой, который хранится в локальном файле, должен быть несжатым или со скоростью до до 10 Мбит/с

Итак, я попробовал два метода, чтобы решить эту проблему:

Сначала я немного поигрался с графическим интерфейсом VLC. Очень легко записать веб-камеру, затем перекодировать ее и сохранить в файл или/и передать в Интернет. Командная строка выглядит так:

vlc v4l2:///dev/video0 :v4l2-standard= :live-caching=300 :sout="#transcode{vcodec=WMV2,vb=380,fps=1,scale=Automatisch,acodec=none}:duplicate{dst=file{dst=stream.asf,no-overwrite},dst=http{dst=:8080/stream.wmv}}" :sout-keep

Но у меня была проблема, что и интернет-поток, и файл сжимались. Поэтому я изменил порядок «дублировать» и «перекодировать» на:

vlc v4l2:///dev/video0 :v4l2-standard= :live-caching=300 :sout="#duplicate{dst=file{dst=stream.asf,no-overwrite}, dst="transcode{vcodec=WMV2,vb=380,fps=1,scale=Automatisch,acodec=none}:http{dst=:8080/stream.wmv}"}" :sout-keep

Моя мысль: теперь у меня должен быть сжатый интернет-поток и оригинальный файл. Но он не передает его в Интернет.

Поэтому я попробовал другой метод: я хотел передать исходный поток на порт 8080, а затем использовать два других экземпляра VLC для создания сжатого сетевого потока на порт 8008 и исходный файл. Но я не могу стримить....

Так что я был бы очень благодарен, если у кого-то есть другая идея или подсказка, где моя проблема. Извините за мой английский. Хорошего дня.


person Justus    schedule 27.04.2015    source источник


Ответы (1)


Вы дважды цитируете :sout. Если вы планируете использовать кавычки " внутри значения, используйте апостроф ', чтобы заключить весь аргумент, например:

:sout='#duplicate{dst=file{...}, dst="transcode{...}:http{dst=:8080/stream.wmv}"}'

Если вы добавите -v (подробный вывод) в конце своей команды, вы также увидите некоторые другие проблемы, например, no-overwrite не распознается. Кроме того, scale=Automatisch должно быть scale=auto.

Обратите внимание, что я проверил только синтаксис, а не параметры вашей кодировки.

person aergistal    schedule 27.04.2015
comment
Спасибо аэргистал :) Работает отлично. Я не позаботился об этом. Тупой. Но еще раз спасибо :) - person Justus; 29.04.2015