ffmpeg视频精准剪切

2023-05-16

1. 导言

ffmepg剪切视频,很方便,但是也有很大缺陷:
(1)剪切时间点不精确
(2)有时剪切的视频开头有黑屏

造成这些问题的原因是ffmpeg无法seek到非关键帧上。
一下本文通过一些参数配置尽可能地减轻以上问题


2. 基本剪切方法

ffmpeg -i test.mp4 -ss 10 -t 15 -codec copy cut.mp4

参数分析:

-i : source
-ss:start time
-t :duration
-c :video,audio codec

时间格式:

  • x秒
  • HOURS:MM:SS.MICROSECONDS

可以设置输出视频的编码格式

-vcodec xxx
-acodec xxx

把-ss, -t参数放在-i参数之后,是对输出文件执行的seek操作
输入文件会逐帧解码,直到-ss设置的时间点为止,这么操作会很慢,虽然时间点是准确的,但是很容易出现黑屏问题。


3. 参数优化

(1)将-ss, -t 参数放在-i参数之前

ffmpeg -ss 10 -t 15 -i test.mp4 -codec copy cut.mp4

对输入文件执行seek操作,会seek到-ss设置的时间点前面的关键帧上。
时间不精确,但是不会出现黑屏

(2)accurate_seek
剪切时间更加精确

ffmpeg -ss 10 -t 15 -accurate_seek -i test.mp4 -codec copy cut.mp4

PS:accurate_seek必须放在-i参数之前

(3)avoid_negative_ts
如果编码格式采用的copy 最好加上 -avoid_negative_ts 1参数

ffmpeg -ss 10 -t 15 -accurate_seek -i test.mp4 -codec copy -avoid_negative_ts 1 cut.mp4

4. 参考文献

