ffmpeg相关API(2)

av_find_input_format()

cpp 复制代码
/**
 * 根据输入格式的短名称查找AVInputFormat。
*/
ff_const59 AVInputFormat *av_find_input_format(const char *short_name);

avformat_open_input()

cpp 复制代码
/**
 * 打开一个输入流并读取头。编解码器未打开。 * 必须使用avformat_close_input()关闭流。
 *
 * @param ps Pointer to user-supplied AVFormatContext (allocated by avformat_alloc_context).
 *           May be a pointer to NULL, in which case an AVFormatContext is allocated by this
 *           function and written into ps.
 *           Note that a user-supplied AVFormatContext will be freed on failure.
 * @param url 要打开的流的URL。
 * @param fmt If non-NULL, this parameter forces a specific input format.
 *            Otherwise the format is autodetected.
 * @param options  A dictionary filled with AVFormatContext and demuxer-private options.
 *                 On return this parameter will be destroyed and replaced with a dict containing
 *                 options that were not found. May be NULL.
 *
 * @return 0 on success, a negative AVERROR on failure.
 *
 * @note If you want to use custom IO, preallocate the format context and set its pb field.
 */
int avformat_open_input(AVFormatContext **ps, const char *url, ff_const59 AVInputFormat *fmt, AVDictionary **options);

avformat_close_input()

cpp 复制代码
/**
 关闭打开的输入AVFormatContext。释放它和里面的所有东西 并将 *s设置为NULL。
 */
void avformat_close_input(AVFormatContext **s);

av_read_frame()

cpp 复制代码
/**
 * 返回流的下一帧.
 * This function returns what is stored in the file, and does not validate
 * that what is there are valid frames for the decoder. It will split what is
 * stored in the file into frames and return one for each call. It will not
 * omit invalid data between valid frames so as to give the decoder the maximum
 * information possible for decoding.
 *
 * If pkt->buf is NULL, then the packet is valid until the next
 * av_read_frame() or until avformat_close_input(). Otherwise the packet
 * is valid indefinitely. In both cases the packet must be freed with
 * av_packet_unref when it is no longer needed. For video, the packet contains
 * exactly one frame. For audio, it contains an integer number of frames if each
 * frame has a known fixed size (e.g. PCM or ADPCM data). If the audio frames
 * have a variable size (e.g. MPEG audio), then it contains one frame.
 *
 * pkt->pts, pkt->dts and pkt->duration are always set to correct
 * values in AVStream.time_base units (and guessed if the format cannot
 * provide them). pkt->pts can be AV_NOPTS_VALUE if the video format
 * has B-frames, so it is better to rely on pkt->dts if you do not
 * decompress the payload.
 *
 * @return 0 if OK, < 0 on error or end of file
 */
int av_read_frame(AVFormatContext *s, AVPacket *pkt);

av_init_packet()

cpp 复制代码
/**
 * 使用默认值初始化数据包的可选字段。.
 *
 * 注意,这并不涉及data和size成员,它们必须分别初始化。
 *
 * @param pkt packet
 */
void av_init_packet(AVPacket *pkt);

av_packet_unref()

cpp 复制代码
/**
 * 把包擦干净。
 *
 * 取消引用数据包所引用的缓冲区,并重置
 * 其余分组字段设置为它们的默认值。
 *
 * @param pkt The packet to be unreferenced.
 */
void av_packet_unref(AVPacket *pkt);

av_packet_alloc()

cpp 复制代码
/* 分配AVPacket并将其字段设置为默认值。  结果
 * 必须使用av_packet_free()释放结构。
 *
 * @return一个AVPacket,在失败时填充默认值或NULL。
 *
 * @注意,这仅分配AVPacket本身,而不是数据缓冲区。那些
 * 必须通过诸如av_new_packet的其它手段来分配。
 */
AVPacket *av_packet_alloc(void);

av_packet_free()

cpp 复制代码
/**
   释放数据包,如果数据包被引用计数,它将
 * 未引用第一。
 *
 * @param要释放的pkt包。指针将被设置为NULL。
 * @note传递NULL是一个空操作。
 */
void av_packet_free(AVPacket **pkt);
相关推荐
EasyCVR5 小时前
EHOME视频平台EasyCVR视频融合平台使用OBS进行RTMP推流,WebRTC播放出现抖动、卡顿如何解决?
人工智能·算法·ffmpeg·音视频·webrtc·监控视频接入
简鹿办公6 小时前
使用 FFmpeg 进行音视频转换的相关命令行参数解释
ffmpeg·简鹿视频格式转换器·ffmpeg视频转换
EasyCVR10 小时前
萤石设备视频接入平台EasyCVR多品牌摄像机视频平台海康ehome平台(ISUP)接入EasyCVR不在线如何排查?
运维·服务器·网络·人工智能·ffmpeg·音视频
runing_an_min10 小时前
ffmpeg 视频滤镜:屏蔽边框杂色- fillborders
ffmpeg·音视频·fillborders
岁月小龙20 小时前
如何让ffmpeg运行时从当前目录加载库,而不是从/lib64
ffmpeg·origin·ffprobe·rpath
行者记2 天前
ffmpeg命令——从wireshark包中的rtp包中分离h264
测试工具·ffmpeg·wireshark
EasyCVR2 天前
国标GB28181视频平台EasyCVR私有化视频平台工地防盗视频监控系统方案
运维·科技·ffmpeg·音视频·1024程序员节·监控视频接入
hypoqqq2 天前
使用ffmpeg播放rtsp视频流
ffmpeg
cuijiecheng20182 天前
音视频入门基础:FLV专题(24)——FFmpeg源码中,获取FLV文件视频信息的实现
ffmpeg·音视频
QMCY_jason2 天前
黑豹X2 armbian 编译rkmpp ffmpeg 实现CPU视频转码
ffmpeg