Flash基础入门之web flash推流录制测试研究
小标 2018-08-24 来源 : 阅读 1761 评论 0

摘要:本文主要向大家介绍了Flash基础入门之web flash推流录制测试研究,通过具体的内容向大家展现,希望对大家学习Flash基础入门有所帮助。

本文主要向大家介绍了Flash基础入门之web flash推流录制测试研究,通过具体的内容向大家展现,希望对大家学习Flash基础入门有所帮助。

用flash as3写了一段推流测试demo,参考srs_publisher和simplest_as3_rtmp_streamer。推流到srs2服务器,录制为flv文件。测试一轮结果如下:
Web Flash推上来的流,经过srs录制为flv。srs设置jitter_time full; dvr_plan  segment;    dvr_duration 180;  实际录制180s。flowplayer     可以播放服务器flv文件  有声音没视频  没有时间标签 不支持seek。(ffmpeg,yamdi,flvmeta) 修复meta后  正常播放 有时间标签  支持seek。jwplayer       可以播放服务器flv文件  有声音没视频  没有时间标签 不支持seek。(ffmpeg,yamdi,flvmeta) 修复meta后  正常播放 有时间标签  支持seek。sewiseplayer   可以播放服务器flv文件  有声音没视频  没有时间标签 不支持seek。(ffmpeg,yamdi,flvmeta) 修复meta后  正常播放 有时间标签  seek功能可后期添加。strobe         可以播放服务器flv文件  有声音有视频  没有时间标签 不支持seek。(ffmpeg,yamdi,flvmeta) 修复meta后  正常播放 有时间标签  支持seek。srs设置jitter_time zero;貌似也可以,笔记本测试过。
srs设置jitter_time off; dvr_plan  session;flowplayer     可以播放服务器flv文件  有声音没视频  没有时间标签 不支持seek。(ffmpeg,yamdi,flvmeta) 修复meta后  正常播放 有时间标签  支持seek。jwplayer       可以播放服务器flv文件  有声音没视频  没有时间标签 不支持seek。(ffmpeg,yamdi,flvmeta) 修复meta后  正常播放 有时间标签  支持seek。sewiseplayer   可以播放服务器flv文件  有声音没视频  没有时间标签 不支持seek。(ffmpeg,yamdi,flvmeta) 修复meta后  正常播放 有时间标签  支持seek。strobe         可以播放服务器flv文件  有声音有视频  没有时间标签 不支持seek。(ffmpeg,yamdi,flvmeta) 修复meta后  正常播放 有时间标签  支持seek。
srs设置jitter_time zero; dvr_plan  session;flowplayer     可以播放服务器flv文件  有声音没视频  没有时间标签 不支持seek。(ffmpeg,yamdi,flvmeta) 修复meta后  正常播放 有时间标签  支持seek。jwplayer       可以播放服务器flv文件  有声音有视频  长宽比不对  没有时间标签 不支持seek。(ffmpeg,yamdi,flvmeta) 修复meta后  正常播放 有时间标签  支持seek。sewiseplayer   可以播放服务器flv文件  有声音有视频  有时间标签 不支持seek。(ffmpeg,yamdi,flvmeta) 修复meta后  正常播放 有时间标签  支持seek。strobe         可以播放服务器flv文件  有声音有视频  没有时间标签 不支持seek。(ffmpeg,yamdi,flvmeta) 修复meta后  正常播放 有时间标签  支持seek。
一段时间以来都没有解决这个问题,以为就是这样的。也和网友讨论过这个问题,被当做srs feature处理了。这几天研究录制的文件,发现录制的flv和其他平台录制的flv格式不太一样。使用FlvParse分析一下录制flv文件的结构,发现:经过ffmpeg转化的flv,有字段onMetaData,而web flash推流录制发flv没有。
  
经过查找接口,发现as3也有onMetaData接口,我并未调用。添加如下代码解决:

 1 // add metaData for stream
 2     var metaData:Object = new Object();
 3     metaData.title = "SptCallCenter";
 4     metaData.author = "Jeffer";
 5 metaData.width = av_hd_width;
 6     metaData.height = av_hd_height;
 7     metaData.videodatarate = av_hd_Vbitrate/1000;
 8     metaData.framerate = av_hd_fps;
 9 //send metadata
10     metaData.videocodecid = 7;
11     metaData.audiosamplerate = 16000;
12     metaData.audiocodecid = 4;
13     media_stream.send("@setDataFrame", "onMetaData", metaData); 

     

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标常用软件Flash频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程