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

杭州网站设计优异柚v米科技鞍山58

杭州网站设计优异柚v米科技,鞍山58,天津多媒体设计公司,深圳做微信商城网站参考链接 FFMPEG结构体分析#xff1a;AVStream_雷霄骅的博客-CSDN博客_avstream AVStream AVStream是是存储每一个视频/音频流信息的结构体结构体的定义位于avformat.h重要参数介绍 int index#xff1a;标识该视频/音频流AVCodecContext *codec#xff1a;指向该视频/音…参考链接 FFMPEG结构体分析AVStream_雷霄骅的博客-CSDN博客_avstream AVStream AVStream是是存储每一个视频/音频流信息的结构体结构体的定义位于avformat.h重要参数介绍 int index标识该视频/音频流AVCodecContext *codec指向该视频/音频流的AVCodecContext它们是一一对应的关系AVRational time_base时基。通过该值可以把PTSDTS转化为真正的时间。FFMPEG其他结构体中也有这个字段但是根据我的经验只有AVStream中的time_base是可用的。PTS*time_base真正的时间int64_t duration该视频/音频流长度AVDictionary *metadata元数据信息AVRational avg_frame_rate帧率注对视频来说这个挺重要的AVPacket attached_pic附带的图片。比如说一些MP3AAC音频文件附带的专辑封面。 代码 /*** Stream structure. //流结构* New fields can be added to the end with minor version bumps. //可以将新字段添加到末尾并带有较小的版本颠簸* Removal, reordering and changes to existing fields require a major //移除、重新排序和更改现有字段需要专业版本颠簸* version bump.* sizeof(AVStream) must not be used outside libav*. //sizeof(AVStream) 不得在 libav* 之外使用*/ typedef struct AVStream { #if FF_API_AVSTREAM_CLASS/*** A class for ref avoptions. Set on stream creation.*/const AVClass *av_class; #endifint index; /** stream index in AVFormatContext *//*** Format-specific stream ID.* decoding: set by libavformat* encoding: set by the user, replaced by libavformat if left unset*/int id;void *priv_data;/*** This is the fundamental unit of time (in seconds) in terms* of which frame timestamps are represented.** decoding: set by libavformat* encoding: May be set by the caller before avformat_write_header() to* provide a hint to the muxer about the desired timebase. In* avformat_write_header(), the muxer will overwrite this field* with the timebase that will actually be used for the timestamps* written into the file (which may or may not be related to the* user-provided one, depending on the format).*/AVRational time_base;/*** Decoding: pts of the first frame of the stream in presentation order, in stream time base.* Only set this if you are absolutely 100% sure that the value you set* it to really is the pts of the first frame.* This may be undefined (AV_NOPTS_VALUE).* note The ASF header does NOT contain a correct start_time the ASF* demuxer must NOT set this.*/int64_t start_time;/*** Decoding: duration of the stream, in stream time base.* If a source file does not specify a duration, but does specify* a bitrate, this value will be estimated from bitrate and file size.** Encoding: May be set by the caller before avformat_write_header() to* provide a hint to the muxer about the estimated duration.*/int64_t duration;int64_t nb_frames; /// number of frames in this stream if known or 0/*** Stream disposition - a combination of AV_DISPOSITION_* flags.* - demuxing: set by libavformat when creating the stream or in* avformat_find_stream_info().* - muxing: may be set by the caller before avformat_write_header().*/int disposition;enum AVDiscard discard; /// Selects which packets can be discarded at will and do not need to be demuxed./*** sample aspect ratio (0 if unknown)* - encoding: Set by user.* - decoding: Set by libavformat.*/AVRational sample_aspect_ratio;AVDictionary *metadata;/*** Average framerate** - demuxing: May be set by libavformat when creating the stream or in* avformat_find_stream_info().* - muxing: May be set by the caller before avformat_write_header().*/AVRational avg_frame_rate;/*** For streams with AV_DISPOSITION_ATTACHED_PIC disposition, this packet* will contain the attached picture.** decoding: set by libavformat, must not be modified by the caller.* encoding: unused*/AVPacket attached_pic;/*** An array of side data that applies to the whole stream (i.e. the* container does not allow it to change between packets).** There may be no overlap between the side data in this array and side data* in the packets. I.e. a given side data is either exported by the muxer* (demuxing) / set by the caller (muxing) in this array, then it never* appears in the packets, or the side data is exported / sent through* the packets (always in the first packet where the value becomes known or* changes), then it does not appear in this array.** - demuxing: Set by libavformat when the stream is created.* - muxing: May be set by the caller before avformat_write_header().** Freed by libavformat in avformat_free_context().** see av_format_inject_global_side_data()*/AVPacketSideData *side_data;/*** The number of elements in the AVStream.side_data array.*/int nb_side_data;/*** Flags indicating events happening on the stream, a combination of* AVSTREAM_EVENT_FLAG_*.** - demuxing: may be set by the demuxer in avformat_open_input(),* avformat_find_stream_info() and av_read_frame(). Flags must be cleared* by the user once the event has been handled.* - muxing: may be set by the user after avformat_write_header(). to* indicate a user-triggered event. The muxer will clear the flags for* events it has handled in av_[interleaved]_write_frame().*/int event_flags; /*** - demuxing: the demuxer read new metadata from the file and updated* AVStream.metadata accordingly* - muxing: the user updated AVStream.metadata and wishes the muxer to write* it into the file*/ #define AVSTREAM_EVENT_FLAG_METADATA_UPDATED 0x0001 /*** - demuxing: new packets for this stream were read from the file. This* event is informational only and does not guarantee that new packets* for this stream will necessarily be returned from av_read_frame().*/ #define AVSTREAM_EVENT_FLAG_NEW_PACKETS (1 1)/*** Real base framerate of the stream.* This is the lowest framerate with which all timestamps can be* represented accurately (it is the least common multiple of all* framerates in the stream). Note, this value is just a guess!* For example, if the time base is 1/90000 and all frames have either* approximately 3600 or 1800 timer ticks, then r_frame_rate will be 50/1.*/AVRational r_frame_rate;/*** Codec parameters associated with this stream. Allocated and freed by* libavformat in avformat_new_stream() and avformat_free_context()* respectively.** - demuxing: filled by libavformat on stream creation or in* avformat_find_stream_info()* - muxing: filled by the caller before avformat_write_header()*/AVCodecParameters *codecpar;/*** Number of bits in timestamps. Used for wrapping control.** - demuxing: set by libavformat* - muxing: set by libavformat**/int pts_wrap_bits; } AVStream;
http://www.pierceye.com/news/545159/

