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

网站服务费算什么费用设计公司怎么找

网站服务费算什么费用,设计公司怎么找,pptppt模板免费下载,建公司网站要多少钱一、引言 通过FFmpeg命令可以获取到SDP文件描述的RTP流的视频压缩编码格式、色彩格式(像素格式)、分辨率、帧率信息: ffmpeg -protocol_whitelist "file,rtp,udp" -i XXX.sdp 本文以H.264为例讲述FFmpeg到底是从哪个地方获取到这…

一、引言

通过FFmpeg命令可以获取到SDP文件描述的RTP流的视频压缩编码格式、色彩格式(像素格式)、分辨率、帧率信息:

ffmpeg -protocol_whitelist "file,rtp,udp" -i XXX.sdp

本文以H.264为例讲述FFmpeg到底是从哪个地方获取到这些视频信息的。 

二、视频压缩编码格式

FFmpeg获取SDP文件描述的RTP流的视频压缩编码格式,是从SDP的“a=rtpmap”这一行获取的。比如SDP文件中某一行的内容为:

a=rtpmap:96 H264/90000

FFmpeg识别到上述“a=rtpmap”这个<type>后,会把后面的字符串“H.264”提取出来,检测是否存在相应的音视频压缩编码格式。如果存在,FFmpeg就会判断该SDP描述的RTP流的视频压缩编码格式为H.264。

具体可以参考:《音视频入门基础:RTP专题(5)——FFmpeg源码中,解析SDP的实现》。

a=rtpmap时,SDP的该行格式为:

a=rtpmap:<payload type> <encoding name>/<clock rate> [/<encoding parameters>],sdp_parse_line函数中会执行下面代码块把SDP中描述的音视频压缩编码格式赋值给st->codecpar->codec_id(即AVCodecParameters的codec_id):

else if (av_strstart(p, "rtpmap:", &p) && s->nb_streams > 0) {/* NOTE: rtpmap is only supported AFTER the 'm=' tag */get_word(buf1, sizeof(buf1), &p);payload_type = atoi(buf1);rtsp_st = rt->rtsp_streams[rt->nb_rtsp_streams - 1];if (rtsp_st->stream_index >= 0) {st = s->streams[rtsp_st->stream_index];sdp_parse_rtpmap(s, st, rtsp_st, payload_type, p);}s1->seen_rtpmap = 1;if (s1->seen_fmtp) {parse_fmtp(s, rt, payload_type, s1->delayed_fmtp);}} 

然后在sdp_parse_line函数外部,通过avcodec_parameters_to_context函数将AVCodecParameters的codec_id赋值给AVCodecContext的codec_id:

int avcodec_parameters_to_context(AVCodecContext *codec,const AVCodecParameters *par)
{
//...codec->codec_id   = par->codec_id;
//...
}

然后在dump_stream_format函数中,通过avcodec_string函数中的语句:codec_name = avcodec_get_name(enc->codec_id) 拿到AVCodecContext的codec_id对应的视频压缩编码格式名称。最后再在dump_stream_format函数中将视频压缩编码格式打印出来:

void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode)
{
//...codec_name = avcodec_get_name(enc->codec_id);
//...
}

所以FFmpeg获取SDP描述的RTP流的视频压缩编码格式,是从SDP的“a=rtpmap”这一行获取的:

三、视频压缩编码格式的profile

FFmpeg获取SDP文件描述的RTP流的视频压缩编码格式的profile,是从SDP的“a=fmtp”这一行获取的。比如SDP文件中某一行的内容为:

a=fmtp:96 packetization-mode=1; sprop-parameter-sets=Z2QAH6zZgFAFuwFqAgICgAAAAwCAAAAZB4wYzQ==,aOl7LIs=; profile-level-id=64001F

sprop-parameter-sets属性的'='号之后携带以BASE64编码和逗号分隔的SPS和PPS。FFmpeg首先会把SDP中的SPS信息提取出来,进行BASE64解码(具体可以参考:《音视频入门基础:RTP专题(6)——FFmpeg源码中,解析SDP中的packetization-mode、profile-level-id和sprop-parameter-sets实现》),然后通过SPS的profile_idc属性获取视频压缩编码格式的profile(具体可以参考:《音视频入门基础:H.264专题(17)——FFmpeg源码中,获取H.264视频的profile的实现》):

四、视频的色彩格式

如果SDP文件描述的RTP流的视频压缩编码格式为H.264,FFmpeg获取其视频的色彩格式,是通过SPS中的属性chroma_format_idc获取到的,具体可以参考:《音视频入门基础:H.264专题(13)——FFmpeg源码中通过SPS属性获取视频色彩格式的实现》:

