当前位置: 首页 > news >正文

凡科快速建站网站做优化好还是推广好

凡科快速建站,网站做优化好还是推广好,南通城乡建设局网站,wordpress添加形式一、前言 之前已经实现了rtsp/rtmp推流,rtsp/rtmp/hls/flv/ws-flv/webrtc等拉流,这种一般都需要依赖一个独立的流媒体服务程序,有没有一种更便捷的方式不需要这种依赖,然后又能实现推拉流呢,当然有的那就是udpp推流&a…

一、前言

之前已经实现了rtsp/rtmp推流,rtsp/rtmp/hls/flv/ws-flv/webrtc等拉流,这种一般都需要依赖一个独立的流媒体服务程序,有没有一种更便捷的方式不需要这种依赖,然后又能实现推拉流呢,当然有的那就是udpp推流,其中udp推流还可以是组播或者单播推流,组播一般会选择224.0.0.1这个地址,单播的话就是指定到唯一的IP地址比如192.168.0.8,组播的话相当于同一个交换机内所有局域网设备都会收到该数据,优点是推一次所有地方都可以拉流取到数据,缺点是极有可能产生组播风暴,因为每个局域网的设备都可能收到大量的视频数据包,这些完全是多余的。

在之前的ffmpeg推流代码基础上,只需要增加一行代码即可实现udp推流,那就是在调用avformat_alloc_output_context2填入对应的格式需要填入mpegts,其实也可以是h264,但是个人推荐用mpegts,用ffmpeg命令行推流是 ffmpeg -re -stream_loop -1 -i f:/mp4/push/1.mp4 -c copy -f mpegts udp://127.0.0.1:1234 ,可以看到要指定对应的端口号,一个推流占用一个端口号,如果要推10个视频文件就要占用10个端口。

二、效果图

在这里插入图片描述
在这里插入图片描述

三、体验地址

  1. 国内站点:https://gitee.com/feiyangqingyun
  2. 国际站点:https://github.com/feiyangqingyun
  3. 个人作品:https://blog.csdn.net/feiyangqingyun/article/details/97565652
  4. 体验地址:https://pan.baidu.com/s/1d7TH_GEYl5nOecuNlWJJ7g 提取码:01jf 文件名:bin_video_push。

四、功能特点

  1. 支持各种本地视频文件和网络视频文件。
  2. 支持各种网络视频流,网络摄像头,协议包括rtsp、rtmp、http。
  3. 支持将本地摄像头设备推流,可指定分辨率和帧率等。
  4. 支持将本地桌面推流,可指定屏幕区域和帧率等。
  5. 自动启动流媒体服务程序,默认mediamtx(原rtsp-simple-server),可选用srs、EasyDarwin、LiveQing、ZLMediaKit等。
  6. 可实时切换预览视频文件,可切换视频文件播放进度,切换到哪里就推流到哪里。
  7. 推流的清晰度和质量可调。
  8. 可动态添加文件、目录、地址。
  9. 视频文件自动循环推流,如果视频源是视频流,在掉线后会自动重连。
  10. 网络视频流自动重连,重连成功自动继续推流。
  11. 网络视频流实时性极高,延迟极低,延迟时间大概在100ms左右。
  12. 极低CPU占用,4路主码流推流只需要占用0.2%CPU。理论上常规普通PC机器推100路毫无压力,主要性能瓶颈在网络。
  13. 推流可选推流到rtsp/rtmp两种,推流后的数据支持直接rtsp/rtmp/hls/webrtc四种方式访问,可以直接浏览器打开看实时画面。
  14. 可以推流到外网服务器,然后通过手机、电脑、平板等设备播放对应的视频流。
  15. 每个推流都可以手动指定唯一标识符(方便拉流/用户无需记忆复杂的地址),没有指定则按照策略随机生成hash值。
  16. 自动生成测试网页直接打开播放,可以看到实时效果,自动按照数量对应宫格显示。
  17. 推流过程中可以在表格中切换对应推流项,实时预览正在推流的视频,并可以切换视频文件的播放进度。
  18. 音视频同步推流,符合264/265/aac格式的自动原数据推流,不符合的自动转码再推流(会占用一定CPU)。
  19. 转码策略支持三种,自动处理(符合要求的原数据/不符合的转码),仅限文件(文件类型的转码视频),所有转码。
  20. 表格中实时显示每一路推流的分辨率和音视频数据状态,灰色表示没有输入流,黑色表示没有输出流,绿色表示原数据推流,红色表示转码后的数据推流。
  21. 自动重连视频源,自动重连流媒体服务器,保证启动后,推流地址和打开地址都实时重连,只要恢复后立即连上继续采集和推流。
  22. 提供循环推流示例,一个视频源同时推流到多个流媒体服务器,比如打开一个视频同时推流到抖音/快手/B站等,可以作为录播推流,列表循环,非常方便实用。
  23. 根据不同的流媒体服务器类型,自动生成对应的rtsp/rtmp/hls/flv/ws-flv/webrtc地址,用户可以直接复制该地址到播放器或者网页中预览查看。
  24. 编码视频格式可以选择自动处理(源头是264就264/源头是265就265),转H264(强制转264),转H265(强制转265)。
  25. 支持Qt4/Qt5/Qt6任意版本,支持任意系统(windows/linux/macos/android/嵌入式linux等)。

五、相关代码

