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

Commit

Permalink
完成剪辑视频、剪辑音频功能。
Browse files Browse the repository at this point in the history
采用命令行交互模式操作。
  • Loading branch information
Kare-Udon committed Sep 1, 2020
1 parent 9a3f663 commit 5f1f2cd
Show file tree
Hide file tree
Showing 3 changed files with 64 additions and 0 deletions.
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -127,3 +127,8 @@ dmypy.json

# Pyre type checker
.pyre/

#test videos
*.mp4
*.flv
*.mp3
40 changes: 40 additions & 0 deletions main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
from moviepy.editor import VideoFileClip, concatenate_videoclips, AudioFileClip
from moviepy_tools import *
from eyed3 import mp3

print("选择功能:\n 1.剪切视频 \n 2.剪切音频")
func = input()
if func == "1":
print("请输入需要剪切的视频的路径:")
file = input()
clip = openv(file)
print("请输入剪切起始时间(秒 整数):")
start = input()
print("请输入剪切终止时间(秒 整数):")
end = input()
clip = cut(clip,start,end)
print("请输入输出文件名(默认为 output.mp4)")
file_name = input()
if file_name == "":
writev(clip)
else:
writev(clip,file_name)
elif func == "2":
print("请输入需要剪切的音频的路径:")
file = input()
clip = opena(file)
print("请输入剪切起始时间(秒 整数):")
start = input()
print("请输入剪切终止时间(秒 整数):")
end = input()
clip = cut(clip,start,end)
print("请输入输出文件名(默认为 output.mp3)")
file_name = input()
f = mp3.Mp3AudioFile(file)
bit_rate = f.info.bit_rate[1] * 1000
if file_name == "":
writea(clip,bit_rate)
else:
writea(clip,file_name,bit_rate)


19 changes: 19 additions & 0 deletions moviepy_tools.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
from moviepy.editor import VideoFileClip, concatenate_videoclips, AudioFileClip

def openv(file):
clipv = VideoFileClip(file)
return clipv

def opena(file):
clipa = AudioFileClip(file)
return clipa

def cut(clip,start,end):
clip = clip.subclip(start,end)
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))

0 comments on commit 5f1f2cd

Please sign in to comment.