利用python函数调用ffmpeg批量进行转码

本人学习python没几天,代码也没记住,写个函数到处查笔记,东拼西凑的。累……但是最终还是搞定了。
欢迎高手指导,谢谢!

单个文件转码

#学会如何在python调用bat文件

import os,sys

# 输入要转换的文件

def zhuanma(input):
	dir = os.path.dirname(input) 			#提取所在目录
	namekzm = os.path.basename(input) 		#提取文件名含扩展名,不包含路径
	name = os.path.splitext(input)[0]		#提取路径和文件名,不含扩展名
	output = name+"_ok.mp4"
	compress = "ffmpeg -i {} -vcodec h264 -b:v 0 -s 1280x720 {}".format(input,output)      #python调用cmd命令方法
	isRUN = os.system(compress)
	print("*"*60)
	print(input+'-转换成功')


#调用

s = "E:/LOL视频/测试视频/霞五杀001.mp4"
zhuanma(s)

批量转码

#学会如何在python调用cmd命令文件

import os,sys


# 输入要转换的文件

# def zhuanma(input):

#定义文件目录
path = "E:/ceshi"

#提取源文件绝对路径
oldlist = os.listdir(path)

#用for循环遍历出每个文件的名称进行拼接
for i in oldlist:
	input = path+'/'+i						#拼接输入文件E:/ceshi/霞五杀003.mp4
	name = os.path.splitext(input)[0]		#不带扩展名的路径,例如:E:/ceshi/霞五杀003
	output = name+'_OK.mp4'					#拼接最终变成:E:/ceshi/霞五杀003_OK.mp4
	compress = "ffmpeg -i {} -vcodec h264 -b:v 0 -s 1280x720 {}".format(input,output)      #python调用cmd命令方法转码
	isRUN = os.system(compress)
	print("*"*100)
	print(input+'-转换成功')

猜你喜欢

转载自blog.csdn.net/annita2019/article/details/128762002