赞
踩
1、安装python 环境。
2、下载ffmpeg,下载解压即可使用。
链接:https://pan.baidu.com/s/110bc7TWNaP8lKa6tarGH6g
提取码:1q2w
通过python的subprocess模块,调用ffmpeg实现视频的剪辑功能
ffmpeg的命令是“ffmpeg -i name1.rmvb -c:v libx264 -strict -2 name2.mp4” 转化为python如下:
import subprocess
videopath ="视频1"+".mkv"
outpath ="视频2"+".mp4"
subprocess.call(("E:/ffmpeg-win64-static/bin/ffmpeg -i " + videopath + " -c:v libx264 -strict -2 " + outpath),shell=True)
"E:/ffmpeg-win64-static/bin/ffmpeg"是ffmpeg下载解压后的路径。
videopath 是输入视频名称
outpath 是输出视频名称
ffmpeg支持的格式包括mkv、rm、rmvb等。
ffmpeg的命令是“ffmpeg -i name1.mp4 -vf subtitles=test.srt name2.mkv” 转化为python如下:
import subprocess
videopath ="视频1"+".mp4"
srtpath ="字幕1"+".srt"
outpath ="合成视频"+".mp4"
subprocess.call(("E:/ffmpeg-win64-static/bin/ffmpeg -i " + videopath + " -vf subtitles="+srtpath+" "+ outpath ),shell=True)
videopath 是输入视频名称
srtpath 是字幕的名称
outpath 是输出视频名称
如果出现”Invalid UTF-8 in decoded subtitles text; maybe missing -sub_charenc option“的报错,原因就是字幕的格式不是UTF-8,可以通过txt文本工具转化为UTF-8格式即可;
ffmpeg的命令是“ffmpeg -i name1.mp4 -vf subtitles=test.srt -c:v libx264 -strict -2 name2.mkv” 转化为python如下:
import subprocess
videopath ="视频1"+".rm"
srtpath ="字幕1"+".srt"
outpath ="视频合成"+".mp4"
subprocess.call(("E:/ffmpeg-win64-static/bin/ffmpeg -i " + videopath + " -vf subtitles="+srtpath+" -c:v libx264 -strict -2 "+ outpath),shell=True)
ffmpeg的命令是“ffmpeg -i name1.mp4 -ss 00:03:00 -to 00:02:00 -c copy name2.mp4” 转化为python如下:
import subprocess
videopath ="视频1"+".mp4"
outpath ="视频2"+".mp4"
subprocess.call(("E:/ffmpeg-win64-static/bin/ffmpeg -i " + videopath + " -ss 00:00:32 -to 01:54:35 -c copy " + outpath),shell=True)
videopath 是输入视频名称
outpath 是输出视频名称
-ss 后边的时间是开始时间
-to 后边的时间是结束时间
视频合成需新建个filelist.txt(可以自定义)的文件,filelist.txt文件里写的是要合并的视频名称,内容格式为
file’veido1.mp4’
file’veido2.mp4’
file’veido3.mp4’
…
ffmpeg的命令是“ffmpeg -f concat -i filelist.txt -c copy name.mp4” 转化为python如下:
import subprocess
combinePath = "视频合成"+".mp4"
subprocess.call(("E:/ffmpeg-win64-static/bin/ffmpeg -f concat -i filelist.txt -c copy " + combinePath),shell=True)
combinePath 是输出合成视频名称
如果出现”Unsafe file name“的报错,可以加上 -safe 0 的参数
import subprocess
combinePath = "视频合成"+".mp4"
subprocess.call(("E:/ffmpeg-win64-static/bin/ffmpeg -f concat -safe 0 -i filelist.txt -c copy " + combinePath),shell=True)
ffmpeg的命令是“ffmpeg -i name.mp4 -f mp3 -vn name.mp3” 转化为python如下:
import subprocess
videopath ="视频"+".mp4"
outaudio ="视频"+".mp3"
subprocess.call(("E:/ffmpeg-win64-static/bin/ffmpeg -i " + videopath + " -f mp3 -vn " + outaudio),shell=True)
videopath 是输入视频名称,outaudio 是输出音频名称
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。