相关文章:

  • 湘潭网站建设 就找磐石网络网站建设与网络编辑综合实训课程指导手册pdf
  • 生产企业做网站有用吗做公众号编辑用什么网站
  • 宜春做网站的公司wordpress博客下载插件
  • python创建网站网站开发技术与开发环境
  • 云南放心seo整站优化培训网页
  • 本地写wordpress北京百度seo点击器
  • 网站打不开怎么做wordpress 显示 链接深度
  • 新人怎么自己做网站更换wordpress语言包
  • 住房和城乡建设部网站安全分会邯郸做外卖网站的公司
  • 网站的文件结构企业服务公司排名
  • 微舍 微网站 怎么做wordpress 插件开发教程
  • 企业网站报价模板下载国外设计网址
  • 做网站怎么排版手机网站怎样建设
  • 大连优化网站课程国内外贸网站建设
  • 苏州建设局官方网站响应式网站制作工具
  • 德州建设小学网站网页设计与制作心得体会1000
  • 建站之星用做什么网站婚纱摄影网站开发的目的
  • 手机网站建设 cms湖南手机响应式网站建设企业
  • 德阳建设局官方网站能去百度上班意味着什么
  • 网站推广临沂企业seo策划方案优化案例
  • 河北建设厅注册中心网站网站策划书模板大全
  • 嘉兴建设教育网站培训中心网站wordpress有哪些弹窗插件
  • 石家庄网站seo外包无锡 做网站
  • 江西中慧城乡建设开发公司网站修复WordPress图片上传错误
  • 冠县网站设计做网站优化找谁
  • 网站的建设公司哪个好推广线上渠道
  • 网站建设方向论文提纲安徽鑫华建设有限公司网站
  • 哪个网站上门做护肤优秀建筑案例分析
  • 建立网站ftp刷排名seo软件
  • 网站pv是什么app开发入门基础教程