首页 > 编程语言 >用Python脚本实现FFmpeg批量转换

用Python脚本实现FFmpeg批量转换

时间:2023-06-24 19:31:53浏览次数:39  
标签:脚本 FFmpeg 批量 Python cmd file path os

最近需要用FFmpeg从视频文件中提取出音频信息,但是因为文件太多,所以查各种资料写了个Python脚本,实现批量的从视频中提取音频。当然了,脚本框架是通用的,可以通过替换FFmpeg命令实现各种其它操作。

一、批量处理Python脚本

import  os

for root,dirs,files in os.walk(r"E:\tmp"):
    for file in files:
        path = os.path.join(root, file)
        str = file
        str1 = file.split('.')[0]
        str2 = file.split('.')[1]
        path2 = os.path.join(root, str1)

        if str2 == "mp4":
            cmd = "ffmpeg -i " + path + " -vn -c:a mp3 " + path2 + ".mp3"
            #print(cmd)
            print(os.system(cmd))

二、脚本说明

1、视频文件保存在E:\tmp文件夹中;

2、通过脚本遍历文件夹下的文件,获取文件完整路径path、文件名str;

3、从文件名中提取出名字str1和后缀str2;

4、通过字符串连接的方式组合成待执行的FFmpeg命令cmd,本例中是从.mp4文件中提取音频并转换为mp3文件;

5、通过os.system的方式执行cmd命令,完成转换操作。

三、总结

需要说明的是,将cmd替换为其它命令,可以快速的进行其它基于FFmpeg的音视频文件批处理操作。

标签:脚本,FFmpeg,批量,Python,cmd,file,path,os
From: https://blog.51cto.com/sannywoods/6541589

相关文章

  • python学习日志,五大容器的比较
    列表的使用:列表.append(元素):向列表中追加一个元素列表.extend(容器):将数据容器的内容依次取出,追加到列表尾部列表.insert(下标,元素):在指定下标处,插入指定的元素del列表[下标]:删除列表指定下标元素列表.pop(下标):删除列表指定下标元素列表.remove(元素):从前向后,翻除此......
  • Python random模块
    Pythonrandom模块random模块用于生成随机数importrandomprint(random.random())print(random.randint(1,100))print(random.randrange(1,100))输出结果:0.182467957909153044666randint和randrange的区别##########randint##########defrandint(self,......
  • python实现文件批量压缩
    python实现文件夹下文件的批量压缩初级版本压缩之前压缩之后:源代码使用的时候只需要把“directory_path=r'D:\桌面\ceshi'”这里的路径修改成对应的文件夹即可importosimportzipfiledefzip_files_in_directory(directory):#获取目录中的文件列表fi......
  • Python configparser模块
    Pythonconfigparser模块用于生成和修改常见配置文档,当前模块的名称在python3.x版本中变更为configparser。常见文档格式如下[DEFAULT]ServerAliveInterval=45Compression=yesCompressionLevel=9ForwardX11=yes[bitbucket.org]User=hg[topsecret.se......
  • 0.组织Python代码的技巧
    组织Python代码技巧英文版链接一.构建Python项目首先关注目录结构、文件命名和模块组织。我建议把所有的模块都放在src目录下,所有测试都和它并排。python项目的组织结构---建议把所有的模块都放在src目录下,所有测试都和它并排。如下图:<project>├──src│├......
  • Python json和pickle模块
    json和pickle模块用于序列化的两个模块序列化模块:json和picklejson,用于字符串和python数据类型间进行转换pickle,用于python特有的类型和python的数据类型间进行转换Json模块提供了四个功能:dumps、dump、loads、loadpickle模块提供了四个功能:dumps、dump、loads、......
  • Python潮流周刊#8:Python 3.13 计划将解释器提速 50%!
    你好,我是猫哥。这里每周分享优质的Python及通用技术内容,部分为英文,已在小标题注明。(标题取自其中一则分享,不代表全部内容都是该主题,特此声明。)首发于我的博客:https://pythoncat.top/posts/2023-06-24-weekly......
  • Python subprocess模块
    Pythonsubprocess模块subprocess模块可以执行shell命令的相关模块和函数有:os.systemos.spawn*os.popen*--废弃popen2.*--废弃commands.*--废弃,3.x中被移除以上执行shell命令的相关的模块和函数的功能均在subprocess模块中实现,并提供......
  • Python shutil模块
    Pythonshutil模块高级的文件、文件夹、压缩包处理模块将文件内容拷贝到另一个文件中,可以部分内容shutil.copyfileobj(fsrc,fdst[,length])例子importshutilf1=open("a.txt",encoding="utf-8")f2=open("b.txt","w",encoding="utf-8")shu......
  • 【python基础】文件-初识文件
    文本文件可存储的数据量是非常多的。每当需要分析或修改存储在文件中的信息时,首先就是读取文件到内存中,为此可以一次性读取文件的全部内容,也可以以每次一行的方式逐步读取。1.读取文件1.1读取整个文件要读取文件,需要一个包含几行文本的文件。下面首先来创建一个poems文本文件,,里......