Configuração: raspivid - > ffmpeg - > rtmp - > hls [ts / m3u8] - > VideoJS
A configuração do NGINX RTMP HLS é muito direta, então não vou passar por isso. Eu uso o tamanho hls_fragment de 250ms e hls_playlist de 3s. Sinta-se à vontade para usar o meu servidor NGINX RTMP HLS. Apenas copie e cole exatamente o que está na seção rtmp, mas mude 'stream_name' para algo único. Da mesma forma, mude isso no VideoJS para que você possa reproduzi-lo em sua página da web. Não estou garantindo que o aplicativo 2a existirá para sempre, mas planejo que seja meu aplicativo de teste por um tempo.
- Somente vídeo, A raspivid -n -t 0 -h 480 -w 854 -fps 24 -b 1536000 -o - | ffmpeg -i - -c: v copia -f flv 'rtmp: //streaming.sensored.solutions/2a/stream_name' Prós: Qualidade mais fácil e sólida, sem buffer. Contras: ~ 10s latência
- Somente vídeo, B raspivid -n -t 0 -h 480 -w 854 -fps 15 -b 1080000 -o - | ffmpeg -i - -c: v copia -f flv 'rtmp: //streaming.sensored.solutions/2a/stream_name' Prós: baixa latência, abaixo de 5s. Contras: Buffer, Qualidade
- Vídeo e áudio [USB via Sabrent e microfone barato de 3,5 mm] raspivid -n -t 0 -h 480 -w 854 -fps 25 -b 2000000 -o - | ffmpeg -thread_queue_size 512 -i - -itsoffset 00: 00: 05.22 -f alsa -ac 1 -i hw: 0,0 -map 0: 0 -map 1: 0 -c: aac -c: v cópia -f flv 'rtmp: //streaming.sensored.solutions/2a/stream_name' Prós: Qualidade, Sem buffer, Áudio / vídeo sincronizado. Contras: Alta taxa de bits [não é bom para vários dispositivos usando a mesma largura de banda], Latência ~ 12s - 15s
VideoJS:
<!--Note, you should including the following in the HEAD of your HTML file:
<link href="http://videojs.github.io/videojs-contrib-hls/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
-->
<div class="container" id="videojs_container">
<section class="starter-template">
<video id=video-js-player width=854 height=480 class="video-js vjs-default-skin" controls autoplay="true" data-setup="{}" preload="auto">
<source src = "http://streaming.sensored.solutions/2a/stream_name/index.m3u8" type = "application/x-mpegURL">
</video>
</section>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script><scriptsrc="http://videojs.github.io/videojs-contrib-hls/node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
<script src="http://videojs.github.io/videojs-contrib-hls/js/ie10-viewport-bug-workaround.js"></script><linkhref="//vjs.zencdn.net/5.4/video-js.css" rel="stylesheet">
<script src="//vjs.zencdn.net/5.4/video.js"></script>
<script src="http://videojs.github.io/videojs-contrib-hls/node_modules/videojs-contrib-hls/dist/videojs.hls.min.js"></script>