FFmpeg对音频、视频播放速度的调整的原理不一样。下面简单的说一下各自的原理及实现方式:
一、调整视频速率
调整视频速率的原理为:修改视频的pts,dts
实现:

ffmpeg -i input.mkv -an -filter:v "setpts=0.5*PTS" output.mkv

注意:视频调整的速度倍率范围为:[0.25, 4]
如果只调整视频的话最好把音频禁掉。
对视频进行加速时,如果不想丢帧,可以用-r 参数指定输出视频FPS,方法如下:

ffmpeg -i input.mkv -an -r 60 -filter:v "setpts=2.0*PTS" output.mkv

二、调整音频速率
调整视频速率的原理为:简单的方法是调整音频采样率,但是这种方法会改变音色, 一般采用通过对原音进行重采样,差值等方法。

ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv

注意:倍率调整范围为[0.5, 2.0]
如果需要调整4倍可采用以下方法:

ffmpeg -i input.mkv -filter:a "atempo=2.0,atempo=2.0" -vn output.mkv

如果需要同时调整,可以采用如下的方式来实现:

ffmpeg -i input.mkv -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mkv

三、参考文献

http://trac.ffmpeg.org/wiki/Ho

FFmpeg命令行工具学习(五):FFmpeg 调整音视频播放速度相关推荐

  1. FFmpeg命令行工具学习(一):查看媒体文件头信息工具ffprobe

    一.简述 ffprobe是ffmpeg命令行工具中相对简单的,此命令是用来查看媒体文件格式的工具. 二.命令格式 在命令行中输入如下格式的命令: ffprobe [文件名] 三.使用ffprobe查看 ...

  2. FFmpeg命令行工具学习(三):媒体文件转换工具ffmpeg

    一.简述 ffmpeg是一个非常强大的工具,它可以转换任何格式的媒体文件,并且还可以用自己的AudioFilter以及VideoFilter进行处理和编辑.有了它,我们就可以对媒体文件做很多我们想做的 ...

  3. Android 下使用 FFmpeg 命令行工具与问题排查

    目录 FFmpeg 命令行工具 将相关文件加入到项目中 修改 ffmpeg 源码 问题排查 上一篇文章 中,我们已经成功编译了 FFmpeg 的主要库并集成到了我们的 Android 应用中.我们暂时 ...

  4. FFmpeg命令行工具系列二---转码流程及过滤器

    一.概述 在FFmpeg命令行工具系列一中,对FFmpeg的命令行工具FFmpeg.exe进行了简单的介绍,并举出了几个简单的例子.在这一章中,将进行一次详细的介绍,主要是对转码过程和过滤器进行介绍. ...

  5. [总结]FFMPEG命令行工具之ffmpeg详解

    目录 0 前言 1 语法 Synopsis 2 描述 Description 3 详细描述 Detailed description 3.1 滤镜 Filtering 3.1.1 简单滤镜图 Simp ...

  6. [总结]FFMPEG命令行工具之ffplay详解

    目录 0 前言 1 语法 Synopsis 2 描述 Description 3 选项 Options 3.1 流指定器 Stream specifiers 3.2 通用选项 Generic opti ...

  7. [总结]FFMPEG命令行工具之ffprobe详解

    目录 0 前言 1 语法 Synopsis 2  描述 Description 3 选项 Options 3.1 流指定器 Stream specifiers 3.2 通用选项 Generic opt ...

  8. FFmpeg命令行工具-实用命令

    目录 help命令使用 流选择选项 视频封装解封装 3.1 视频格式转换 3.2 分离/合并视频音频流 3.3 截取视频片段 3.4 视频转换为m3u8格式 3.5 把视频文件推送到rtmp服务器 3 ...

  9. Fmpeg命令行工具学习(三):媒体文件转换工具ffmpeg

    一.简述 ffmpeg是一个非常强大的工具,它可以转换任何格式的媒体文件,并且还可以用自己的AudioFilter以及VideoFilter进行处理和编辑.有了它,我们就可以对媒体文件做很多我们想做的 ...

最新文章

  1. Python 计算Mesh顶点法向量
  2. [家里蹲大学数学杂志]第427期与反对称矩阵有关的一个行列式
  3. numpy.copy详解
  4. 光流 | 基于光流的实时运动物体检测(MATLAB代码)
  5. 五、朴素贝叶斯分类算法
  6. python map、filter、reduce
  7. P4597-序列sequence【堆】
  8. Spring中的@Cacheable开销
  9. arduino esp8266_你还用Arduino?上PlatformIO开发Esp、AVR、STM32,十分钟亲测ESP8266
  10. ubuntu 下源码安装wireshark
  11. 练习-自定义分页功能的实现
  12. [数据结构]A*寻路算法
  13. SO_LINGER和优雅关闭连接
  14. python爬取换页_爬虫爬不进下一页了,怎么办
  15. 目标检测之非极大值抑制(NMS)
  16. matlab 平滑曲线连接_兔学 | MATLAB由离散数据点绘制曲线图像
  17. bspline怎么使用 python_B-Spline曲线拟合
  18. java stdin怎么用_如何用Java编写ssh的stdin?
  19. 有关热敏打印机接口程序
  20. Html-小米官网头部

热门文章

  1. AMD黑苹果解决关机变重启、睡眠重启问题。
  2. 一文明白CDN加速是个啥
  3. M3U8文件格式说明及解决大量拼接ts文件时长不对问题
  4. TMF容器使用iTouch运行就报错的问题
  5. oracle虚拟机放文件格式,Oracle VM VirtualBox虚拟如何导入虚拟电脑系统
  6. 网站建设(3)——CDN及CDN加速原理
  7. mysql分组查询选择数量最多的前十个_mysql 查询每一个分组前N条记录
  8. Bit(位)与Byte(字节)的区别
  9. jsp中获取上个页面传过来的参数的值的方式
  10. 【Vue系列1】—— Vue入门和基础指令