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

商城网站开发流程百度学术论文官网入口

商城网站开发流程,百度学术论文官网入口,做商业网站赚钱吗,前端网站重构怎么做简言&#xff1a;视频流格式大致分为&#xff1a;RTMP、RTSP、RTP、HLS、MPEG-DASH。 本文就只说一下Rtsp转Rtmp格式&#xff0c;转换成功之后Rtmp的视频流存储到srs上 Pom文件 <dependency><groupId>org.bytedeco</groupId><artifactId>javacv-platf…

简言:视频流格式大致分为:RTMP、RTSP、RTP、HLS、MPEG-DASH。
本文就只说一下Rtsp转Rtmp格式,转换成功之后Rtmp的视频流存储到srs上
Pom文件

<dependency><groupId>org.bytedeco</groupId><artifactId>javacv-platform</artifactId><version>1.5.1</version>
</dependency>

Constant类

public class Constant {public final static String rtmp="rtmp://";public final static String colon=":";public final static String slash="/";public final static String stop="stop";
}

application.properties

rtmp.host: 
rtmp.port: 
rtmp.folder: 

rtmp.host: srs安装的ip地址
rtmp.port: srs的端口
rtmp.folder:视频流存储的位置

具体实现

import org.bytedeco.ffmpeg.global.avcodec;
import org.bytedeco.javacv.FFmpegFrameGrabber;
import org.bytedeco.javacv.FFmpegFrameRecorder;
import org.bytedeco.javacv.FFmpegLogCallback;
import org.bytedeco.javacv.Frame;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** @author: majinzhong* @date: 2022/6/10 13:53* @Version 1.0*/
@RestController
@CrossOrigin
@RequestMapping("/stream")
public class CameraPushController {@Value("${rtmp.host}")public String rtmpHost;@Value("${rtmp.port}")public String rtmpPort;@Value("${rtmp.folder}")public String rtmpFolder;@RequestMapping("/info")public String info(){return "项目启动成功";}/**** @param rtsUrl rtsp的推流地址(在用户关闭时也要传值)* @param status 是否停止的状态(在用户关闭时传值,其他时候不传)* @return*/@RequestMapping("/push")public String streamPush(String rtsUrl,String status)throws Exception{//取出rtsUrl入参中的最后一个/后的streamIdString streamId = rtsUrl.substring(rtsUrl.lastIndexOf(Constant.slash) + 1);//对SRS的推流地址进行拼接String rtmpUrl = Constant.rtmp + rtmpHost + Constant.colon + rtmpPort + Constant.slash + rtmpFolder + Constant.slash + streamId;//实例化帧抓取器对象,将rtsp地址放入FFmpegFrameGrabber grabber = new FFmpegFrameGrabber(rtsUrl);grabber.setOption("rtsp_transport", "tcp");//初始化帧抓取器grabber.start();//实例化FFmpegFrameRecorder,将SRS地址传入FFmpegFrameRecorder recorder = new FFmpegFrameRecorder(rtmpUrl,grabber.getImageWidth() * 2,grabber.getImageHeight() * 2,grabber.getAudioChannels());int v_rs = 25;//设置编码格式recorder.setVideoCodec(avcodec.AV_CODEC_ID_H264);//设置封装格式recorder.setFormat("flv");//一秒内的帧数recorder.setFrameRate(v_rs);//两个关键帧之间的帧数recorder.setGopSize(v_rs);//设置音频通道,与视频源的通道数相等recorder.setAudioChannels(grabber.getAudioChannels());FFmpegLogCallback.set();//初始化帧录制器recorder.start();try {//使用异步线程让视频流 从rtsp转为rtmpif(!StringUtils.isEmpty(status)) {//获取当前所有在运行的线程ThreadGroup currentGroup =Thread.currentThread().getThreadGroup();int noThreads = currentGroup.activeCount();Thread[] lstThreads = new Thread[noThreads];currentGroup.enumerate(lstThreads);for (int i = 0; i < noThreads; i++){//找到视频流的线程if("push".equals(lstThreads[i].getName())){//让视频流线程睡眠1秒,因为在执行的线程不能直接结束lstThreads[i].sleep(1000);//结束线程,阻止推流lstThreads[i].suspend();}}//如果是停止就关闭录制器和抓取器并退出程序,如果是替换,就继续创建新线程推流if(Constant.stop.equals(status)) {//关闭帧录制器recorder.close();//关闭帧抓取器grabber.close();return "停止推流成功!";}}//创建新线程进行推流Thread thread = new Thread(() -> {try {//持续从视频源取帧Frame frame;while (null != (frame = grabber.grab())) {//取出的每一帧都推送到SRSrecorder.record(frame);}} catch (Exception e) {e.printStackTrace();}});//给线程设置名称,方便后续查找thread.setName("push");//启动线程thread.start();}catch (Exception e){e.printStackTrace();System.out.println(e);}return rtmpUrl;}
}

http://www.dtcms.com/wzjs/474730.html

相关文章:

  • 怎么查看网站备案信息免费注册网站有哪些
  • 绵阳网站建设aso应用优化
  • 广西建设部投诉网站关键词优化怎么优化
  • 网站建设新闻市场推广方案和思路
  • 做ppt接单的网站外贸网站平台哪个好
  • 网站建设木马科技广告图片
  • 怎么做教育网站网站百度seo关键词优化
  • 网站建设建议书买淘宝店铺多少钱一个
  • 学校教务网站的设计与实现千锋教育前端学费多少
  • 网站开发用原生驾校推广网络营销方案
  • 网站建设的客户需求调查与分析短链接生成
  • wordpress abowman百度seo软件曝光行者seo
  • t型布局网站怎么做最优化方法
  • 外贸建站主机企业站seo
  • 北京网站定制开发最新的全国疫情
  • 杭州动漫设计公司最新招聘标题优化方法
  • wordpress 上下页导航网站seo属于什么专业
  • 潍坊做网站潍坊做网站seo标题优化关键词
  • 网站建设先进城市服务营销论文
  • web做网站作业目前推广软件
  • 苏州代做淘宝网站口碑营销的优势有哪些
  • 中国最大的中文网站网站快速建站
  • wordpress媒体库插件衡阳seo快速排名
  • 做外贸网站报价软文案例200字
  • 网站开发流程中有哪几个阶段seo团队管理系统
  • wordpress支付界面出现500锦州网站seo
  • 山西住房和城乡建设厅网站安徽seo网络优化师
  • 用dw做网站的好处国内新闻摘抄2022年
  • 免费推广网站建设优化神马网站关键词排名价格
  • 今日头条体育新闻抖音seo源码搭建