音视频开发---nginx流媒体服务器的简单实用

小石头吼吼的博客之网络视频

启动nginx后用ffmpeg推流到nginx-myapp上

1、推流
{
	1、从usb摄像头直接推流
	ffmpeg -f v4l2 -i /dev/video0  -s 640x480 -f flv rtmp://192.168.126.128/myapp/test1
													rtmp服务器IP地址+频道(正确的说法是?)
	
	2、从网络摄像头通过rtsp推流
	ffplay -i rtsp://localhost:8554/live1.h264	-s 640*480 -f flv rtmp://172.27.35.2:1935/myapp/test1

	3、obs推流
}

2、监听:http://192.168.1.109:8080/stat
				192.168.1.109:服务器IP			
				8080:配置文件nginx.conf设定的监听端口号
3、拉流/点播/http播放
{
	windows上的vlc:打开网络串流 输入URL即可看到视频画面表示拉流成功
	1、vlc拉流:	rtmp://192.168.126.128/myapp/test1    	ubuntu上ffmpeg推流 + pc上vlc播放		延迟10秒?
														ubuntu上ffmpeg推流 + ubuntu上vlc播放 延迟1秒?

	2、点播需要添加一个rtmp节点
	rtmp{
	    server{
	        listen 1935;
	        chunk_size 4096;
	        application vod{ //点播节点
	        play /opt/video/vod;//被点播的文件存放地址
	    }
	}
	点播时所用url为rtmp://xx.xx.xx.xx/vod/name.mp4
	
	3、客户端根据hls协议使用http在网页进行观看(推送的仍然是rtmp视频流)
}

三、录播
application live{
  live on;
    allow play all;
    record all;
    record_path /opt/video/record;
    record_unique on;
}
其中record_path是录制视频的存放路径(记得开启写权限)。添加后重新启动nginx后重新推流,
查看/opt/video/record路径下的文件->可以看到多了一个test+时间戳命名的flv文件,这就是录制的视频了。



出现如下界面说明监听成功:
在这里插入图片描述
ffmpeg推流指令参考

HTTP Live Streaming(HLS)是苹果公司(Apple Inc.)实现的基于HTTP的流媒体传输协议,可实现流媒体的直播和点播,相对于常见的流媒体直播协议,例如RTMP协议、RTSP协议、MMS协议等,HLS直播最大的不同在于,直播客户端获取到的,并不是一个完整的数据流。HLS协议在服务器端将直播数据流存储为连续的、很短时长的媒体文件(MPEG-TS格式),而客户端则不断的下载并播放这些小文件,因为服务器端总是会将最新的直播数据生成新的小文件,这样客户端只要不停的按顺序播放从服务器获取到的文件,就实现了直播。由此可见,基本上可以认为,HLS是以点播的技术方式来实现直播。由于数据通过HTTP协议传输,所以完全不用考虑防火墙或者代理的问题,而且分段文件的时长很短,客户端可以很快的选择和切换码率,以适应不同带宽条件下的播放。不过HLS的这种技术特点,决定了它的延迟一般总是会高于普通的流媒体直播协议。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值