처음에는 짧게 유지합니다.
nginx 구성을 통해 avconv와 함께 rtmp를 통해 스트리밍합니다. 스트림을 웹 사이트로 잡는 것은 내가 아는 한 플래시를 통해서만 가능합니다. 오늘날 스마트 폰 (iPhone / Android / 무엇이든)을 통해 플래시 파일을 재생하는 것은 좋지 않습니다. 내가하고 싶은 일은 그 스트림을 가져 와서 (rtmp로 들어오는) HTML5 재생 가능한 파일 / 스트림으로 변환하는 것입니다. 나는 대시에 대한 가능성에 대해 알고있다. 또는 hls; 그러나 그것은 완벽하게 작동하지 않습니다. (나는 그 빌어 먹을 일을 시작하기 위해 CORS를 켜야하지만 여전히 말더듬입니다)
내 설정은 다음과 같습니다.
avconv :
avconv \
-f video4linux2 -input_format mjpeg -r 10 -s hd720 -i /dev/video0 \
-f video4linux2 -input_format mjpeg -r 10 -s 640x480 -i /dev/video1 \
-vf transpose=cclock -filter_complex \
"[0:v]scale=1280:-1,setpts=PTS-STARTPTS[bg]; \
[1:v]scale=320:-1,transpose=cclock,setpts=PTS-STARTPTS[fg]; \
[bg][fg]overlay=W-w-10:10[out]" \
-map "[out]" -vprofile baseline -vcodec libx264 -preset fast \
-maxrate 3000k -bufsize 6000k -b 500k \
-f flv rtmp://STREAMURL
nginx.conf :
rtmp {
server {
listen 1935;
chunk_size 4096;
application webcam {
live on;
record off;
allow publish a.b.c.d;
deny publish all;
allow play all;
#exec /usr/bin/avconv -loglevel verbose -i rtmp://STREAMURL -vcodec libx264 -vprofile baseline /tmp/out.mp4;
} } }
그 주석 처리 된 줄은 출력 파일을 생성하고 있으며 시간이 지남에 따라 증가하고 있습니다. 일부 구성에서는 문제가 없지만 연중 무휴로 진행되는 스트림에서는 실제로 좋은 해결책이 아닙니다.
누구나 내 문제를 해결할 수있는 현명한 아이디어 나 힌트를 얻었습니다.-rtmp 스트림을 가져 와서 캐시 된 하드 드라이브로 안전하지 않은 HTML5 재생 가능 파일로 변환하십시오.