как транслировать видео в h264? - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь передать свое видео в h264, поэтому я могу воспроизвести его на странице html5 через тег video.Я нашел много примеров, показывающих, как передавать видеофайл в поток rtmp.но я едва могу найти пример для h264.

Вот единственный пример, который я могу найти:

ffmpeg -f dshow -i video="Virtual-Camera" -preset ultrafast -vcodec libx264 -tune zerolatency -b 900k -f mpegts udp://10.1.0.102:1234

Это, кажется, соответствует моим потребностям.Но я не знаю, что это за сервер udp://10.1.0.102:1234.

Если он начинается с rtmp://10.1.0.102, то я знаю, что это сервер rtmp, и мне нужно настроить nginx иrtmp модуль.Но что такое udp сервер?Что я должен сделать, чтобы настроить один?

Большое спасибо.

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

Эта командная строка ffmpeg позволяет осуществлять потоковую передачу по MPEG2-TS по UDP.Таким образом, он действует в качестве живого кодировщика, и это неплохой выбор для живого кодировщика.

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

Вы можете использовать Wowza или Unreal Media Server - они будут загружать ваш поток MPEG2-TS и выводить на веб-страницу как поток WebRTC.

0 голосов
/ 11 октября 2018

UDP: // не является потоковым форматом как таковым, но говорит о том, что он обслуживает поток по UDP (вместо TCP).Формат на самом деле MPEG-TS (который вы можете видеть из -f mpegts)

Если вы хотите воспроизвести его в обычном браузере, вам нужно будет предоставить его в другом формате.для видео в реальном времени не существует универсально поддерживаемого формата, который вы можете просто использовать с тегом.Microsoft Edge и Apple Safari изначально поддерживают HLS, но и в Chrome, и в Firefox отсутствует какая-либо встроенная поддержка формата потоковой передачи.

С HLS вы можете использовать hls.js и воспроизводить практически во всех браузерах.ffmpeg может изначально выводить HLS , тогда вам просто понадобится веб-сервер.

...