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

安平县建设局网站建筑学习网

安平县建设局网站,建筑学习网,东莞宣传网站,中国e网网站建设问题背景 问题背景是在#xff0c;由于视频采集端使用的是H264编码采集的裸流#xff0c;而网络流媒体大多是以FLV为主的直播方式进行的#xff0c;为了实现实时直播#xff0c;当前是打算直接使用FFmpeg将H264裸流实时转成FLV视频流。 为什么是使用FLV视频流呢#xff0c…问题背景 问题背景是在由于视频采集端使用的是H264编码采集的裸流而网络流媒体大多是以FLV为主的直播方式进行的为了实现实时直播当前是打算直接使用FFmpeg将H264裸流实时转成FLV视频流。 为什么是使用FLV视频流呢因为相对简单加上FLV Header后将每个NALU打包成Tag并进去大致就行了。但是这块怕有疏忽最终还是想使用成熟的工具FFmpeg。 方法实现 1. 使用FFmpeg-go封装好的方法 FFmpeg-go 上面有具体的Demo但是只有流转文件也只有文件转流的方法对于流转流还是需要自己动手处理一下。 import ffmpeg github.com/u2takey/ffmpeg-goerr : ffmpeg.Input(pipe:, ffmpeg.KwArgs{format: rawvideo,video_size: fmt.Sprintf(%dx%d, 480, 1064)}).WithInput(filein).Output(pipe:,ffmpeg.KwArgs{c:v: libx264, f: flv, crf: 24}).WithOutput(buf, errorbuf).Run() if err ! nil {panic(err) } bufs : make([]byte, 1024) out, _ : os.OpenFile(res2.flv, os.O_CREATE|os.O_RDWR|os.O_APPEND, 0644) for {n, err : buf.Read(bufs)if n 0 || err io.EOF {out.Close()break} else {//此处处理输出流这边简单地写到文件里out.Write(bufs)} } 其中 filein 是输入的H264视频裸流 buf是输出的视频流虽说代码是这么写但是实际上是run不起来的不清楚具体是什么原因因此后续还是打算直接调用ffmpeg可执行程序。 2. 直接调用FFmpeg 首先需要在电脑上下载好ffmpeg并且添加到环境变量保证执行Powshell或者cmd指令的ffmpeg时能够正常运行接下来还是直接上代码。 cmd : exec.Command(ffmpeg, -re, -r, 30, -i, pipe:0, -vcodec, libx264, -f, flv, pipe:1, -y, another.flv)//获取输入流 stdin, err : cmd.StdinPipe() if err ! nil {fmt.Println(Error getting stdout pipe:, err)return }//要写东西进去的时候只需要 stdin.Write(bytes) //获取输出流 stdout, err : cmd.StdoutPipe() if err ! nil {fmt.Println(Error getting stdout pipe:, err)return }// Start the command err cmd.Start() if err ! nil {fmt.Println(Error starting command:, err)return } 这边需要注意到的点是如果不加上-re的话需要等stdin.close()之后整个ffmpeg才会运行才能见到有输出流。 其次这边加了 “-y” another.flv是用来进行对比的这里ffmpeg将会把输出同时放在两个地方一个写入到文件another.flv里-y 是覆盖原有文件另一个通过stdout传出来我将stdout的数据流保存成out.flv后发现同another.flv对比发现并不相同。或许视频流和文件不应该这么处理。 总结 建议直接调用FFmpeg的可执行文件进行操作最好。 但是这样实时的流转流的方式实际上还是有挺大延迟的如果要实时视频流P2P模式建议要么在采集端处理好要么在播放端处理好中间层就不要过多操作影响实时性如果是推流拉流的模式还是建议在中间层处理好。 存在问题 这边还是发现一些问题的尤其是直接使用ffmpeg的时候 1. 直接读取文件和读取文件通过stdin传入byte获取到的结果是不一致的。 2. 直接output成文件和通过stdout获取byte再保存成文件得到的结果也是不一致的。
http://www.hkea.cn/news/14501671/

相关文章:

  • 开发网站通过第三方微信认证登录开发费用番禺建设银行网站
  • 巩义做网站xd seo修改wordpress图片外链
  • 网站建设行业wordpress中文4.8
  • 长沙城乡建设部网站首页汽车之家 网站建设
  • 天津网站建设网站排名优化宿迁房价2023年最新房价
  • 平原县建设局网站国外炫酷网站设计
  • 公司名字变了网站备案租电信网站服务器
  • dede手机网站模板哦百度提交网站的入口地址
  • 网站建设提供源代码有什么用怎么样优化网站seo
  • 做外贸如何分析客户网站南阳logo设计公司
  • 做公司网站怎么做手机版简述什么是网站
  • 网站建设费用价格wordpress商城 微信支付
  • 温州做网站老师jquery 动画网站
  • 杭州建电商网站多少钱国内十大高端定制西服品牌
  • 广西网站建设策划wordpress 在线教育模板
  • 山西公司怎么做网站企业网站新模式
  • js网站开发购物网站大全排名调查
  • 简易网页一键生成seo优化的价格
  • 电商网站开发系统架构wordpress模板top
  • 布吉网站建设技术托管广西网站建设培训
  • 常见网站颜色搭配wordpress 自动摘要
  • 订阅号怎么做免费的视频网站吗网站功能设计讲解
  • 免费购物网站源码企业网站源码生成
  • 网站建设设计公司类网站织梦模板 带手机端wordpress 中文用户
  • 网站建设常用的方法东城网站开发公司
  • 厦门满山红网站建设召开网站建设培训会
  • 郑州视频网站建设大概多少钱深圳外贸公司名单
  • 网站建设平台一般多少钱wordpress文件上传大小
  • 儿童个人网站模板网站代码验证
  • thinkphp网站模板山西网站建站系统哪家好