使用python+ffmpeg批量转换格式

需求:

给定一个文件夹路径,遍历该文件夹内的所有文件以及子文件夹内的文件,当所有后缀名为wav格式的文件转换为ogg格式的文件.

  1. import os # 获取目录下的所有文件列表
  2. import fnmatch # 文件格式筛选模块,筛选指定格式文件
  3. #遍历
  4. def dirlist(path, allfile):
  5. filelist = os.listdir(path)
  6. for filename in filelist:
  7. filepath = os.path.join(path, filename)
  8. if os.path.isdir(filepath):
  9. dirlist(filepath, allfile)
  10. elif fnmatch.fnmatch(filepath,‘*.wav‘):#判断文件格式
  11. allfile.append(filepath)
  12. #allfile.append(‘\n‘)
  13. print(‘*‘*40,filepath,‘\n‘)
  14. return allfile
  15. #格式转换
  16. def RunScript(fileList) :
  17. print(‘hello world start:‘)
  18. readf = open("E:\\py\\readfilename.txt", ‘w+‘) #输出所有读入的文件
  19. writef = open("E:\\py\\writefilename.txt", ‘w+‘) #输出所有创建并写入的文件
  20. code = "ffmpeg -i "
  21. codeMid = " -acodec libvorbis "
  22. for filename in fileList:
  23. input = filename
  24. print(‘*‘*40,‘\n‘,‘Begin input = ‘,input,‘\n‘)
  25. subname = input.split(‘.‘)
  26. output = subname[0] + ".ogg"
  27. finishcode = code + input + codeMid + output
  28. os.system(finishcode)
  29. print(‘End output = ‘,output,‘\n‘)
  30. print(input,file=readf)
  31. print(output,file=writef)
  32. print(‘hello world end‘)
  33. #主程序运行
  34. if __name__ ==‘__main__‘:
  35. fff = open("E:\\py\\allfile.txt", ‘w+‘)
  36. fileDir = r‘G:\SVNworking\trunc\exe\resources\media\audio‘
  37. allfile = []
  38. dirlist(fileDir,allfile)
  39. for name in allfile:
  40. print(name,file=fff)
  41. RunScript(allfile)

null

时间: 2024-08-11 03:33:08

使用python+ffmpeg批量转换格式的相关文章

Notepad++ 使用Python 插件批量 转换文本文件(字幕文件) 为 UTF8

有时候从网上下载了中英文的字幕文件,字符编码是ANSI的,需要转换为UTF-8的编码格式. 或者其他的文本文件需要转换为UTF8格式.可以实现批量转换. 在Notepad++安装Python Script 插件 打开插件管理器 在Search搜索框中输入:Python Script  , 然后选择插件,再点击Install 安装. 提示重启安装,选择 Y 是 弹出对话框,下载安装插件 Notepad++ 重启后,按下图操作 输入以下代码然后保存. import os; import sys; p

C#使用FFmpeg 将视频格式转换成Gif图片示例

一.本次使用参数说明 /* * 参数说明: * -i 源文件位置 * -y 输出新文件,是否覆盖现有文件 * -s 视频比例 4:3 320x240/640x480/800x600 16:9 1280x720 ,默认值 'wxh',和原视频大小相同 * -f 等同'-formats',定义的可支持的文件格式'ffmpeg-formats',更多参考:https://ffmpeg.org/ffmpeg-formats.html * -vframes 数字类型,指定视频输出帧数 * -dframes

asp.net实现调用ffmpeg实现视频格式的转换

视频格式转换的函数 //视频转换 public void VideoConvertFlv(string FromName, string ExportName) { string ffmpeg = HttpContext.Current.Server.MapPath("~/UploadFiles/FLV/ffmpeg.exe"); FromName = HttpContext.Current.Server.MapPath(FromName); ExportName = HttpCont

使用VBA批量转换Excel格式,由.xls转换成.xlsx

问题分析: Excel2007以前的格式是.xls,之后的格式是.xlxs.打开单独的一个Excel文档,使用“另存为”功能,可以很轻松的转换格式.但是面对几百个Excel表这样就太累了,搜索很久,也没发现一个工具可以直接批量进行格式转换. 最终发现可以使用VBA来实现批量转换Excel格式的功能.大家不要被吓到,VBA我也不懂,代码是从别人那里搞到的,现在也只是知道了怎么使用,但这足够解决问题了 VBA介绍: 1.VBA是一种编程语言,它依托于Office软件,不能独立的运行,通过VBA可以实

多线程批量转换文件编码, 从GBK, GB2312编码转换到UTF-8编码(Python)

# coding=utf-8 # author:Jeffrey Ma # version:0.1 # build 2 # created on:2015年3月31日 # description: 1. 批量转换文件编码,从GBK GB2312编码转换到UTF-8编码 # 2. 支持指定目录下所有的文件的转换,包括子目录中的文件 # 3. 支持检测原始编码,对已经是UTF-8编码的文件,不做转换 # 4. 支持只转换指定扩展名的编码 # 5. 支持多线程转换和控制台输出 # 6. 支持控制台显示线

使用Calibre自带工具批量转换电子书格式

原来使用Calibre转换电子书格式都是先导入,再转换,再把转换后的文件复制出来,最后再改名. 虽然可以批量导入和转换,但复制和改名要一个处理.后来发现Calibre自带命令行转换工具,就写了一个批处理,可以把一个文件夹中的所有指定格式的电子书批量转换. 把以下代码复制到记事本上,保存为.bat文件,复制到电子书的文件夹中,双击运行. @echo off for %%a in (*.azw3) do ( "d:\Calibre Portable\Calibre\ebook-convert.exe

将psd格式批量转换成jpg或png格式(C#自制软件)

此项目基于.net framework 4.0 将psd格式批量转换成jpg或png格式. 链接:https://pan.baidu.com/s/16IEjX0sHaY9H3Ah7mv6IPQ 提取码:c948 原文地址:https://www.cnblogs.com/alpha-w/p/10797935.html

C# ffmpeg 视频处理格式转换和添加水印

通过C#调用ffmpeg 将flv格式转换为mp4格式,并添加水印 C#调用ffmpeg的方法封装如下: /// <summary>/// 视频处理器ffmpeg.exe的位置/// </summary>public string FFmpegPath { get; set; } /// <summary>/// 调用ffmpeg.exe 执行命令/// </summary>/// <param name="Parameters"&

【游戏开发】Excel表格批量转换成CSV的小工具

一.前言 在工作的过程中,我们有时可能会面临将Excel表格转换成CSV格式文件的需求.这尤其在游戏开发中体现的最为明显,策划的数据文档大多是一些Excel表格,且不说这些表格在游戏中读取的速度,但就论占用内存来说,同样的数据量Excel表格所占用的内存要远远大于CSV,因此将Excel转换成CSV势在必行.如果单单转换一个Excel表格还好,直接另存为就搞定的,但是如何将一个文件下的N个Execl表格转成CSV呢?今天马三就来和大家一起用Python撸一个Excel表格批量转换CSV的小工具—