Skip to content
This repository has been archived by the owner on Dec 31, 2022. It is now read-only.

Commit

Permalink
新增 生成gif 功能。
Browse files Browse the repository at this point in the history
  • Loading branch information
Kare-Udon committed Sep 2, 2020
1 parent f2f7ff2 commit aae53cb
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 8 deletions.
13 changes: 11 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

## 环境配置

Python 3+
Python 3 +

```
pip3 install moviepy eyed3
Expand All @@ -13,5 +13,14 @@ pip3 install moviepy eyed3

1. 剪切视频
2. 剪切音频
3. 生成gif

......
......

## 使用方法

```
python3 main.py
```

或将 movie_tools.py 导入到你的项目。
38 changes: 33 additions & 5 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,16 @@
from moviepy_tools import *
from eyed3 import mp3

print("选择功能:\n 1.剪切视频 \n 2.剪切音频")
print("选择功能:\n 1.剪切视频 \n 2.剪切音频 \n 3.生成gif")
func = input()

if func == "1":
print("请输入需要剪切的视频的路径:")
file = input()
clip = openv(file)
print("请输入剪切起始时间(秒 整数):")
print("请输入剪切起始时间(小时:分钟:秒):")
start = input()
print("请输入剪切终止时间(秒 整数):")
print("请输入剪切终止时间(小时:分钟:秒):")
end = input()
clip = cut(clip,start,end)
print("请输入输出文件名(默认为 output.mp4)")
Expand All @@ -19,13 +20,14 @@
writev(clip)
else:
writev(clip,file_name)

elif func == "2":
print("请输入需要剪切的音频的路径:")
file = input()
clip = opena(file)
print("请输入剪切起始时间(秒 整数):")
print("请输入剪切起始时间(小时:分钟:秒):")
start = input()
print("请输入剪切终止时间(秒 整数):")
print("请输入剪切终止时间(小时:分钟:秒):")
end = input()
clip = cut(clip,start,end)
print("请输入输出文件名(默认为 output.mp3)")
Expand All @@ -37,4 +39,30 @@
else:
writea(clip,file_name,bit_rate)

elif func == "3":
print("请输入生成gif的视频的路径:")
file = input()
clip = openv(file)
print("请输入生成起始时间(小时:分钟:秒):")
start = input()
print("请输入生成终止时间(小时:分钟:秒):")
end = input()
clip = cut(clip,start,end)
print("请输入输出文件名(默认为 output.gif)")
file_name = input()
if file_name == "":
print("请输入gif的帧率(默认为15fps):")
myfps = input()
if myfps == "":
writeg(clip)
else:
writeg(clip,myfps)
else:
print("请输入gif的帧率(默认为15fps):")
myfps = input()
if myfps == "":
writeg(clip,file_name)
else:
writeg(clip,myfps,file_name)


9 changes: 8 additions & 1 deletion moviepy_tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,15 @@ def cut(clip,start,end):
clip = clip.subclip(start,end)
return clip

def resize(clip,hei=720):
clip = clip.resize(height=hei)
return clip

def writev(clip,file_name="output.mp4"):
clip.write_videofile(file_name)

def writea(clip,bit_rate,file_name="output.mp3"):
clip.write_audiofile(file_name,bitrate=str(bit_rate))
clip.write_audiofile(file_name,bitrate=str(bit_rate))

def writeg(clip,myfps=15,file_name="output.gif"):
clip.write_gif(file_name,fps=int(myfps))

0 comments on commit aae53cb

Please sign in to comment.