[1] http://trac.ffmpeg.org/wiki/Seeking

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ffmpeg视频精准剪切 的相关文章

  • swscaler@0dd9e620:已弃用的像素格式,请确保您正确设置了范围”

    我正在使用 FFMpeg 解码 RTSP 视频流 在显示时间 调用cv imshow 我得到以下异常 swscaler 0d55e5c0 已弃用像素格式 请确保您这样做了 正确设置范围 我正在将像素格式从 AV PIX FMT YUVJ42
  • 使用 Popen 替换 Python 中的 Bash 进程

    我试图通过从 python 子进程库调用 ffmpeg 来创建循环视频文件 这是给我带来问题的部分 import subprocess as sp sp Popen ffmpeg f concat i lt for f in Desktop
  • 有没有办法在转码之前使用 ffmpeg 确定文件的编码?

    我计划使用 ffmpeg 确保上传到我网站的所有视频文件都编码为 mp4 h264 我不想自动处理每个文件 而是希望通过仅处理那些还不是 mp4 h264 的文件来最小化处理开销 有没有一种简单的方法可以使用 ffmpeg 或其他命令行实用
  • 如何从 youtube-dl --write-auto-sub 下载转换混乱的 .vtt 子文件?

    我的目标是在单独的文件中下载带有自动生成字幕的 YouTube 视频 例如 vtt srt etc 我目前正在努力实现这一目标youtube dl但如果需要的话 我愿意接受其他解决方案 当我运行以下命令时 它将视频下载为 mp4 这很好 和
  • pkg-config 无法在 ffmpeg 构建上找到库(linux)

    我正在尝试在 ubuntu 上为 android 构建 ffmpeg I ve cross compiled all the dependencies I need for my configuration I ve set up the
  • 如何将 ffplay 作为无窗口进程运行?

    我正在运行 ffplay 作为后台进程 它向我的主 UI 进程提供图像数据 我已经设定 SDL VIDEODRIVER dummy 抑制 SDL 窗口中显示的 ffplay 视频 问题是 即使不显示视频输出窗口 ffplay 进程仍然显示为
  • 使用 ffmpeg 将文件从一种格式转换为另一种格式

    我是新来的ffmpeg我试图找出如何将音频或视频文件从一种格式转换为另一种格式 我不想使用CLI 我只是想知道我是否可以使用ffmpeg作为库并调用函数将文件从一种格式转换为另一种格式 我浏览了文档并找到了函数avcodec encode
  • ffmpeg 使用 -movflags faststart

    我尝试使用命令 movflags 快速启动 并得到以下错误 Microsoft Windows 版本 6 0 6002 版权所有 c 2006 Microsoft 公司 版权所有 C uploads 1 videos gt ffmpeg i
  • 使用 ffmpeg 转换真实媒体

    我有许多旧的硬壳真实媒体文件需要转换 并希望编写一个脚本来批量处理它们 我可以使用 FFMpegX 进行 Real Media gt AVI 转换 但是当我尝试使用 ffmpeg 复制转换时 它总是会出现如下错误 avi 0x10084fa
  • 防止 ffmpeg 在降低视频分辨率的同时改变颜色强度

    我有一个用例 我需要缩小规模716x1280mp4 视频到358x640 原件的一半 我使用的命令是 ffmpeg i input mp4 vf scale 640 640 force original aspect ratio decre
  • ffmpeg创建RTP流

    我正在尝试使用 ffmpeg 进行编码和流式传输 libavcodec libavformat MSVC x64 with Zeranoe builds 这是我的代码 很大程度上改编自编码示例 删除了错误处理 include stdafx
  • Android 上的 GStreamer

    谁能给我一些关于让 GStreamer 在 Android 上工作的提示 我以前从未使用过它 我想将它与 FFmpeg 一起使用 我已经编译了 FFmpeg 并且在 Android 上运行良好 我只是想使用 GStreamer 来帮助完成一
  • Google Cloud Platform:将上传的 MP4 文件转换为 HLS 文件

    我正在构建一个平台 允许用户将一些视频文件 20 40 秒 从手机上传到服务器 所有这些上传目前都运行良好 文件通过nodejs云功能存储在谷歌存储桶中 现在我想创建一个 gcp 转码器作业 它将上传的 mp4 视频文件转换为 hls 视频
  • 从编码视频文件中提取运动向量

    我正在尝试从编码的 mp4 文件中提取运动矢量数据 在之前的帖子中我发现 一个答案http www princeton edu jiasic cos435 motion vector c http www princeton edu jia
  • 如何使用 ffmpeg 提取时间精确的视频片段?

    这并不是一个特别新的问题领域 但我已经尝试过那里建议的内容 但运气不佳 那么 我的故事 我有一大段 15 秒的直接来自camera mov 视频 我想从中提取特定的块 我可以通过开始时间和停止时间 以秒为单位 来识别该块 我首先尝试执行我称
  • 访问 AVFrame 的每个像素

    我需要访问 FFMPEG 的 AVFrame 对象的每个像素信息 如果是 RGB 则每个像素的每种颜色 R G 和 B 我怎样才能做到这一点 如果您已经前进到正确的框架 类似于 img convert ctx ffmpeg sws getC
  • MP4 到 DASH(bash 脚本)

    我有一个网站 用户可以在其中上传视频文件 我想使用 DASH 流式传输所有内容以获得自适应比特率流式传输 因此 我编写了一个 bash 脚本 由 cron 运行 将所有 mp4 文件转换为 DASH 但它无法正常工作 出了什么问题 例如 使
  • OpenCV IP 相机应用程序崩溃 [h264 @ 0xxxxx] 访问单元中缺少图片

    我在 cpp 中有一个 opencv 应用程序 它使用 opencv 的简单结构捕获视频流并将其保存到视频文件中 它与我的网络摄像头完美配合 但是 当我运行它从 IP 摄像机捕获流时 它可能会在大约十秒后崩溃 我的编译命令是 g O3 IP
  • 如何使用 ffmpeg 将两个视频/音频流混合为一个

    我有两个视频 v1 flv 和 v2 flv 想要创建 v3 flv 其中包含来自 v1 flv 的视频流以及来自 v1 flv 和 v2 flv 的 混合 音频流 使用 ffmpeg 命令可以实现类似的操作吗 谢谢 我认为使用 ffmpe
  • 同时从多个流中捕获、最佳方法以及如何减少 CPU 使用率

    我目前正在编写一个应用程序 该应用程序将捕获大量 RTSP 流 在我的例子中为 12 个 并将其显示在 QT 小部件上 当我超过大约 6 7 个流时 问题就会出现 CPU 使用率激增并且出现明显的卡顿 我认为它不是 QT 绘制函数的原因是因

