本文作者:Yuqi Huang
本文分类:音视频剪辑 浏览:1509
阅读时间:966字, 约1-1.5分钟
这次的劳技课,由于视频和音乐的长度严重不符,且我这里没有合适的视频处理软件,我只能上网查找。再偶然间,我发现可以用FFmpeg进行对视频的拆分。方法如下:
1、安装FFmpeg。这个因该不要我多说。大家应该能很快装好。
2、$ ffmpeg -f image2 -i %4d.png -r 25 Video.mp4
#其中%4d.png意思是输出的图片被存储在当前目录,命名为0001.png、0002.png,以此类推,-r 后面是帧率,Video.mp4是要拆分的视频。
部分摘自 (https://www.jianshu.com/p/98e9e6ffe8f8)
其中帧率可以自行选择,总图片数可以用帧率x时长(秒)进行计算,图片名称最好大于计算的个数(自行理解)。最后生成的图片总大小我这边是4800多张图片,总共2GB多,所以硬盘容量小的就不要尝试了。
3、按回车,等运行完毕即可。
我前面说了我是要更改视频长度的所以自然要把他复原。方法如下:
1、再文件夹下新建一个.py文件(默认已安装Python)
2、pip安装OpenCV
3、输入以下内容(我忘记出处了)
import os
import cv2
import numpy as np
path = 'D:/Online_Homework/Labor_and_Technology/Homework7/Pictures/'
filelist = os.listdir(path)
fps = 20 #视频每秒20帧
size = (1024, 576) #需要转为视频的图片的尺寸
#可以使用cv2.resize()进行修改
video = cv2.VideoWriter("Video.mp4v", cv2.VideoWriter_fourcc('X', 'v', 'i', 'D'), fps, size)
#视频保存在当前目录下
for item in filelist:
if item.endswith('.png'):
#找到路径中所有后缀名为.png的文件,可以更换为.jpg或其它
item = path + item
img = cv2.imread(item)
video.write(img)
print(item)
video.release()
cv2.destroyAllWindows()
对于视频长度的问题请自己修改,上文已经讲的很清楚了。这就是我的代码。
4、运行即可(即完成)
关于作者Yuqi Huang
- 还没有填写个人简介
- Email: huangyq20080612@163.com
- 注册于: 2020-04-08 11:31:01
哦哦哦真有趣哦。我网站上所有录的视频全部都是用ffmpeg变速拼合加水印的。贼爽。
主题操作记录
2020.5.3 13:08 审核通过