I have been working with moviepy library for the first time. I have a video clip around 7 hours long, and I'd like to clip it into small clips. I have a list of start and end time.
我是第一次与电影图书馆合作。我有一个大约7小时长的视频片段,我想把它剪成小片段。我有一份开始和结束时间的清单。
video = VideoFileClip("videoFile.mp4")
clips = []
for cut in cuts:
clip = video.subclip(cut[0], cut[1])
clips.append(clip)
clips
clip = video.subclip("7:32:18", "7:38:38")
clips.append(clip)
for clip, title in zip(clips, title_list):
clip.write_videofile(title + '.mp4', threads=8, fps=24, audio=True, codec='libx264',preset=compression)
video.close()
clips[] contain the start and end time for clipping. I have a list of title too which I have scraped from youtube. I have not included the two lists here but a small example could be:
Clip[]包含剪辑的开始时间和结束时间。我也有一份从YouTube上刮来的书目清单。我没有在这里列出这两个列表,但可以举一个小例子:
cuts = [('0:00', '2:26'),
('2:26', '5:00'),
('5:00', '7:15'),
('7:15', '10:57'),
('10:57', '18:00'),
('18:00', '18:22'),
('18:22', '19:57'),
('19:57', '20:37'),
('20:37', '28:27'),
('28:27', '40:32'),
('40:32', '49:57'),...
title_list = ['Introduction (What is Todoist?), tech stack talk', 'Showing the final application (with dark mode!)', 'Installing create react app', "Clearing out what we don't need from create react app", "Let's get building our components!", 'Installing packages using Yarn', 'Building the Header component', 'Building the Content component',...
OSError: [Errno 32] Broken pipe
MoviePy error: FFMPEG encountered the following error while writing file Introduction(WhatisTodoist?),techstacktalkTEMP_MPY_wvf_snd.mp3:
b'Introduction(WhatisTodoist?),techstacktalkTEMP_MPY_wvf_snd.mp3: Invalid argument\r\n'
In case it helps, make sure you are using a recent version of FFMPEG (the versions in the Ubuntu/Debian repos are deprecated).
Above is the error I am getting after running the write_videofile(). I have looked at the documentation and the issues on github, I tried updating the ffmpeg through pip too. I don't know why it can't write the audio file.
上面是我在运行WRITE_VIDEOFILE()之后得到的错误。我已经看过GitHub上的文档和问题,我也尝试通过pip更新ffmpeg。我不知道为什么它不能写音频文件。
更多回答
The reason could be the special characters in the file name.
At least on windows you can not have '?' in the file name.
You can try other names to check if this is the problem.
原因可能是文件名中的特殊字符。至少在你不能拥有的窗户上‘?’在文件名中。您可以尝试使用其他名称来检查这是否是问题所在。
As Marcel Preda said, it could be the file path.
This is the same for the name as well as the file extension. For example, if you use the output file as:
正如马塞尔·普雷达所说,这可能是文件路径。对于名称和文件扩展名,这是相同的。例如,如果将输出文件用作:
OUTPUT_PATH = os.path.abspath('Test Footage/output/final2.mp4')
But you need to export audio, then this will cause an error (from experience).
但你需要导出音频,那么这将导致一个错误(从经验)。
OUTPUT_PATH = os.path.abspath('Test Footage/output/final2.mp3') # change to mp3
更多回答
我是一名优秀的程序员,十分优秀!