FFmpeg源码:avio_skip函数分析

=================================================================

AVIOContext结构体和其相关的函数分析:

FFmpeg源码:avio_r8、avio_rl16、avio_rl24、avio_rl32、avio_rl64函数分析

FFmpeg源码:read_packet_wrapper、fill_buffer函数分析

FFmpeg源码:avio_read函数分析

FFmpeg源码:avio_seek函数分析

FFmpeg源码:avio_skip函数分析

FFmpeg源码:avio_tell函数分析

FFmpeg源码:ffurl_seek2、ffurl_seek、avio_size函数分析

=================================================================

一、avio_skip函数的声明

avio_skip函数声明在FFmpeg源码(本文演示用的FFmpeg源码版本为7.0.1)的头文件libavformat/avio.h中:

cpp 复制代码
/**
 * Skip given number of bytes forward
 * @return new position or AVERROR.
 */
int64_t avio_skip(AVIOContext *s, int64_t offset);

该函数作用是:让AVIOContext文件位置指针跳过offset个字节。

形参s:既是输入型参数也是输出型参数。指向一个AVIOContext(字节流上下文结构体)变量。关于AVIOContext结构体可以参考:《FFmpeg源码:avio_r8、avio_rl16、avio_rl24、avio_rl32、avio_rl64函数分析》。

形参offset:输入型参数,表示需要跳过的字节数。

返回值:失败返回一个负数,成功返回跳过的字节数。

二、avio_skip函数的定义

avio_skip函数定义在libavformat/aviobuf.c中:

cpp 复制代码
int64_t avio_skip(AVIOContext *s, int64_t offset)
{
    return avio_seek(s, offset, SEEK_CUR);
}

可以看到avio_skip函数内部就是调用了avio_seek函数。关于avio_seek函数用法可以参考:《FFmpeg源码:avio_seek函数分析》

相关推荐
企业数字化笔记9 小时前
视频字幕如何烧录到成片?硬字幕、软字幕、样式控制与播放验收
java·ffmpeg
AIGC小尼1 天前
MiniMax-H3 8G 显存 AI 漫剧进阶实战|ComfyUI 命令行调参、角色锁定与 FFmpeg 批量脚本全解析
人工智能·ffmpeg·comfyui·ai漫剧
物极必反10242 天前
QT使用FFMpeg编译安卓程序.md
qt·ffmpeg·安卓
胡家伟++2 天前
从一段经文到 5 分半水墨动画短片:全 AI 流水线完整实录(即梦 + TTS 克隆 + ffmpeg + 思维链重构)
人工智能·ffmpeg·aigc
allnlei2 天前
Opus In-Band FEC 详解:原理、实现与开源方案
ffmpeg·音视频·gstreamer
VidDown2 天前
从一堆脚本到能维护的系统:视频处理管道的工程化
服务器·ffmpeg·音视频·视频编解码
FlightYe3 天前
视界原理之2D视频(二):视频文件里有什么
android·linux·网络·c++·ffmpeg·音视频·aac
可乐鸡翅yeah_3 天前
hls.js 切换多个视频源,新手开发常见踩坑
开发语言·前端·javascript·ios·ffmpeg·音视频·safari
程序员老陆3 天前
FFmpeg 日志级别深度解析:从 AV_LOG_ERROR 到 AV_LOG_TRACE 的完整指南
ffmpeg·音视频
用户2181697049304 天前
FFmpeg (一)使用opencv实现马赛克
ffmpeg