पायथन का उपयोग करके भागों में वीडियो कैसे विभाजित करें?
मुझे 75 एमबी तक के अधिकतम आकार के विभिन्न भागों में किसी भी आकार की एक वीडियो फ़ाइल को विभाजित करने की आवश्यकता है। मुझे यह कोड मिला, लेकिन यह काम नहीं करता है:
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)
जवाब
AvenDesta
यहाँ एक स्क्रिप्ट है जिसे मैंने अभी-अभी MoviePy का उपयोग करके बनाया है। लेकिन बाइट के आकार से विभाजित होने के बजाय यह वीडियो की लंबाई से विभाजित होता है। इसलिए यदि आप divide_into_count
5 पर सेट होते हैं और आपके पास 22 मिनट की लंबाई का वीडियो है, तो आपको लंबाई 5, 5, 5, 5, 2 मिनट के वीडियो मिलते हैं।
from moviepy.editor import VideoFileClip
from time import sleep
full_video = "full.mp4"
current_duration = VideoFileClip(full_video).duration
divide_into_count = 5
single_duration = current_duration/divide_into_count
current_video = f"{current_duration}.mp4"
while current_duration > single_duration:
clip = VideoFileClip(full_video).subclip(current_duration-single_duration, current_duration)
current_duration -= single_duration
current_video = f"{current_duration}.mp4"
clip.to_videofile(current_video, codec="libx264", temp_audiofile='temp-audio.m4a', remove_temp=True, audio_codec='aac')
print("-----------------###-----------------")