如何生成拉流地址(拉流地址教程)
大家好!今天让创意岭的小编来大家介绍下关于如何生成拉流地址的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。
开始之前先推荐一个非常厉害的Ai人工智能工具,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等
只需要输入关键词,就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端
如需咨询小红书相关业务请拨打175-8598-2043,或微信:1454722008
本文目录:
一、webrtc拉流在srs中的配置
配置文件
...
http_api {
enabled on;
listen 1985;
}
stats {
network 0;
}
rtc_server {
enabled on;
# Listen at udp://8000
listen 8000;
candidate 192.168.8.97;
}
vhost __defaultVhost__ {
rtc {
enabled on;
rtmp_to_rtc on;
}
.....
}
其实webrtc拉流,需要用到两个端口,一个是1985,一个是8000(udp)
如果在配置文件中1985改成了1986,则
http://192.168.8.97:8080/players/rtc_player.html,中拉流地址:webrtc://192.168.8.97:1986/live/stream
真正的webrtc的流程:
1)、webrtc客户端通过API接口/rtc/v1/play/通知SRS服务端创建WebRTC拉流连接,访问的是以下 http://192.168.8.97:1986/rtc/v1/play/
2)、rtc交互过程,在日志中会有记录,
RTC remote offer: 客户端请求
RTC local answer: ...... udp 2130706431 192.168.8.97 8000 typ host generation 0\r\n
返回给客户端的具体地址与端口号 (8000就是前面配置的端口)
特别注意,在docker中配置,在端口映射时,特别要注意,这个8000端口号,一定要与外网的端口号一样。比如同时改成30049,才能正常拉流。
参考:
https://blog.csdn.net/adkada1/article/details/120590921
https://blog.csdn.net/adkada1/article/details/120590944
https://blog.csdn.net/adkada1/article/details/120590949
二、Mac搭建Nginx流媒体服务器,进行推流,拉流
Nginx 是非常优秀的开源服务器,用它来做hls或者rtmp流媒体服务器是非常不错的选择
下面介绍如何在Mac上搭建流媒体服务器,以便后续的自己研究的项目或者demo向服务器上进行推流
首先需要安装brew,brew是一款管理软件的第三方平台,安装的方式也很简单,请自行查阅安装方式
执行下面2句命令,即可安装rtmp推流的nginx服务器
执行完后,可以查看ngix安装在哪里
可以看到M1 是安装在这个目录下/usr/local/etc/nginx
打开这个目录,可以看到有个nginx.conf文件,这里就是服务器的一个配置文件,如果支持rtmp,则里面的内容会有一个rtmp的json
这个json说明:
1.你本地的nginx服务器会监听1935端口号,
2.服务器会创建一个mytv的程序
后续你可以向这个地址进行推流,并且进行拉流播放
后面我们会使用ffmpeg向这个地址推流
rtmp://localhost:1935/mytv/room
并且用vlc拉取这个地址的流进行播放
执行命令,即可启动nginx服务器
验证是否启动成功,只需要在浏览器中访问下以下链接
在浏览器地址栏输入: http://localhost:8080
出现Welcome to nginx ,代表nginx安装成功了。
打开配置文件 /usr/local/etc/nginx/nginx.conf
这里推的是flv流,可以正常推,这里需要注意的是服务器地址一定要写正确,我的nginx.conf里application配置的是mytv,所以路径就是mytv,room则是随便写都行,代表向程序mytv下的room文件推流
然后电脑上打开vlc这个播放器软件 点击File---->Open Network 在弹出来的框中选择Network然后输入URL:
验证时,推流的文件最好搞大点,不然一下推完了,你才去拉取播放,则播放不了,因为这是实时的
vlc使用如下
3.点击播放即可
可以看到左边是画面,右边是ffmpeg在推流
参考: https://www.jianshu.com/p/cf74a34af15d
三、FFmpeg常用推流命令
一、FFmpeg推RTMP流准备工作
首先确保自已已经安装了nginx + rtmp服务器。
打开配置文件nginx.conf
完成如下配置
nginx配置.1
如果没有nginx + rtmp服务器,请阅读我的另一篇文章
Mac搭建nginx+rtmp服务器
二、FFmpeg推流
1.推流MP4文件
视频文件地址:/Users/xu/Desktop/bangbangbang.mp4
推流拉流地址:rtmp://localhost:1935/rtmplive/home
acc:RTMP的音频格式
flv: RTMP的视频格式
ffmpeg -re -i /Users/xu/Desktop/bangbangbang.mp4-vcodec libx264 -acodec aac -f flv rtmp://localhost:1935/rtmplive/home
设置推流.2
输入命令行后,暂时先不要点回车,等设置好本地拉流后,再进行推流。
2.本地拉流MP4文件
打开VLC播放器
VLC.3
设置播放地址
设置播放地址.4
设置拉流地址
rtmp://localhost:1935/rtmplive/home
拉流地址.5
开始推流,点击open后开始播放。
FFmpeg推流成功.6
推流成功!
三、用ffmpeg推流桌面以及推流摄像头进行直播
1.如果希望将桌面录制或者分享,可以使用命令行如下:
ffmpeg -f avfoundation -i "1" -vcodec libx264 -preset ultrafast -acodec libfaac -f flv rtmp://localhost:1935/rtmplive/home
这个只能够推桌面。
2.如果需要桌面+麦克风,比如一般做远程教育分享 命令行如下:
ffmpeg -f avfoundation -i "1:0" -vcodec libx264 -preset ultrafast -acodec libmp3lame -ar 44100 -ac 1 -f flv rtmp://localhost:1935/rtmplive/home
这个可以推桌面+麦克风。
3.如果需要桌面+麦克风,并且还要摄像头拍摄到自己,比如一般用于互动主播,游戏主播,命令行如下
ffmpeg -f avfoundation -framerate 30 -i "1:0" \-f avfoundation -framerate 30 -video_size 640x480 -i "0" \-c:v libx264 -preset ultrafast \-filter_complex 'overlay=main_w-overlay_w-10:main_h-overlay_h-10' -acodec libmp3lame -ar 44100 -ac 1 -f flv rtmp://localhost:1935/rtmplive/home
这个可以推桌面+麦克风,并且摄像头把人头放在界面下面
Snip20160713_12.png
四、FFmpeg常用基本命令
1.分离视频音频流
ffmpeg -i input_file -vcodeccopy-an output_file_video//分离视频流ffmpeg -i input_file -acodeccopy-vn output_file_audio//分离音频流
2.视频解复用
ffmpeg–itest.mp4 –vcodeccopy–an–fm4vtest.264ffmpeg –itest.avi –vcodeccopy–an–fm4vtest.264
3.视频转码
ffmpeg –i test.mp4 –vcodec h464 –s352*278–an –f m4v test.264//转码为码流原始文件ffmpeg –i test.mp4 –vcodec h464 –bf0–g25–s352*278–an –f m4v test.264//转码为码流原始文件
ffmpeg –i test.avi -vcodec mpeg4 –vtag xvid –qsame test_xvid.avi//转码为封装文件
-bf B帧数目控制
-g 关键帧间隔控制
-s 分辨率控制
4.视频封装
ffmpeg –i video_file –i audio_file –vcodeccopy–acodeccopyoutput_file
5.视频剪切
ffmpeg –i test.avi –r1–f image2 image-%3d.jpeg//提取图片ffmpeg -ss0:1:30-t0:0:20-i input.avi -vcodec copy -acodec copy output.avi//剪切视频
-r 提取图像的频率
-ss 开始时间
-t 持续时间
6.视频录制
ffmpeg –i rtsp://192.168.3.205:5555/test –vcodec copy out.avi
7.YUV序列播放
ffplay -f rawvideo -video_size1920x1080 input.yuv
8.YUV序列转AVI
ffmpeg–sw*h–pix_fmtyuv420p–iinput.yuv –vcodecmpeg4output.avi
9.常用参数说明:
主要参数:
i 设定输入流
f 设定输出格式
ss 开始时间
视频参数:
b 设定视频流量,默认为200Kbit/s-r 设定帧速率,默认为25
s 设定画面的宽与高-aspect 设定画面的比例
vn 不处理视频-vcodec 设定视频编解码器,未设定时则使用与输入流相同的编解码器
音频参数:
ar 设定采样率
ac 设定声音的Channel数
acodec 设定声音编解码器,未设定时则使用与输入流相同的编解码器an 不处理音频
四、今日头条怎么设置推流直播
头条号开通直播,可以在头条新闻上面有一发布,点击开,显示直播,就可以个人拉流直播了。
具体方法如下:1、登录头条号后台。
2、找到头条直播间。
3、创建视频直播。
4、获取推流地址。
5、完善直播信息。
6、提交直播后静候几分钟等待审核通过,审核通过后即可点击开始直播进行直播。
以上就是关于如何生成拉流地址相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。
推荐阅读:
如何把微信里的小程序弄到手机界面(如何把微信里的小程序弄到手机界面显示)
抖音广告买了东西查不到订单(抖音广告买了东西查不到订单怎么回事)