一,音频处理

1.提取音频

一、从原有视频提取音频

ffmpeg  -i  video原版.mp4  -vn  audio提取版.mp3

2、截取音频片段

ffmpeg -i input.mp3 -ss hh:mm:ss -t hh:mm:ss -acodec copy output.mp3

参数说明:
-ss : 指定从那裡开始
-t : 指定到那裡结束
-acodec copy : 编码格式和来源档桉相同(就是mp3)

3.将m4a转wav

ffmpeg -i input.m4a -acodec pcm_s16le -ac 2 -ar 16000 output.wav

-ar 采样率16K

二.合成视频的命令

修该图片名称为00000.jpg_andrew P的博客-CSDN博客

ffmpeg -threads 2 -y -r 8 -i image%06d.jpg 1234.mp4

利用ffmpeg就可以完成这项任务了,下面是具体指令,再附上每个指令的说明:
-threads:线程,这里可以设2个,加快视频生成速度
-y:图片合成视频会有很多个覆盖操作,此处一律同意覆盖
-rfps,这个是关键,设置多少帧/s,这里我自己设的是8,就是每八张图片合成1s的视频
-i:后接的第一个参数是输入的图片,我的图片都是以image%06d命名的,按自己图片的实际命名排序来设置,最后的是输出视频的格式。image%06d 表示图片名称是以image开头,后面通配6个int类型的数字。

最后1234.MP4是生成的视频的名称

2.将mp4视频和MP3音频合成命令

ffmpeg -i 1.mp3 -i 1.mp4 outputname.mp4

-i :表示imput,后跟视频/音频

outputname.mp4表示合成的视频名称

截取视频命令

1.按时间截取

ffmpeg -i input.mp4 -ss 1:05 -t 10 output.mp4

-ss 1:05指定从输入视频第1:05秒开始截取,-t 10指明最多截取10秒。

但是上面的命令可能会比较慢,更好的命令如下:

ffmpeg -ss 1:05 -i input.mp4 -t 10 -c:v copy -c:a copy output.mp4

-ss 1:05放到-i前面,与原来的区别是,这样会先跳转到第1:05秒在开始解码输入视频,而原来的会从开始解码,只是丢弃掉前1:05秒的结果。
-c:v 和 -c:a分别指定视频和音频的编码格式。
-c:v copy -c:a copy标示视频与音频的编码不发生改变,而是直接复制,这样会大大提升速度。

2.按帧数截取

ffmpeg -i ./input.mp4 -vf "select=between(n\,20\,200)" -y -acodec copy ./output.mp4

三.python调用ffmpeg合成视频

import os os.system("ffmpeg -i 1.mp3 -i 1.mp4 outputname.mp4")

结果就能合成视频

五.分解视频为图片

#ffmpeg将视频导出成多张图片ffmpeg -i output.mp4 -r 30 -f image2 foo-%05d.jpeg//   -r参数表示按照30帧的速度提取。

六.图片合成视频

ffmpeg -threads2 -y -r 10 -i %04d.jpg -i audio.mp3 -absf aac_adtstoasc output.mp4

参数的解释含义:

-threads 2 以两个线程进行运行, 加快处理的速度。

-y 对输出文件进行覆盖

-r 10 fps设置为10帧/秒(不同位置有不同含义,后面再解释)

-i /tmpdir/image%04d.jpg 输入图片文件,图片文件保存为 image0001.jpg image0002.jpg ….

-i audio.mp3 输入的音频文件

-absf aac_adtstoasc 将结果的音频格式转为faac格式时需要这个选项。将音频格式转为faac是因为在iphone上某些音频格式的视频无法播放,例如mp3. 但faac格式的音频的视频在iphone上可以播放。-absf 的意思是设置一个bitstream filter进行某些转换。可以用ffmpeg -bsfs 查看所有支持的bitstream filter。 bitstream filter和 aac_adtstoasc的具体含义我也说不上。但是如果不用这个选项又会导致转换失败。

七.不带音频

ffmpeg -loop 0 -f image2 -i %04d.jpg -vcodec libx264 -r 10 -t 10 test.mp4

-loop 1循环读输入 0读完就不读了
-vcode 编码格式libx264
-b 指定200k码率
-t 输出视频总时长:

查看视频帧数:

ffprobe -v error -count_frames -select_streams v:0 -show_entries stream=nb_read_frames -of default=nokey=1:noprint_wrappers=1  xxx.mp4

