Bagaimana cara membagi video menjadi beberapa bagian menggunakan Python?
Jan 05 2021
Saya perlu membagi file video dari berbagai ukuran menjadi berbagai bagian dengan ukuran maksimum hingga 75 MB. Saya menemukan kode ini, tetapi tidak berhasil:
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)
Jawaban
AvenDesta Jan 05 2021 at 07:30
Berikut ini skrip yang baru saya buat menggunakan MoviePy. Tetapi alih-alih membaginya dengan ukuran byte, ia membaginya dengan panjang video. Jadi jika Anda menyetel divide_into_count
ke 5 dan Anda memiliki video berdurasi 22 menit, maka Anda mendapatkan video berdurasi 5, 5, 5, 5, 2 menit.
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("-----------------###-----------------")
Kiat Pemilik Anjing yang Bermanfaat: Mengapa Penting untuk Membiarkan Anjing Anda Mengendus di Jalan
Taylor Sheridan Baru Menambahkan 1 Bintang 'Yellowstone' Favoritnya ke Pemeran 'Lawmen: Bass Reeves'