void FFmpegPushClient::initOsd()
{QList<OsdInfo> osds;OsdInfo osd;//日期时间osd.name = "datetime";osd.color = "#FFFFFF";osd.fontSize = 30;osd.format = OsdFormat_DateTime;osd.position = OsdPosition_LeftTop;osds << osd;//图片osd.name = "osd.png";osd.image = QImage(":/image/bg_novideo.png");osd.format = OsdFormat_Image;osd.position = OsdPosition_LeftBottom;//设置唯一名称标识并将图片保存(滤镜基本上都是支持指定图片文件)osd.name = "osd.png";QString file = QString("./%1").arg(osd.name);osd.image.save(file, "png");osds << osd;ffmpegThread->setOsdInfo(osds);
}void FFmpegPushClient::start()
{if (ffmpegThread || videoUrl.isEmpty() || pushUrl.isEmpty()) {return;}//实例化视频采集线程ffmpegThread = new FFmpegThread;//关联播放开始信号用来启动推流connect(ffmpegThread, SIGNAL(receivePlayStart(int)), this, SLOT(receivePlayStart(int)));//关联录制信号变化用来判断是否推流成功connect(ffmpegThread, SIGNAL(recorderStateChanged(RecorderState, QString)), this, SLOT(recorderStateChanged(RecorderState, QString)));//设置播放地址ffmpegThread->setVideoUrl(videoUrl);//设置解码内核ffmpegThread->setVideoCore(VideoCore_FFmpeg);//设置视频模式ffmpegThread->setVideoMode(VideoMode_Opengl);//设置硬解码(和推流无关/只是为了加速显示/推流只和硬编码有关)//ffmpegThread->setHardware("dxva2");//设置解码策略(推流的地址再拉流建议开启最快速度)//ffmpegThread->setDecodeType(DecodeType_Fastest);//设置读取超时时间超时后会自动重连ffmpegThread->setReadTimeout(5 * 1000);//设置连接超时时间(0表示一直连)ffmpegThread->setConnectTimeout(0);//设置重复播放相当于循环推流ffmpegThread->setPlayRepeat(true);//设置默认不播放音频(界面上切换到哪一路就开启)ffmpegThread->setPlayAudio(false);//设置默认不预览视频(界面上切换到哪一路就开启)ffmpegThread->setPushPreview(false);//设置保存视频类将数据包信号发出来用于保存文件FFmpegSave *saveFile = ffmpegThread->getSaveFile();saveFile->setSendPacket(!fileName.isEmpty(), false);connect(saveFile, SIGNAL(receivePacket(AVPacket *)), this, SLOT(receivePacket(AVPacket *)));connect(saveFile, SIGNAL(receiveSaveStart()), this, SLOT(receiveSaveStart()));connect(saveFile, SIGNAL(receiveSaveFinsh()), this, SLOT(receiveSaveFinsh()));connect(saveFile, SIGNAL(receiveSaveError(int)), this, SLOT(receiveSaveError(int)));    //如果是本地设备或者桌面录屏要取出其他参数VideoHelper::initVideoPara(ffmpegThread, videoUrl, encodeVideoScale);//设置编码策略/视频编码格式/视频压缩比率/视频缩放比例ffmpegThread->setEncodeType((EncodeType)encodeType);ffmpegThread->setVideoFormat((VideoFormat)videoFormat);ffmpegThread->setEncodeVideoRatio(encodeVideoRatio);ffmpegThread->setEncodeVideoScale(encodeVideoScale);//启动播放ffmpegThread->play();
}void FFmpegPushClient::stop()
{//停止推流和采集并彻底释放对象if (ffmpegThread) {ffmpegThread->recordStop();ffmpegThread->stop();ffmpegThread->deleteLater();ffmpegThread = NULL;}//停止录制if (ffmpegSave) {ffmpegSave->stop();ffmpegSave->deleteLater();ffmpegSave = NULL;}
}
http://www.ds6.com.cn/news/35831.html

相关文章:

  • 怎样做博客网站苏州百度
  • 网站开发需求分析包括哪些方面毕节地seo
  • 武汉个人做网站联系电话网页设计的流程
  • 网站备案做网站要转移吗网络外包
  • 免费创建个人商城网站吗个人优秀网页设计
  • 织梦怎么上传wordpress上海优化seo排名
  • 哪里有做网站公司网站建立具体步骤是
  • b2c电子商务网站的需求分析百度企业推广
  • 怎么做万网网站福州seo兼职
  • wordpress网站开发优化营商环境发言稿
  • 手机做任务的网站有哪些百度直接打开
  • 网页设计简单基础页面模板360seo优化
  • 如何兼职做网站seo基础培训机构
  • 广州网站制作是什么百度广告管家
  • 帮忙推广的平台seo营销培训
  • 菏泽做网站建设的公司太仓网站制作
  • 政府门户网站程序如何免费搭建自己的网站
  • 株洲市网站关键词优化公司关联词有哪些小学
  • 如何建设网站视频网站建设主要推广方式
  • 交友网网站开发文档百度竞价排名广告定价
  • 那里可以做工作室做网站怎么在广告联盟接广告
  • 做一个网站后期维护需要多少钱软文世界官网
  • 心悦每周免做卡网站seo网络推广知识
  • 做企业网站还有钱挣吗手机百度电脑版入口
  • 赤峰做网站的实时新闻
  • 网站怎么做音乐播放器长沙岳麓区
  • 七牛云可以做网站的存储空间吗百度客服中心人工电话
  • 石佛营网站建设中国最新军事新闻最新消息
  • 做微商能利用的网站有哪些小学生一分钟新闻播报
  • 公司网站运营注意事项百度快照