将视频讲解切割,每张幻灯的片断一个文件,按幻灯页码命名文件01.mp4,02.mp4,03.mp4……,以此类推;分辨率不超过320*180像素,单声道96kbps音质,控制每个文件尺寸不超过10M,另请发来对应的ppt文档,用来制作成视频与ppt同步翻页的课程。
于是,承接前面一篇,三分屏课件制作教程,我考虑也能自动按照时间轴拆分所有视频文件。于是得到了下面这段分割代码。

ffmpeg -ss [start] -t [duration] -accurate_seek -i [in].mp4 -codec copy [out].mp4
[start]:为需要截取内容的开始时间
[duration]:为需要截取的时长
[in]:为输入视频文件名
[out]:为输出视频文件名

这种截取的好处是特别快,因为它不会对视频重新编码,直接截取相关时间,导出视频,但是这种方式会导致:如果视频结尾不是关键帧,那么视频最后就会出现一段空白。

这个时候,你可以加入[-avoid_negative_ts 1]变成这样:
ffmpeg -ss [start] -t [duration] -accurate_seek -i [in].mp4 -codec copy -avoid_negative_ts 1 [out].mp4
这样截取视频之后,空白视频是没有了,但是时间不会精确截取,它会找到下一个关键帧,补全这个视频,所以,导致连续分割的视频之间存在细微的交集。

最后详细看了下FFmpeg的文档,如果你需要精确截取视频,避免关键帧的丢失并精确截取时间,这个时候最好是重新编码视频。就变成这样了:
ffmpeg -ss [start] -t [duration] -i [in].mp4 -c:v libx264 -c:a aac -strict experimental -b:a 98k [out].mp4
最后,你可以写一段脚本,把整个视频拆分:

import os
import json

with open(“timeline.json”) as f:
times = json.loads(f.read())

times = times[“timeline”]

for i in range(len(times)):
start = times[i][“time”]
try:
length = times[i+1][“time”] - times[i][“time”]
except:
length = 1000
os.system(‘ffmpeg -ss %s -i small.mp4 -t %s -c:v libx264 -c:a aac -strict experimental -b:a 96k %s.mp4’

FFmpeg精准剪切相关推荐

  1. Android 音视频深入 二十一 FFmpeg视频剪切

    视频剪切我意外的发现上一次的视频压缩的代码能够运行FFmpeg视频剪切的命令,但是不能做视频合并的命令,因为不能读取记录了几个视频的路径的txt文件. 这里我就说直说视频剪切的过程,不说代码,只说lo ...

  2. ffmpeg视频剪切与拼接

    文章目录 ffmpeg工具进行视频剪切与合并 剪切视频 拼接视频 ts格式拼接 将ts格式文件转为mp4格式 mp4格式拼接 ffmpeg工具常用命令 ffmpeg的安装及基本使用可以看上一篇博客 F ...

  3. linux视频拼接工具,linux中使用ffmpeg 无损剪切/拼接视频程序

    剪切/拼接视频文件是一种常见需求.在线视频网站现在往往将一个视频文件分割成 n 段,以减少流量消耗.使用 DownloadHelper/DownThemAll 这类工具下载下来的往往就是分割后的文件. ...

  4. ffmpeg 拼接mp4_通过 ffmpeg 无损剪切/拼接视频

    剪切/拼接视频文件是一种常见需求.在线视频网站现在往往将一个视频文件分割成 n 段,以减少流量消耗.使用 DownloadHelper/DownThemAll 这类工具下载下来的往往就是分割后的文件. ...

  5. FFmpeg视频剪切

    视频剪切 ffmpeg -i input.ogv -ss 00:00:30.0 -c copy -t 00:00:10.0 output.mp4 ffmpeg -i input.wmv -ss 30 ...

  6. java ffmpeg 合并视频_android ffmpeg视频剪切与合并

    android-ffmpeg-java-demo 说明 以前一直希望可以做一个播放器,所以当时就接触了ffmpeg这个库,当时打算使用JNI的方式进行底层的调用,无奈整个逻辑比较麻烦,因此进度一再搁浅 ...

  7. python ffmpeg剪辑视频_用ffmpeg快速剪切和合并视频

    如果直接找视频剪切和合并视频的软件,通常出来的都是大的视频编辑软件或者是有图形界面的剪切软件,大型一点的功能太多安装麻烦,小型一点的功能可能不齐全. 只是简单的剪切或者一下合并一下,还是ffmpeg这 ...

  8. 通过 ffmpeg 无损剪切/拼接视频

    剪切/拼接视频文件是一种常见需求.在线视频网站现在往往将一个视频文件分割成 n 段,以减少流量消耗.使用 DownloadHelper/DownThemAll 这类工具下载下来的往往就是分割后的文件. ...

  9. 通过 ffmpeg 无损剪切与拼接视频方法

    比如说,你想把视频的从1:30秒开始,30秒的视频裁剪出来,保存成一个视频.这是这个文章要讨论的问题. 一 裁剪视频 ffmpeg提供简单的命令参数: ffmpeg -ss START -t DURA ...

最新文章

  1. 待解决--LaTex为什么其他符号可以用,插入大于等于,或者小于等于就报错?
  2. php sql alert,SQL ALTER
  3. 想学Python,怎么开始才好呢?
  4. python装饰器作用-理解python中的装饰器
  5. 如何买到好的固态硬盘?这样做才能不被骗
  6. 计算机术语桢什么意思,请问电脑丢帧严重的“丢帧”是啥意思哦?
  7. python对excel的操作
  8. 如何提高生产力(二)、软件的开发与采购
  9. javascript中的Base64.UTF8编码与解码详解
  10. canvas读取图片,输入文字,调整文字属性,拖拽文字位置,并保存图片
  11. jQuery插件开发之windowScroll
  12. scala中的if esle使用
  13. 机器字长 存储字长 指令字长 机器字长
  14. BlueHost怎样创建MySQL数据库
  15. silverlight4 开发必备
  16. 图片、照片相似度批量对比
  17. 静态代理和动态代理原理及实现
  18. php文件怎么改为mp3,如何将wav转换成MP3格式的音频文件
  19. 智能家居APP的竞品分析报告(米家)
  20. ArrayList源码深度解析以及快速失败和安全失败机制详解【一万字】

热门文章

  1. Qt编写GIF录屏工具(开源)
  2. 【数学几何】四等分的角度
  3. JAVA技术栈学习路线整理【java后端开发应聘向】
  4. Linux串口输出启动信息,linux开发板启动过程串口打印信息
  5. python读取nc数据_python读取nc文件
  6. Vue实现渐变色进度条
  7. 2021最新版KALI系统安装
  8. 笼罩在孙子和《孙子兵法》身上的“N”个谜
  9. Tomcat修改内存
  10. OPDS书库目录总结(添加OPDS书库目录)