下载此文档

FFMpeg的output_example.c例子分析.doc


文档分类:通信/电子 | 页数:约3页 举报非法文档有奖
1/3
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/3 下载此文档
文档列表 文档介绍
FFMpeg 的 例子分析 2010-07-26 16:47:22| 分类: ffmpeg 视频转换|标签: |字号大中小订阅该例子讲了如何输出一个 libavformat 库所支持格式的媒体文件。(1) av_register_all() ,初始化 libavcodec 库,并注册所有的编解码器和格式。(2) guess_format() ,根据文件名来获取输出文件格式,默认为 mpeg 。(3) av_alloc_format_context() 分配输出媒体内容。 ov->oformat = fmt; snprintf( oc->filename, sizeof(oc->filename), “%s ”, filename ); (4) add_video_stream() 使用默认格式的编解码器来增加一个视频流,并初始化编解码器。( ) av_new_stream() 增加一个新的流到一个媒体文件。( )初始化编解码器: c= st->codec; c->codec_id = codec_id; c->codec_type = CODEC_TYPE_VIDEO; c->bit_rate = 400000; c->width = 352; c->height = 288; c-> = STREAM_FRAME_RATE; //每秒 25 副图像 c-> = 1; c->gop_size = 12; c->pix_fmt = STREAM_PIX_FMT; //默认格式为 PIX_FMT_YUV420P …………(5) av_set_parameters() 设置输出参数,即使没有参数,该函数也必须被调用。(6) dump_format() 输出格式信息,用于调试。(7) open_video() 打开视频编解码器并分配必要的编码缓存。( ) avcodec_find_encoder() 寻找 c->codec_id 指定的视频编码器。( ) avcodec_open() 打开编码器。( )分配视频输出缓存: video_outbuf_size = 200000; video_outbuf = av_malloc( video_outbuf_size ); ( ) picture = alloc_picture() 分配原始图像。( ) avcodec_alloc_frame() 分配一个 AVFrame 并设置默认值。( ) size = avpicture_get_size() 计算对于给定的图片格式以及宽和高,所需占用多少内存。( ) picture_buf = av_malloc( size )分配所需内存。( ) avpicture_fill() 填充 AVPicture 的域。( )可选。如果输出格式不是 YUV420P ,那么临时的 YUV420P 格式的图像也是需要的, 由此再转换为我们所需的格式,因此需要为临时的 YUV420P 图像分配缓存: tmp_picture = alloc_picture() 说明: tmp_picture , p

FFMpeg的output_example.c例子分析 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数3
  • 收藏数0 收藏
  • 顶次数0
  • 上传人yixingmaoj
  • 文件大小145 KB
  • 时间2017-02-20