**
使用ffmpeg模块合成音频视频的时候的问题
**
环境是:
win7 32位 py35
重要的是:适合这个版本的ffmpeg是比较难找的
可以参考这里的:
https://www.jb51.net/softs/145513.html#downintro2
当然:比较高的win版本的ffmpeg就比较容易找了
问题描述:
在获取到分开加载的音频和视频文件之后,不能一体化的合并
意思是:当获取了音频视频之后,直接再开一个ide运行
exm:
这里audiofile=" audio"里面的" audio"是文件夹里获取到的音频文件除了.mp4之外的文件名
因为后面在引入文件位置的时候有构造.mp4
当然这里推荐构造的时候加上mp4,不要直接加上,因为我试了几次是
import os
#import subprocess
audiofile=" audio"
videofile=" video"
add="004 "
command='ffmpeg.exe -i "D:\\Python\\fangbian\\{}.mp4" -i "D:\\Python\\fangbian\\{}.mp4" -acodec copy -vcodec copy "D:\\Python\\fangbian\\addup\\{}.mp4"'.format(audiofile,videofile,add)
os.system(command)
#subprocess.Popen(command,shell=True)
print('合并成功')
这样子是可以合并的
但是带入到整个程序中就不行了,就是获取完音频视频之后直接对他们合并的话,出现的情况是ffmpeg一闪而过,没有实际合并效果,可能是我操作不当
以下是我能想到暂时能够解决的方法:
另建自定义模块,读取文件夹里的获取到的音频视频文件名,然后通过ffmpeg合并
再通过remove()移除文件,这样的话嵌入循环之后,要合并的音频视频文件名总是第一个和第二个,也就方便操作了
os.remove('D:\\Python\\fangbian\\{}.mp4'.format(audiofile))
print('原视频信息已删除')
os.remove('D:\\Python\\fangbian\\{}.mp4'.format(videofile))
print('原音频信息已删除')
再把这个模块导入到原来的程序中就可以了。