python ffmpeg 视频转图片 视频转音频 播放音频 多张图片+音频转视频 多个视频合成一个视频 改变视频播放速度
文章目录
- 视频转图片
- 视频转音频
- 播放音频
- 图片+音频 转 视频
- 多个视频合成一个视频
- 改变视频播放速度
视频转图片
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
"""
@Introduce :
@File : video2image.py
@Time : 2020-11-13 11:06
@Author : xia hua dong
@Tel : 173 179 76823
@Email : 17317976823@163.com
@pip : pip install
"""import osdef video2image(ffmpegPath, videoPath, frameNumber, imgPath, imgFormat):"""视频转图片(请使用绝对路径):param ffmpegPath: ffmpeg.exe路径:param videoPath: 视频路径,可以是mp4或avi等:param frameNumber: 每秒提取的图片数,即帧数:param imgPath: 输出图片存放的文件夹:param imgFormat: 输出图片格式,可以是jpg、png或jepg等:return: 多张图片"""if not os.path.exists(imgPath): # 如果图片文件夹不存在os.mkdir(imgPath) # 创建图片文件夹路径command1 = "{} -i {} -r {} {}\%d .{} -y".format(ffmpegPath, videoPath, frameNumber, imgPath, imgFormat)os.system(command1)if __name__ == '__main__':ffmpegPath = r"C:\Users\xiahuadong\Desktop\xiahuadongCode\number_humen_web\number_humen_front_back_end\ffmpey安装包\ffmpeg-20200628-4cfcfb3-win64-static\ffmpeg-20200628-4cfcfb3-win64-static\bin\ffmpeg"imgPath = r"C:\Users\xiahuadong\Desktop\xiahuadongCode\number_humen_web\number_humen_web\img2" # 图片文件夹路径videoPath = r"C:\Users\xiahuadong\Desktop\xiahuadongCode\number_humen_web\number_humen_web\video\1.mp4"frameNumber = 30imgFormat = "png"video2image(ffmpegPath, videoPath, frameNumber, imgPath, imgFormat)
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
"""
@Introduce : 视频转图片
@File : video2audio.py
@Time : 2020-11-13 14:13
@Author : xia hua dong
@Tel : 173 179 76823
@Email : 17317976823@163.com
@pip : pip install ffmpy
"""from ffmpy import FFmpegff = FFmpeg(# ffmpeg.exe的路径executable=r"C:\Users\xiahuadong\Desktop\xiahuadongCode\number_humen_web\number_humen_front_back_end\ffmpey安装包\ffmpeg-20200628-4cfcfb3-win64-static\ffmpeg-20200628-4cfcfb3-win64-static\bin\ffmpeg",inputs={'video/1.mp4': None}, # 视频路径outputs={'img2/%d.png': None} # 音频路径 -ar 采样率 -y 覆盖同名文件
)
# print(ff.cmd)
ff.run()
-i 输入
./video/face/w1.mp4 : 输入视频路径
-r 25 :1秒25张
./w1/image-%3d.jpeg:输出图片路径
视频转音频
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
"""
@Introduce : 视频转音频
@File : video2audio.py
@Time : 2020-11-13 11:06
@Author : xia hua dong
@Tel : 173 179 76823
@Email : 17317976823@163.com
@pip : pip install
"""import osdef video2audio(ffmpegPath, videoPath, sampleRate, audioPath):"""视频转音频(请使用绝对路径):param ffmpegPath: ffmpeg.exe路径:param videoPath: 视频路径,可以是mp4或avi等:param audioFormat: 音频格式:param sampleRate: 采样率:param audioPath: 音频保存路径,可以是mp3或wav:return:"""command1 = "{} -i {} -ar {} {} -y".format(ffmpegPath, videoPath, sampleRate, audioPath)os.system(command1)if __name__ == '__main__':ffmpegPath = r"C:\Users\xiahuadong\Desktop\xiahuadongCode\number_humen_web\number_humen_front_back_end\ffmpey安装包\ffmpeg-20200628-4cfcfb3-win64-static\ffmpeg-20200628-4cfcfb3-win64-static\bin\ffmpeg"videoPath = r"C:\Users\xiahuadong\Desktop\xiahuadongCode\number_humen_web\number_humen_web\video\1.mp4"sampleRate = 16000audioPath = r"C:\Users\xiahuadong\Desktop\xiahuadongCode\number_humen_web\number_humen_web\1.wav"video2audio(ffmpegPath, videoPath, sampleRate, audioPath)
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
"""
@Introduce : 视频转音频
@File : video2audio.py
@Time : 2020-11-13 14:13
@Author : xia hua dong
@Tel : 173 179 76823
@Email : 17317976823@163.com
@pip : pip install ffmpy
"""from ffmpy import FFmpegff = FFmpeg(# ffmpeg.exe的路径executable=r"C:\Users\xiahuadong\Desktop\xiahuadongCode\number_humen_web\number_humen_front_back_end\ffmpey安装包\ffmpeg-20200628-4cfcfb3-win64-static\ffmpeg-20200628-4cfcfb3-win64-static\bin\ffmpeg",inputs={'video/1.mp4': None}, # 视频路径outputs={'1.wav': '-ar 16000 -y'} # 音频路径 -ar 采样率 -y 覆盖同名文件
)
# print(ff.cmd)
ff.run()
-ar 16000:采样率为16K
播放音频
import os
def playAudio(path):""" playAudio:播放音频path:音频路径"""os.system("ffplay %s" % path)playAudio("./w1/w1.mp3")
图片+音频 转 视频
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
"""
@Introduce : 图片+音频 转 视频 (请使用绝对路径)
@File : imageAudio2video.py
@Time : 2020-11-13 15:33
@Author : xia hua dong
@Tel : 173 179 76823
@Email : 17317976823@163.com
@pip : pip install
"""import osdef imageAudio2video(ffmpegPath, frameNumber, imgPath, audioPath, videoPath):"""图片+音频 转 视频 (请使用绝对路径):param ffmpegPath: ffmpeg.exe路径:param frameNumber: 每秒提取的图片数,即帧数:param imgPath: 图片路径:param audioPath: 音频路径:param videoPath: 视频路径:return: 视频""""ffmpeg - r 30 - i img2 / % d.png - i 1.wav test.mp4 - y"command1 = "{} -r {} -i {} -i {} {} -y".format(ffmpegPath, frameNumber, imgPath, audioPath, videoPath)os.system(command1)if __name__ == '__main__':ffmpegPath = r"C:\Users\xiahuadong\Desktop\xiahuadongCode\number_humen_web\number_humen_front_back_end\ffmpey安装包\ffmpeg-20200628-4cfcfb3-win64-static\ffmpeg-20200628-4cfcfb3-win64-static\bin\ffmpeg"frameNumber = 30imgPath = r"C:\Users\xiahuadong\Desktop\xiahuadongCode\number_humen_web\number_humen_web\img2\%d.png" # 图片文件夹路径audioPath = r"C:\Users\xiahuadong\Desktop\xiahuadongCode\number_humen_web\number_humen_web\1.wav"videoPath = r"C:\Users\xiahuadong\Desktop\xiahuadongCode\number_humen_web\number_humen_web\video\output.mp4"imageAudio2video(ffmpegPath, frameNumber, imgPath, audioPath, videoPath)
多个视频合成一个视频
FFmpeg concat 分离器
注意 : FFmpeg 1.1 以上版本。先创建一个文本文件filelist.txt:
file ‘input.mp4’
file ‘1.mp4’
file ‘2.mp4’
然后
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
"""
@Introduce : 多视频合并成同一视频 (请使用绝对路径)
@File : mergeVideo.py
@Time : 2020-11-13 15:33
@Author : xia hua dong
@Tel : 173 179 76823
@Email : 17317976823@163.com
@pip : pip install
"""import osdef mergeVideo(ffmpegPath, txtPath, videoPath):"""多视频合并成同一视频 (请使用绝对路径):param ffmpegPath: ffmpeg.exe路径V:param txtPath: 多视频输入路径写入txt:param videoPath: 视频路径:return: 视频"""command1 = "{} -f concat -i {} -c copy {} -y".format(ffmpegPath, txtPath, videoPath)os.system(command1)if __name__ == '__main__':import time# 时间测试start = time.time()ffmpegPath = r"C:\Users\xiahuadong\Desktop\xiahuadongCode\number_humen_web\number_humen_front_back_end\ffmpey安装包\ffmpeg-20200628-4cfcfb3-win64-static\ffmpeg-20200628-4cfcfb3-win64-static\bin\ffmpeg"txtPath = r"C:\Users\xiahuadong\Desktop\xiahuadongCode\number_humen_web\number_humen_web\video\filelist.txt"videoPath = r"C:\Users\xiahuadong\Desktop\xiahuadongCode\number_humen_web\number_humen_web\video\merge.mp4"mergeVideo(ffmpegPath, txtPath, videoPath)end = time.time()print('运行时间: {} 秒'.format(end - start))
改变视频播放速度
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
"""
@Introduce : 改变视频播放速度(注意:如果视频中有声音,声音速度不会改变)
@File : speedVideo.py
@Time : 2020-11-13 15:33
@Author : xia hua dong
@Tel : 173 179 76823
@Email : 17317976823@163.com
@pip : pip install
"""import osdef speedVideo(ffmpegPath, inputVideoPath, speed, outputVideoPath):"""改变视频播放速度(注意:如果视频中有声音,声音速度不会改变):param ffmpegPath: ffmpeg.exe的路径:param inputVideoPath: 输入视频路径:param speed: 输出速度:输入速度:param outputVideoPath: 输出视频速度:return:"""command1 = '{} -i {} -filter:v "setpts= {}*PTS" {} -y'.format(ffmpegPath, inputVideoPath, speed, outputVideoPath)os.system(command1)if __name__ == '__main__':ffmpegPath = r"C:\Users\xiahuadong\Desktop\xiahuadongCode\number_humen_web\number_humen_front_back_end\ffmpey安装包\ffmpeg-20200628-4cfcfb3-win64-static\ffmpeg-20200628-4cfcfb3-win64-static\bin\ffmpeg"inputVideoPath = r"C:\Users\xiahuadong\Desktop\xiahuadongCode\number_humen_web\number_humen_web\video\merge.mp4"speed = 0.5outputVideoPath = r"C:\Users\xiahuadong\Desktop\xiahuadongCode\number_humen_web\number_humen_web\video\speed.mp4"speedVideo(ffmpegPath, inputVideoPath, speed, outputVideoPath)
python ffmpeg 视频转图片 视频转音频 播放音频 多张图片+音频转视频 多个视频合成一个视频 改变视频播放速度相关推荐
- ffmpeg 将多个视频片段合成一个视频
ffmpeg 将多个视频片段合成一个视频 网络视频 6 分钟的诅咒. 1. 新建文本文件 filelist.txt filelist.txt file 'output_train_video_0.mp ...
- 安卓开发,拼接屏幕、大屏幕、户外广告无人值守循环播放视频,图片。开机自动播放,断电后自动播放,重起后自动播放功能
安卓开发,拼接屏幕.大屏幕.户外广告无人值守循环播放视频,图片.开机自动播放,断电后自动播放,重起后自动播放功能 因客户要求,开机自动播放视频,不需要电脑控制,通电自动循环播放视频. 电脑成本太高,最 ...
- ffmeg将多段视频合成一个视频
ffmeg将多段视频合成一个视频 文章目录: 一.方法一:利用文件列表 二.方法二:不利用文件列表 三. 方法三:拼接不同编码格式的文件 四.注意事项 要处理多段视频太费劲啦,如果直接把多段小视频合成 ...
- 怎么把几个视频合成一个视频?这些合并方法很简单
怎么把几个视频合成一个视频呢?将多个视频合成为一个视频,可以将不同的场景和情节串联起来,增强整个视频的故事性和连贯性.通过合理的剪辑和安排,我们可以将不同的视频片段组合成一个完整的故事,从而让观众更加 ...
- 想要将多个视频拼接在一起?如何把三个视频合成一个视频
从事短视频创作行业以来,总是存在着各种挑战.最开始,因为主要负责视频素材的搜集,所以每天虽忙但充实,最近逐步开始学习视频的剪辑工作,可把我难到了!想要将多个视频拼接在一起?如何把三个视频合成一个视频? ...
- 两段视频合成一个视频用什么软件 怎么把两段视频合成一段看不出来
两段视频合成一个视频用什么软件?无论是两段视频的合成,还是三段视频的合成,用视频编辑软件都能轻松搞定.但怎么把两段视频合成一段看不出来?这就比较考验制作者的功力了,不过我们还是有捷径的,下面一起来看看 ...
- 如何将多个视频合成一个视频,轻松把多个视频拼接合成一个视频
如何将多个视频合成一个视频?对于视频的合并,其实很多软件都可以办到,尤其是视频剪辑工具,往往都有着很多的功能可以使我们剪辑出好看的视频文件.轻松把多个视频拼接合成一个视频?小编整理了三款比较常见的视频 ...
- 多个视频怎么合成一个视频?教你几种视频合并方法
将多个视频合成一个视频,可以让我们更好地记录和呈现某个事件或者经历的完整过程.比如,我们可以将旅行的点滴片段合成一个完整的旅行视频,或者将孩子成长的点滴合成一个成长记录视频.很多小伙伴不知道如何将多个 ...
- 多个视频如何合成一个视频?
多个视频如何合成一个视频?想必大家都有录制视频的经历,在录视频的时候,我们总会挑一些比较经典,比较重要的场景进行录制,这样到最后我们就得到了几段不同的视频文件.如果后期我们要分享这几段视频,大家说是一 ...
最新文章
- Struts详细用法
- 软件构建之链接应用--链接脚本
- 回溯——伯努利装错信封问题
- Python:字典列表字符串方法测试
- 产品采用的即时通讯软件是本地云架构
- HetSANN:基于注意力模型,自动挖掘异质网络语义信息 AAAI2020
- python控制结构实验结果分析_实验1_Python语法及控制结构
- 中国节能电梯市场趋势报告、技术动态创新及市场预测
- 为 Notepad++ 安装 NppFTP 插件,查看修改虚拟机上的文本文件
- 二叉树的递归与非递归
- 建立 arm-linux 交叉编译环境
- 仿真技术在控制系统中的应用 ---飞机姿态控制仿真( 俯仰角)
- led的伏安特性曲线 matlab实现_Matlab在伏安特性实验中的应用
- tp6 支付宝沙箱支付
- linux awk 打印最后一列,使用awk打印从第n个到最后一个的所有列
- 浅谈临床研究中随机化
- 怎么做无线路由跟服务器一个网段,一个宽带装两个路由器怎么设置?
- 表格进阶03——简历制作(用表格布局)
- 向量旋转(或矢量旋转或坐标轴旋转)后xy坐标重定位(vivado+cordic ip核+matlab) - 适用于数学爱好者
- 致远OA合并处理策略
热门文章
- J. Cheminform. | 基于化学基因组学中深度和浅层学习预测药物特异性
- RDKit | 通过Lipinski规则了解如何在RDKit中处理描述符
- Nat. Methods | 学习微生物与代谢产物之间相互作用的神经网络
- Excel VBA林木冠幅、分枝胸径字符串的拆解
- 堆排序算法的java实现_堆排序算法的JAVA实现
- mysql cluster mysql 节点无法关闭_Mysql Cluster 非root用户启动ndbd节点报错
- python高阶面试题_Python 爬虫面试题 170 道:2019 版
- JIPB:白洋组综述根系微生物组群落构建及其对植物适应性的贡献
- Microbiome:中外合作揭示微生物群落降解复杂微生物聚合物的酶(视频导读)
- AI打败外科医生:机器人做手术,你敢来一刀吗?