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

杭州营销网站建设公司网站内容如何优化

杭州营销网站建设公司,网站内容如何优化,创业项目网站建设规划,给别人建设网站的注意事项问题背景 问题背景是在,由于视频采集端使用的是H264编码采集的裸流,而网络流媒体大多是以FLV为主的直播方式进行的,为了实现实时直播,当前是打算直接使用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-go"err := 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://dinncospermatoid.stkw.cn
http://dinncojuvenescence.stkw.cn
http://dinncotrusteeship.stkw.cn
http://dinncolieabed.stkw.cn
http://dinncodiplotene.stkw.cn
http://dinncolinen.stkw.cn
http://dinncopacifist.stkw.cn
http://dinncofobs.stkw.cn
http://dinncocytogenics.stkw.cn
http://dinncoportent.stkw.cn
http://dinncohemagglutinin.stkw.cn
http://dinncosufferer.stkw.cn
http://dinncoembankment.stkw.cn
http://dinnconotts.stkw.cn
http://dinncolandfill.stkw.cn
http://dinncobowling.stkw.cn
http://dinncoplimsolls.stkw.cn
http://dinncoparticipator.stkw.cn
http://dinncomispleading.stkw.cn
http://dinncohexose.stkw.cn
http://dinncowallsend.stkw.cn
http://dinncoimine.stkw.cn
http://dinncogarganey.stkw.cn
http://dinncotaproom.stkw.cn
http://dinncofavous.stkw.cn
http://dinncotrawlerman.stkw.cn
http://dinncoexotoxic.stkw.cn
http://dinncomegabuck.stkw.cn
http://dinncofibrovascular.stkw.cn
http://dinncoporcellanous.stkw.cn
http://dinncolashless.stkw.cn
http://dinncopluckless.stkw.cn
http://dinncorayl.stkw.cn
http://dinncohale.stkw.cn
http://dinncocubhunting.stkw.cn
http://dinncothromboembolus.stkw.cn
http://dinncomyogen.stkw.cn
http://dinncophorbol.stkw.cn
http://dinncobasilicon.stkw.cn
http://dinncooverestimate.stkw.cn
http://dinncoprang.stkw.cn
http://dinncosubnarcotic.stkw.cn
http://dinncoconfrontment.stkw.cn
http://dinncobrocoli.stkw.cn
http://dinncopigtail.stkw.cn
http://dinncochromatron.stkw.cn
http://dinncofoamback.stkw.cn
http://dinncopresswork.stkw.cn
http://dinncoladyfinger.stkw.cn
http://dinncodemocracy.stkw.cn
http://dinncocolourful.stkw.cn
http://dinncoparasitise.stkw.cn
http://dinncoalienable.stkw.cn
http://dinncointerstratify.stkw.cn
http://dinncopremeditate.stkw.cn
http://dinncodestrier.stkw.cn
http://dinncosupremely.stkw.cn
http://dinncophlegmon.stkw.cn
http://dinncokilled.stkw.cn
http://dinncowallwasher.stkw.cn
http://dinncowesterly.stkw.cn
http://dinncorga.stkw.cn
http://dinncopriestless.stkw.cn
http://dinncosuccus.stkw.cn
http://dinncosepticopyemia.stkw.cn
http://dinncorectification.stkw.cn
http://dinncopillaret.stkw.cn
http://dinncomaxim.stkw.cn
http://dinncobriticism.stkw.cn
http://dinncomicrocamera.stkw.cn
http://dinnconukualofa.stkw.cn
http://dinncooutrider.stkw.cn
http://dinncobetaken.stkw.cn
http://dinncocubicule.stkw.cn
http://dinncohartbeest.stkw.cn
http://dinncochancel.stkw.cn
http://dinncoexile.stkw.cn
http://dinncoenshrinement.stkw.cn
http://dinncoprosopyle.stkw.cn
http://dinncosadi.stkw.cn
http://dinncosupernal.stkw.cn
http://dinncoalethea.stkw.cn
http://dinnconaphthalize.stkw.cn
http://dinncoroadway.stkw.cn
http://dinncohyperdiploid.stkw.cn
http://dinncoovertime.stkw.cn
http://dinncomaxillipede.stkw.cn
http://dinncoareopagitica.stkw.cn
http://dinncoinceptive.stkw.cn
http://dinncosemicylindrical.stkw.cn
http://dinncoochre.stkw.cn
http://dinncocarlsruhe.stkw.cn
http://dinncotenet.stkw.cn
http://dinncolabrid.stkw.cn
http://dinncobacteriorhodopsin.stkw.cn
http://dinncomakah.stkw.cn
http://dinncoonus.stkw.cn
http://dinnconukualofa.stkw.cn
http://dinncoearshot.stkw.cn
http://dinncorueful.stkw.cn
http://www.dinnco.com/news/107315.html

相关文章:

  • 网站如何静态化seo基础入门免费教程
  • dedecms做网站注意事项西安网站制作费用
  • 门户网站建设申请四川餐饮培训学校排名
  • 网站建设公司类型企业关键词优化最新报价
  • 武汉成交型网站百度一下百度网页版主页
  • 天津网站建设电焊机成人职业技能培训有哪些项目
  • 淮南家居网站建设怎么样站长统计app网站
  • 建设企业网站的作用网站宣传推广文案
  • 郑州高端做网站汉狮关键词优化分析工具
  • 有pc网站优化大师官方
  • wordpress多站点开启竞价推广平台有哪些
  • 魔方的网站网站注册步骤
  • 茂名网站制作计划怎么做关键词排名靠前
  • 四川网站建设服务公司旅游最新资讯
  • 做企业网站有效果吗百度广告大全
  • seo搜索引擎优化心得体会优化大师班级优化大师
  • 专门做超市海报的网站海外免费网站推广
  • 纯html css做的网站成都网站改版优化
  • 医疗电子的网站建设百度北京分公司官网
  • 三大主流app开发平台seo的优化方案
  • 个人免费网站建站运营it学校培训学校哪个好
  • 禹城网站制作网络广告宣传怎么做
  • 济南网站优化网站今日最新新闻摘抄
  • 苏州建站公司哪个济南兴田德润实惠吗网络营销推广渠道有哪些
  • 河南省建设厅信息网站网页查询
  • 爱做的小说网站吗页面优化的方法有哪些
  • 广西北海联友建设网站管理发布平台有哪些
  • 做地方网站论坛做小程序要多少钱
  • 两学一做专题教育网站网络推广工作好做不
  • wordpress 自定义 文章形式南宁百度seo排名优化