python操作ffmpeg来合成视频相关推荐

  1. python操作ffmpeg,做视频转码【上篇】

    本篇博客要落地的场景是使用 python + ffmpeg 实现将 mp4 文件转换为 m3u8 格式视频. 为了更好的结合二者,我们先学习一下 ffmpeg 如何使用. 文章目录 ffmpeg 运用 ...

  2. python使用ffmpeg去掉视频片头和片尾

    python使用ffmpeg去掉视频片头和片尾 需要自己得到视频的片头和片尾时长:并且设置好视频文件的名称. 关于ffmpeg的配置及操作可看ffmpeg配置环境和测试,ffmpeg的基本使用,pyt ...

  3. Python使用ffmpeg合成视频、音频

    Python使用ffmpeg合成视频.音频 应用平台 音视频合成 总结 最近有在使用屏幕录制软件录制桌面,在用的过程中突发奇想,使用python能不能做屏幕录制工具,也锻炼下自己的动手能力. 接下准备 ...

  4. python使得ffmpeg更加强大

    录制项目终于做完,不用总是提醒自己抓紧时间这样来想问题了. 在完成之后带着一些满足感,回头看看哪些地方是需要改进的,哪些地方又是有更好的替代方案,自己又有哪些不足. 下面按照软件的各部分分别作总结记录 ...

  5. Python和FFmpeg将语音记录转换成可共享的视频,非常炫酷。

    在本教程中,我们将学习如何使用Python和FFmpeg这将使我们能够把录音变成很酷的视频,可以很容易地在社交媒体上分享. 在本教程的末尾,我们将把声音录制转换成类似于以下内容的视频: 教程要求 要遵 ...

  6. 基于Python使用ffmpeg批量缩放图片

    基于Python使用ffmpeg批量缩放图片 一.前言 ​ 笔者因为项目原因或者个人撰文需要,经常要写大量技术文档,文档中通常需要配图,但配图就有一个比较讨厌的问题:截图大小不一,宽度通常要手动调整, ...

  7. Python使用ffmpeg下载m3u8高清视频

    一.安装ffmpeg环境 1.下载ffmpeg ffmpeg下载链接 2.解压加入环境变量 选择你电脑的版本下载解压把bin目录加入环境变量中 3.Python安装ffmpeg pip install ...

  8. python ffmpeg模块,python执行ffmpeg

    python执行ffmpeg命令 能拿到ffmpeg正常输出 ffmpeg抛出异常时可以拿到异常信息 返回ffmpeg处理进度 以下代码依赖的pexpect,progressbar需要安装下 impo ...

  9. python操作word文档(python-docx)

    python操作word文档(python-docx) 1. 效果图 1.1 python-docx文档标题段落(等级.加粗.斜体.居中)效果图 1.2 python-docx字体(加粗.斜体.居中. ...

最新文章

  1. python用字典编写购物程序_Python编写购物小程序
  2. vue v-for指令
  3. 推荐一个可以把网页背景色调成护眼色的Chrome扩展应用
  4. 用python画爱心再加一行文字_如何理解python一行代码实现一个爱心字符画?
  5. 漫话:如何给女朋友解释什么是适配器模式?
  6. kali linux中文乱码解决,kali-google-chrome中文乱码问题解决方法
  7. 南理工计算机学院研究生课程的评价和反思(研一上)
  8. matlab2c使用c++实现matlab函数系列教程-exprnd函数
  9. luoguP3723 HNOI2017 礼物
  10. JAVA 实现《英文猜词游戏》游戏
  11. VMware中ip地址消失问题
  12. linux 查看当前打开的文件数,linux停查看文件打开数
  13. 濡沫江湖一直显示获取服务器地址,濡沫江湖霜儿剧情任务怎么完成?霜儿专属剧情任务接取以及完成攻略...
  14. 动态规划之最长回文子串
  15. 3208点阵时钟c语言程序,点阵万年历(带时间、年月日星期调整及闹钟功能)C程序...
  16. 如何修改鼠标右键新建对象的顺序
  17. Java后台文件批量压缩下载
  18. java实现word模板文件填充
  19. 十分钟了解物联网主流通信协议
  20. java dbutils工具类_DbUtils工具类使用

热门文章

  1. mooc-python语言基础与应用3-数据类型(一)
  2. 用Python解决爱因斯坦的数学问题
  3. 根据经纬度获取地址 :位置名称 区 市 省 国家 邮编
  4. 压阻式压力传感器的分类与原理
  5. Python 实现Dijkstra(迪杰斯特拉)最短路径算法
  6. 概率论阶段测评计算机,概率论与数理统计(计算机)
  7. HTTP服务器远程控制,求关注:远程控制你的打印机,附详细步骤
  8. php前端计算合计,js统计表格指定列的合计
  9. 配置管理工程师就职要求
  10. SMT生产车间规划事项