随机推荐

  • Win11打开本地组策略编辑器的两种方法

    Win11是新推出的操作系统 xff0c 但是用户对很多操作都不熟悉 xff0c 想要通过本地组策略编辑器修改一些配置 xff0c 都找不到本地组策略编辑器 xff0c 那么Win11怎么打开本地组策略编辑器呢 xff1f 一起来看看具体的
  • 介绍一下115sha1链接使用方法

    收到一个115 开头的网盘链接 xff0c 要如何下载呢 xff1f 单纯复制这个链接是没有办法直接下载的 xff0c 复制进去还会显示链接地址错误 xff0c 那么小编这里就给大家分享一下正确的使用方法 xff0c 希望可以帮到你 115
  • 夸克网盘的文件怎么保存到百度网盘?

    我们经常将自己的文件 视频等等都传到网盘上储存 xff0c 大大减少电脑和手机的占用 xff0c 其中百度网盘和夸克网盘是非常受欢迎的两款软件 xff0c 拥有超大的云储存空间 xff0c 用户想存什么就存什么 那夸克网盘的文件能存到百度网
  • Furmark如何进行正确的烤机?

    Furmark是一款非常不错的显卡性能以及稳定度测试软件 xff0c 通过这款软件可以快速测试出显卡的性能以及显卡是否稳定 xff0c 下面小编就来教教大家Furmark如何进行正确的烤机吧 1 打开Furmark xff0c 可以看到如图
  • WinRAR一直自动关闭怎么回事

    很多用户都习惯使用WinRAR来压缩解压文件 xff0c 但是有小伙伴跟小编反映自己的WinRAR老是一直闪退 xff0c 这是怎么回事 xff1f 下面就来看看WinRAR软件闪退的解决办法吧 Win10纯净版 Win10 64位纯净版
  • win11共享文件夹需要用户名和密码?

    在共享文件夹时提示需要用户名和密码 xff0c 这是怎么回事 xff1f 不少win11用户跟小编反映了这个问题 xff0c 我们要如何解决呢 xff1f 下面就来看看具体的win11共享文件夹需要用户名和密码的解决办法吧 win11共享文
  • win11桌面文件在哪个文件夹?

    很多win10系统用户应该都知道 xff0c 桌面文件默认存储在C xff1a Users Username Desktop文件夹中 xff0c 那升级win11之后 xff0c 桌面文件在哪个文件夹呢 xff1f 有没有改动呢 xff1f
  • win7时间总是不对怎么办?

    一般用户的主机中的主板会有一个电池 xff0c 这个电池可以给主板供电 xff0c 但是主板电池没电了的话就会将原本的时间设置清空 xff0c 因此这个时候时间就是不对的 xff0c 下面就是关于win7时间总是不对的解决方法 xff0c
  • Win10无法连接打印机怎么办?不能使用打印机的解决方法

    在我们平常的办公中 xff0c 经常会需要使用到打印机打印文件 想要使用打印机是需要先将电脑与打印机连接的 xff0c 但是有部分Win10用户遇到了无法连接打印机的情况 xff0c 对于这种情况应该如何解决呢 xff1f 下面来看看详细的
  • 【python】6DOF analyse tool

    1 result show 1 1 note 图1为3D位置 xff0c 图2 xff0c 3 xff0c 4分别表示yaw pitch xff0c roll角随着时间的变化的波动 2 code span class token comme
  • Spring入门预备知识(上)

    Spring入门主要使用了下面几个技术 xff1a 工厂模式 单例模式 动态代理模式 面向接口编程 xff0c 下面分几部分详细分析 一 xff09 工厂模式 1 定义 xff1a 定义一个用于创建对象的接口 xff0c 让子类决定实例化哪
  • 电脑丢失dll文件能一键修复吗,哪种修复方法靠谱?

    Dll文件的丢失其实是一件挺常见的事情的 xff0c 最近就有网友问小编 xff0c 关于dll文件丢失的相关问题 xff0c 他问电脑丢失dll文件能一键修复吗 xff1f 这里小编告诉你 xff0c 有方法一键修复 xff0c 但是需要
  • vcruntime140_1.dll无法继续执行代码,怎么解决这种问题?

    经常使用电脑的人 xff0c 可能对于这个弹出框应该不陌生 xff0c vcruntime140 1 dll无法继续执行代码 xff0c 其实会出现这种情况 xff0c 主要是因为缺少一个动态链接库 DLL 文件导致的 这个文件是 Visu
  • 这可能是最简单又有效的自监督学习方法了

    文 王珣 64 知乎 本文已获作者授权 xff0c 禁止二次转载 从Kaiming的MoCo和Hinton组Chen Ting的SimCLR开始 xff0c 自监督学习 xff08 SSL xff09 成了计算机视觉的热潮显学 凡是大佬大组
  • idea 2022.1 创建maven卡死解决

    1 关闭项目 2 新建maven项目 创建成功
  • FFmpeg 命令常见操作

    1 转码 ffmpeg i source mp4 ss 20 t 10 c copy my mp4 ffmpeg ss 10 t 15 accurate seek i test mp4 c a copy c v copy tt mp4 i
  • FFprobe查看&统计视频信息

    1 查看音视频信息 1 1 查看基本信息 ffprobe span class token number 1280 span x720 h264 8mbps 30fps span class token punctuation span m
  • Linux 查看文件夹大小,磁盘剩余空间(du/df)

    1 简介 du查看目录大小 xff0c df查看磁盘使用情况 2 du disk usage xff08 1 xff09 基本功能 递归查看文件夹下所有文件的大小 xff08 2 xff09 常用参数 xff1a h human reada
  • Python matplotlib高级绘图详解

    1 前言 前面我们介绍了使用matplotlib简单的绘图方法 xff08 见 xff1a Python应用matplotlib绘图简介 xff09 但是想要完全控制你的图形 xff0c 以及更高级的用法 xff0c 就需要使用 pyplo
  • ffmpeg视频精准剪切

    1 导言 ffmepg剪切视频 xff0c 很方便 xff0c 但是也有很大缺陷 xff1a xff08 1 xff09 剪切时间点不精确 xff08 2 xff09 有时剪切的视频开头有黑屏 造成这些问题的原因是ffmpeg无法seek到