2016-03-31 5 views
1

Я делаю HTTP-потоковый (hls) сервер с NodeJS. Теперь у меня есть два варианта: ffmpeg и VLC. С помощью ffmpeg я знаю команду -re (Чтение ввода с собственной частотой кадров. В основном используется для имитации устройства захвата или живого входного потока (например, при чтении из файла)). Мне нужно это для потоковой передачи в реальном времени (псевдоживой канал) из файла.VLC HLS считывает ввод с собственной частотой кадров для потоковой передачи в реальном времени

В результате я ожидал подписать «Live» на видеоплеере в браузере, а не быть в состоянии сделать перемотку над видео (video.js плеер или hls.js библиотеки)

Но как я могу сделать это с VLC? Может быть, вы знаете некоторые команды?

ответ

1

Но как я могу это сделать с помощью VLC? Может быть, вы знаете некоторые команды?

Шаг 1: Используйте модуль livehttp с VLC, чтобы restream вашего исходного файла

vlc -vvv -I dummy <SOURCEADDRESS> --sout='#transcode{width=1280,height=720,fps=25,vcodec=h264,vb=4096,venc=x264{aud,profile=baseline,level=30,keyint=30,ref=1},acodec=mp3,ab=96}:std{access=livehttp{seglen=10,delsegs=false,numsegs=10,index=/path/to/your/index/prog_index.m3u8,index-url=YourUrl/fileSequence######.ts},mux=ts{use-key-frames},dst=/path/to/your/ts/files/fileSequence######.ts}' 

Шаг 2: Публикация HTTP Live списка воспроизведения потокового (m3u8) с помощью HTML 5

<video> 
<source src="/path/to/your/index/prog_index.m3u8" /> 
</video> 

Этих будет производить видеоплеер в формате HTML 5 без возможности перемотки в вашем видео, поэтому он будет «живым» или «псевдоживым», как вы хотите его назвать.

Смотрите следующие детали вопроса о general architecture и longer explanation на окружающую среду участие

+0

Спасибо! Это именно то, что я ожидал, также в хорошем качестве. Но не знаю, почему файлы .ts производятся без звука. Думаю, я могу это исправить. Какая часть вашей команды отвечает за чтение ввода с собственной частотой кадров? – Optio