-
基于 FFmpeg 的跨平台视频播放器简明教程(八):音画同步
系列文章目录基于 FFmpeg 的跨平台视频播放器简明教程(一):FFMPEG + Conan 环境集成基于 FFmpeg 的跨平台视频播放器简明教程(二):基础知识和解封装(demux)基于 FFmpeg 的跨平台视频播放器简明教程(三):视频解码基于 FFmpeg 的跨平台视频播放器简明教程(四):像素格式与格式转换基于 FFmpeg 的跨平台视频播放器... 全文》
FFmpeg 2周前 | touch -
FFmpeg学习:音视频同步(2)同步策略
相关基本FFmpeg学习:音视频同步(1)相关基础定义同步方式目前主要有三种方式实现同步:将视频和音频同步外部的时钟上,选择一个外部时钟为基准,视频和音频的播放速度都以该时钟为标准。将音频同步到视频上,就是以视频的播放速度为基准来同步音频。将视频同步到音频上,就是以音频的播放速度为基准来同步视频。比较主流的是第三种,将视频同步到音频上。至于为什么不使用前两种... 全文》
FFmpeg 4周前 | touch -
FFmpeg学习:音视频同步(1)相关基础定义
pts、dts、durationtime_base:时间基,所谓时间基表示的就是每个刻度是多少秒 ,例如如果把1秒分为25等份,你可以理解就是一把尺,那么每一格表示的就是1/25秒。此时的time_base={1,25} ,如果你是把1秒分成90000份,每一个刻度就是1/90000秒,此时的time_base={1,90000}。在ffmpeg中。av_q... 全文》
FFmpeg 4周前 | touch -
FFmpeg音视频同步
音视频同步简介从前面的学习可以知道,在一个视频文件中,音频和视频都是单独以一条流的形式存在,互不干扰。那么在播放时根据视频的帧率(Frame Rate)和音频的采样率(Sample Rate)通过简单的计算得到其在某一Frame(Sample)的播放时间分别播放,**理论**上应该是同步的。但是由于机器运行速度,解码效率等等因素影响,很有可能出现音... 全文》
FFmpeg 4周前 | touch -
ffmpeg读取文件速度的控制
两种方法:(1)根据采样率算出每帧播放时间t,然后sleep(t);笨办法(2)根据读取的AVpacket的pts控制速度,核心思想:将ffmpeg的pts转换成系统时间,然后比较当前时间和读取的pts时间,差值即为控制的因素1、获取启动时间,start_time = av_gettime();2、转换avpacket的ptsAVRational ... 全文》
FFmpeg 1个月前 | touch -
ffmpeg中的时间单位以及时间转换函数(av_q2d av_rescale_q)
相关概念tbr: 是我们通常所说的帧率。time base of rate tbn: 视频流的时间基。 time base of stream tbc: 视频解码的时间基。time base of codec tbn = the time base in AVStream that has come from the... 全文》
FFmpeg 7个月前 | touch -
FFmpeg编码的码率控制,解决伪影问题
一、问题描述在使用FFmpeg的VBR(可变率控制)方式编码时,如果不做设置,当画面变化较大时(例如播放MV等),会出现码率极高的情况。本文探讨的问题是,在使用VBR(可变率控制)的方式编码时,如何设置参数值才能让码率处在期望的范围内。二、解决办法通过以下参数的设置可以实现大致范围的码率控制。//期望的码率范围,单位:kbps int bitra... 全文》
FFmpeg 10个月前 | touch -
FFmpeg源码分析:视频滤镜介绍(下)
FFmpeg在libavfilter模块提供音视频滤镜。所有的视频滤镜都注册在libavfilter/allfilters.c。我们也可以使用ffmpeg -filters命令行来查看当前支持的所有滤镜,前面-v代表视频。本篇文章主要介绍视频滤镜,包括:绘制文字、边缘检测、淡入淡出、高斯模糊、左右镜像、图层叠加、视频旋转。关于视频滤镜的详细介绍,可查看官方文... 全文》
FFmpeg 10个月前 | touch -
FFmpeg源码分析:音频滤镜介绍(上)
FFmpeg在libavfilter模块提供音视频滤镜。所有的音频滤镜都注册在libavfilter/allfilters.c。我们也可以使用ffmpeg -filters命令行来查看当前支持的所有滤镜,前面-a代表音频。本篇文章主要介绍音频滤镜,包括:压缩器、淡入淡出、移除噪声、延时、回声、噪声门。关于音频滤镜的详细介绍,可查看官方文档:音频滤镜。1、ac... 全文》
FFmpeg 10个月前 | touch -
音视频中的PTS和DTS及同步
视频的播放过程可以简单理解为一帧一帧的画面按照时间顺序呈现出来的过程,就像在一个本子的每一页画上画,然后快速翻动的感觉。但是在实际应用中,并不是每一帧都是完整的画面,因为如果每一帧画面都是完整的图片,那么一个视频的体积就会很大,这样对于网络传输或者视频数据存储来说成本太高,所以通常会对视频流中的一部分画面进行压缩(编码)处理。由于压缩处理的方式不同,视频中的... 全文》
FFmpeg 1年前 | touch