DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  4737 随笔 :: 2 文章 :: 542 评论 :: 1615万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

随笔分类 -  ffmpeg、ffplay

上一页 1 2 3 4 5 6 7 8 ··· 13 下一页

摘要:AVStream和AVCodecParameters 说明: AVStream 结构表示当前媒体流的上下文,着重于全部媒体流共有的属性(而且是在程序运行时才能肯定其值)和关联其余结构的字段。 其中codecpar成员里存储了当前音视频媒体使用的编解码器信息; priv_data 成员关联解析各个具体 阅读全文
posted @ 2022-01-20 11:46 DoubleLi 阅读(334) 评论(0) 推荐(0) 编辑

摘要:AVFormatContext: 用来存储视音频封装格式(flv,mp4,rmvb,avi)中包含的全部信息 不少函数都要用到它做为参数。ide AVFormatContext结构体以下所示(显示部分红员,后续深刻添加):函数 typedef struct AVFormatContext { con 阅读全文
posted @ 2022-01-20 11:43 DoubleLi 阅读(148) 评论(0) 推荐(0) 编辑

摘要:1.使用注意api AVPacket须要用户经过av_packet_allc()建立好空间后.才能供给fimpeg进行获取解码前帧数据,因为解码前帧数据大小是不固定的(好比I帧数据量最大)因此ffmpeg会在AVPacket的成员里动态进行建立空间. 而且咱们每一次使用完AVPacket后(再次调用 阅读全文
posted @ 2022-01-20 11:41 DoubleLi 阅读(442) 评论(0) 推荐(0) 编辑

摘要:在ffmpeg中,解码前的数据结构体为AVPacket(参考:3.AVPacket使用),而解码后的数据为AVFrame(视频的YUV, RGB, 音频的PCM,数据量更大)html 1.AVFrame介绍数组 AVFrame必须使用av_frame_alloc()来分配。注意,这只是分配AVFra 阅读全文
posted @ 2022-01-20 11:40 DoubleLi 阅读(151) 评论(0) 推荐(0) 编辑

摘要:最近发现了ffmpeg有个网页版的文档,分享给大家:ffmpeg文档,查询起来看是挺方便的。现在才发现,是不是有点太晚了? 之前都是直接看源码上的注释,反过来想想,那些注释写的也都听清晰易懂的哈(自我安慰)。 AVFrame AVFrame结构体描述了解码后的(原始)音频或视频数据。 AVFrame 阅读全文
posted @ 2022-01-20 11:27 DoubleLi 阅读(471) 评论(0) 推荐(0) 编辑

摘要:ffmpeg、ffplay 自己学习记录,方便以后查看。 ffmpeg关键结构体类型: 1)解协议 AVIOContext,URLProtocol,URLContext主要存储视音频使用的协议的类型以及状态。URLProtocol存储输入视音频使用的封装格式。 每种协议都对应一个URLProtoco 阅读全文
posted @ 2022-01-20 11:21 DoubleLi 阅读(127) 评论(0) 推荐(0) 编辑

摘要:一、介绍 在ffmpeg中,每帧都会存在一个pts用来表示该帧图像在视频流中的位置。而在多路流(比如视频、音频)时,往往需要进行多媒体的同步,使得画面和声音同步,这时便需要使用两者的pts来做同步。那么pts是如何计算得到的呢,如何使用它做同步呢? 1.1 时间基转换 ffmpeg中时间存在一个基, 阅读全文
posted @ 2022-01-12 10:56 DoubleLi 阅读(424) 评论(0) 推荐(0) 编辑

摘要:最近编码的时候发现生成的视频不能用Windows Media Player等系统自带的播放器播放,也没有缩略图。找了很久,最后才发现在avcodec_open2之前添加一行代码就行了: codec_ctx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; 调用该行代码后, 阅读全文
posted @ 2021-12-31 17:50 DoubleLi 阅读(800) 评论(0) 推荐(0) 编辑

摘要:参考http://blog.csdn.net/leixiaohua1020/article/details/11800877 H.264码流第一个 NALU是 SPS(序列参数集Sequence Parameter Set) 对应H264标准文档 7.3.2.1 序列参数集的语法进行解析 H.264 阅读全文
posted @ 2021-12-31 17:48 DoubleLi 阅读(2357) 评论(0) 推荐(0) 编辑

摘要:在使用FFMPEG的类库进行编程的过程中,可以直接输出解复用之后的的视频数据码流。只需要在每次调用av_read_frame()之后将得到的视频的AVPacket存为本地文件即可。 经试验,在分离MPEG2码流的时候,直接存储AVPacket即可。 在分离H.264码流的时候,直接存储AVPacke 阅读全文
posted @ 2021-12-31 17:48 DoubleLi 阅读(185) 评论(0) 推荐(0) 编辑

摘要:本文是“FFmpeg从入门到精通”系列的第三篇,由金山云供稿,并授权LiveVideoStack发布。此前两篇为FFmpeg代码导读——基础篇和FFmpeg代码导读——HEVC在RTMP中的扩展。FFmpeg广泛应用与音视频领域,被誉为音视频开发的“瑞士军刀”。“FFmpeg从入门到精通”系列将由浅 阅读全文
posted @ 2021-12-31 11:29 DoubleLi 阅读(2422) 评论(0) 推荐(0) 编辑

摘要:4. HEVC在RTMP中的扩展 为推进HEVC视频编码格式在直播方案中的落地,经过CDN联盟讨论,并和主流云服务厂商达成一致,规范了HEVC在RTMP/FLV中的扩展,具体修改内容见下。 4.1 FLV规范扩展 HEVC为视频编码格式,因此对FLV规范的扩展,只集中在Video Tag,其它部分, 阅读全文
posted @ 2021-12-31 11:21 DoubleLi 阅读(556) 评论(0) 推荐(0) 编辑

摘要:从事音视频技术开发对FFmpeg都不会感到陌生,通过它可以完成音视频采集、编解码、转码、后处理以及流媒体服务等诸多的功能,可以说涵盖了音视频开发中绝大多数的领域。金山云多媒体SDK团队在移动直播、短视频等项目中遇到了许多问题,本文为《FFmpeg从入门到出家》系列的第一篇上半部分,由LiveVide 阅读全文
posted @ 2021-12-31 11:19 DoubleLi 阅读(1267) 评论(0) 推荐(0) 编辑

摘要:本文基于 FFmpeg 4.1 版本。 1. 数据结构定义 1.1 相关基础概念 在阅读 AVFrame 数据结构之前,需要先了解与之相关的几个基础概念(此处只考虑视频相关): pixel_format:像素格式,图像像素在内存中的排列格式。一种像素格式包含有色彩空间、采样方式、存储模式、位深等信息 阅读全文
posted @ 2021-12-27 10:40 DoubleLi 阅读(145) 评论(0) 推荐(0) 编辑

摘要:struct AVFrame{uint8_t *data[4];分别指向yuv三个位面及一个未知的位面或者是rgb模式下只有data[0]指向raw dataint linesize[4];四个位面分别的内存块大小}AVFrame *avcodec_alloc_frame() //Allocates 阅读全文
posted @ 2021-12-20 14:26 DoubleLi 阅读(947) 评论(0) 推荐(0) 编辑

摘要:文档来源:http://www.ffmpeg.org/ffmpeg-filters.html#Description 1 Description This document describes filters, sources, and sinks provided by the libavfilt 阅读全文
posted @ 2021-12-14 16:35 DoubleLi 阅读(233) 评论(0) 推荐(0) 编辑

摘要:方法一方法是设置超时参数 AVFormatContext *pAVFormatContext = avformat_alloc_context();//申请一个AVFormatContext结构的内存,并进行简单初始化 AVDictionary* options = NULL; av_dict_se 阅读全文
posted @ 2021-12-13 19:40 DoubleLi 阅读(1609) 评论(0) 推荐(1) 编辑

摘要:FFmpeg长时间无响应的解决方法需要解决的问题1、FFmpeg去连接的时候相机不在线导致avformat_open_input等函数一直死等,造成程序卡死 2、av_read_frame的过程中相机断开连接导致读取码流一直死等 解决方法打开流媒体之前注册FFmpeg回调函数 AVFormatCon 阅读全文
posted @ 2021-12-13 19:38 DoubleLi 阅读(2119) 评论(0) 推荐(0) 编辑

摘要:在上一篇FFMPEG实时解码网络视频流中使用av_parser_parse2来组合数据包,判断是否已经得到一帧数据,但如果多媒体流中混合音频和视频,这种方法似乎走不通。 下面使用另一种方法实现,先初始化: int CTcpH264Dlg::InitDecode(){ av_register_all( 阅读全文
posted @ 2021-12-13 18:33 DoubleLi 阅读(1707) 评论(1) 推荐(1) 编辑

摘要:从内存中读取数据 ffmpeg一般情况下支持打开一个本地文件,例如“C:\test.avi” 或者是一个流媒体协议的URL,例如“rtmp://222.31.64.208/vod/test.flv” 其打开文件的函数是avformat_open_input(),直接将文件路径或者流媒体URL的字符串 阅读全文
posted @ 2021-12-13 18:30 DoubleLi 阅读(1089) 评论(0) 推荐(1) 编辑

上一页 1 2 3 4 5 6 7 8 ··· 13 下一页
点击右上角即可分享
微信分享提示