1、确认Nginx安装配置成功支持HLS,具体过程可参考我以前博客。
2、使用VLC生成UDP视频流
3、FFmpeg接收udp流转换成RTMP视频流推送到Nginx上
- ffmpeg -i udp://192.168.1.110:1234 -vcodec copy -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://192.168.1.110:1935/hls/test2
效果如下:
- Input #0, mpegts, from 'udp://192.168.1.110:1234':
- Duration: N/A, start: 1904.952289, bitrate: N/A
- Program 1
- Stream #0:0[0x45]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1280x554 [SAR 1:1 DAR 640:277], 23.98 fps, 25 tbr, 90k tbn, 47.96 tbc
- Output #0, flv, to 'rtmp://192.168.1.110:1935/hls/test2':
- Metadata:
- encoder : Lavf56.15.102
- Stream #0:0: Video: h264 ([7][0][0][0] / 0x0007), yuv420p, 1280x554 [SAR 1:1 DAR 640:277], q=2-31, 23.98 fps, 1k tbn, 90k tbc
- Stream mapping:
- Stream #0:0 -> #0:0 (copy)
- Press [q] to stop, [?] for help
- frame= 3695 fps= 15 q=-1.0 size= 32812kB time=00:02:36.16 bitrate=1721.3kbits/s
4、在手机浏览器中输入地址
- http://192.168.1.110/hls/test2.m3u8
2楼 thezhili 2015-04-12 23:50发表 [回复]-
-
你好,我现在能实现hls直播了。
但是还是遇到个问题:好像不是所有视频都支持,有的直播效果是只有声音没有图像,我看了一下那些切片,很小,的确是只有声音没有图像的分片。请问这是什么原因呢?
Re: 小石头吼吼 2015-04-13 15:55发表 [回复]-
-
回复thezhili:这是因为HLS协议的视频分段TS流只支持和h264,你在转码时别-vcodec copy了 直接转换了-vcodec libx264就好了
Re: thezhili 2015-04-13 16:10发表 [回复]-
-
回复小石头吼吼:你好,我用的视频就是H264的mp4视频,用vlc发出udp流后,本地播放的就是只有声音没有图像,切片也因此没有图像只有声音,不知什么原因? 但是我也试过其他H264的视频,有些视频是可以正常直播的。还有一个问题,HLS直播不支持h265视频吗?
Re: 小石头吼吼 2015-04-13 17:00发表 [回复]-
-
回复thezhili:HLS只支持h264和aac,你上面的原因可能是视频源的问题,你可以用网络摄像机测试下,毕竟摄像机输出格式自己可以定。
1楼 thezhili 2015-04-09 15:40发表 [回复] [引用] [举报]-
-
你好,谢谢你之前回复我!
你的这个帖子里是ffmpeg接收udp流转成rtmp流发到nginx上,有没有办法实现ffmpeg接收udp流自动切片到某个文件夹目录下呢?
还有,按照你这个做法,你的nginx目录下会产生什么文件?
Re: 小石头吼吼 2015-04-09 16:20发表 [回复] [引用] [举报]-
-
回复thezhili:我这种方式的切片也是在一个文件夹下啊,这个文件夹的地址是你自己在Nginx配置文件中规定的。默认/tmp中啊!location /hls { types { application/vnd.apple.mpegurl m3u8; video/mp2t ts; } root /tmp; add_header Cache-Control no-cache; }
Re: thezhili 2015-04-09 16:49发表 [回复] [引用] [举报]-
-
回复小石头吼吼:好的,除了这个办法,有什么办法接收udp流之后直接切片放到目录下吗?
Re: 小石头吼吼 2015-04-09 18:53发表 [回复] [引用] [举报]-
-
回复thezhili:你生成TS切片不是送给服务器吗?直接切的话不清楚怎么做了