我有一些.avi文件包含在h264编码的视频,我想更改为.mp4,如果需要的话更改速率。您可以在下面看到用于转换的代码。我的问题是,当我试图转换所有文件时,ffmpeg会挂起,并且它挂起的文件会不时地更改,我想知道为什么?下面的代码是ffmpeg挂起的输出。我运行的是Windows10,Python2.7。
import subprocess
import os
def convert(fileName):
sourceFile = fileName
print sourceFile.split('.')
targetFile = fileName.split('.')[0] + ".mp4"
subprocess.call(['ffmpeg', '-y', '-i', sourceFile, '-r',
'30000/1001', '-b:a', '2M', '-bt', '4M', '-vcodec',
'libx264', '-pass', '1', '-coder', '0', '-bf', '0',
'-flags', '-loop', '-wpredp', '0', '-an', targetFile])
# Set the directory you want to start from
def convertBatch(rootDir = '.'):
for dirName, subdirList, fileList in os.walk(rootDir):
print('Found directory: %s' % dirName)
for fname in fileList:
if fname.endswith(".avi"):
convert('%s/%s' % (dirName,fname))
#os.remove('%s/%s' % (dirName,fname))
convertBatch("F:\\data\\mp4")
删除ffmpeg标志
-pass 1
经过反复试验,我发现问题出在ffmpeg标志
-pass 1
,我想(没有做过研究)是因为ffmpeg会将统计数据写入同一个文件。那会引起冲突吗?在相关问题 更多 >
编程相关推荐