五、视频分辨率

如果SDP文件描述的RTP流的视频压缩编码格式为H.264,FFmpeg获取其视频分辨率,是通过SPS中的属性获取的,具体可以参考:《音视频入门基础:H.264专题(12)——FFmpeg源码中通过SPS属性计算视频分辨率的实现》:

 六、视频码率

由于SDP中不包含视频码率信息,所以无法通过FFmpeg直接获取到其视频码率。与之对应,由于FLV文件的Script Tag中包含视频码率信息,所以FFmpeg可以直接打印FLV文件的视频码率,具体可以参考:《音视频入门基础:FLV专题(24)——FFmpeg源码中,获取FLV文件视频信息的实现》。

七、视频帧率

如果SDP文件描述的RTP流的视频压缩编码格式为H.264,对其视频进行编解码时,FFmpeg源码内部使用的是通过SPS中的属性计算得到的视频帧率(具体可以参考:《音视频入门基础:H.264专题(15)——FFmpeg源码中通过SPS属性获取视频帧率的实现》):

八、可能遇到的问题

比如,获取RTP流信息时报错:“Could not find codec parameters for stream 0 (Video: h264, none): unspecified size Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options”。可以参考《FFmpeg获取RTP流信息时报错:Could not find codec parameters for stream 0 (Video: h264, none)》解决。


文章转载自:

http://D9q0yiw6.fhqnm.cn
http://5pUj3ndz.fhqnm.cn
http://6asdZSrV.fhqnm.cn
http://HYRc5xua.fhqnm.cn
http://AImmrAfn.fhqnm.cn
http://iYVfpIRI.fhqnm.cn
http://nHdTfRoH.fhqnm.cn
http://cqxY8h21.fhqnm.cn
http://brk0fFgR.fhqnm.cn
http://zaF4iJxG.fhqnm.cn
http://k2fl5mBX.fhqnm.cn
http://oxkm1JES.fhqnm.cn
http://IpbvyNNN.fhqnm.cn
http://X5XiocFb.fhqnm.cn
http://kHmPYdra.fhqnm.cn
http://TNgrGX2q.fhqnm.cn
http://7EbXZ594.fhqnm.cn
http://ayHwlDiM.fhqnm.cn
http://K6LUkZcY.fhqnm.cn
http://8KKsoap4.fhqnm.cn
http://DLGSusLB.fhqnm.cn
http://fBZV5LIu.fhqnm.cn
http://OWFNeI3P.fhqnm.cn
http://ae7OLCL2.fhqnm.cn
http://j6tNTkKW.fhqnm.cn
http://6q5xB4aM.fhqnm.cn
http://Z9V47Hxz.fhqnm.cn
http://dcgN36Vp.fhqnm.cn
http://yMV018lz.fhqnm.cn
http://KVno4HQd.fhqnm.cn
http://www.dtcms.com/wzjs/650796.html

相关文章:

  • 电商网站开发模板浙江高速建设公司网站
  • 做汉字词卡的网站整站优化的公司
  • 旅游政务网站建设方案建筑网官网道辉工程建设有限公司
  • ssh架构jsp网站开发交互做的不好的网站
  • 中医药文化建设网站wordpress运行php代码
  • 中国风网站模板html怎么样做外链推广网站
  • 网站建设模版文档建设银行e房通网站
  • 怎么给网站做优化定制开发电商网站建设哪家好
  • 北京哪家公司做网站微信平台
  • 如何选择邯郸网站建设重庆个人网站建设
  • 德德模板网站建设步骤手机 网站开发软件
  • 山东建设银行怎么招聘网站小制作小发明大全
  • 网站动态链接做Seo怎么办中国建设积分商城网站
  • 音乐网站如何建设进入公众号主页
  • 宁夏自治区住房与城乡建设厅网站海外搜索推广外贸网站
  • 学校网站建设培训心得体会海阳seo排名
  • 分类 网站模板wordpress导出网页
  • win2008 iis建网站做网站用的软件是什么了
  • 软件行业 网站建设 模块网站建设与管理需要什么软件有哪些
  • 摄像头监控视频怎么做直播网站agile WordPress
  • 企业网站优化平台网站开发工具以及优缺点
  • app官方网站wordpress栏目
  • 义乌个人兼职做建设网站官方网站 建设情况汇报
  • 中国建设工程网官方网站爱 做 网站
  • 公司网站建站软件移动 网站 素材
  • 网站被收录后又被提出了wordpress 管网
  • 找券网站怎么做有什么做海报网站
  • 移动网站开发面试莱芜吧百度吧
  • 计算机网站开发项目注册邮箱企业邮箱
  • 电商平台设计电商网站建设如何做做网站