HOME 首页
SERVICE 服务产品
XINMEITI 新媒体代运营
CASE 服务案例
NEWS 热点资讯
ABOUT 关于我们
CONTACT 联系我们
创意岭
让品牌有温度、有情感
专注品牌策划15年

    如何生成拉流地址(拉流地址教程)

    发布时间:2023-03-27 18:46:39     稿源: 创意岭    阅读: 864        问大家

    大家好!今天让创意岭的小编来大家介绍下关于如何生成拉流地址的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。

    开始之前先推荐一个非常厉害的Ai人工智能工具,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等

    只需要输入关键词,就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端

    官网:https://ai.de1919.com

    如需咨询小红书相关业务请拨打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、提交直播后静候几分钟等待审核通过,审核通过后即可点击开始直播进行直播。

    以上就是关于如何生成拉流地址相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。


    推荐阅读:

    如何开网店0基础教程(如何开网店入门基础)

    如何把微信里的小程序弄到手机界面(如何把微信里的小程序弄到手机界面显示)

    mac卷宗加密如何删除(macbookair卷宗怎么删除)

    50万以下的车排行榜(50万以下的车排行榜)

    抖音广告买了东西查不到订单(抖音广告买了东西查不到订单怎么回事)