我需要按时间将大视频文件拆分成小块。请给我你的建议,如果你有一些关于图书馆使用的提示。感谢。
答案 0 :(得分:6)
由于您对视频IO感兴趣,请查看QueryFrame及其相关功能。
最后,您的代码看起来像这样(完全未经测试):
import cv
capture = cv.CaptureFromFile(filename)
while Condition1:
# Need a frame to get the output video dimensions
frame = cv.RetrieveFrame(capture) # Will return None if there are no frames
# New video file
video_out = cv.CreateVideoWriter(output_filenameX, CV_FOURCC('M','J','P','G'), capture.fps, frame.size(), 1)
# Write the frames
cv.WriteFrame(video_out, frame)
while Condition2:
frame = cv.RetrieveFrame(capture) # Will return None if there are no frames
cv.WriteFrame(video_out, frame)
顺便说一句,还有办法without writing any code。
答案 1 :(得分:1)
检查youtube-upload,它会使用ffmpeg分割视频。
Youtube-upload是一个命令行 将视频上传到Youtube的脚本。 如果视频不符合 Youtube限制(< 2Gb和< 15'), 它会自动拆分 在上传之前。 YouTube的上传 应该适用于任何平台 (GNU / Linux,BSD,OS X,Windows,...) 运行Python和FFmpeg。