Я пытаюсь разбить видео на фрагменты по 1000 кадров каждый (это нужно делать на уровне кадров). Сейчас я использую библиотеку openCV, но она очень медленная. Чтобы разделить часовое видео на куски одинакового размера, требуется полчаса.
Есть ли какие-нибудь другие методы (на Python), которые я могу использовать для этого более эффективно? Я просмотрел библиотеку FFmpeg, но, похоже, она хорошо справляется только с разделением по продолжительности, а не по числовым кадрам.
В openCV я сейчас использую эту функцию для разделения видео:< /p>
def split_video(video_path, output_dir, frames_per_chunk=1000):
cap = cv2.VideoCapture(video_path)
fps = cap.get(cv2.CAP_PROP_FPS)
frame_count = 0
chunk_count = 0
frames = []
# Create output directory if it doesn't exist
if not os.path.exists(output_dir):
os.makedirs(output_dir)
frame_idx = 0
while cap.isOpened():
ret, frame = cap.read()
if not ret:
break
frames.append(frame)
frame_count += 1
# Save chunk after every 'frames_per_chunk' frames
if frame_count % frames_per_chunk == 0:
chunk_filename = f'video_chunk_{chunk_count}.mp4'
chunk_path = os.path.join(output_dir, chunk_filename)
save_frames_to_video(frames, chunk_path, fps)
frames = []
chunk_count += 1
frame_idx +=1
# Save any remaining frames
if frames:
chunk_filename = f'video_chunk_{chunk_count}.mp4'
chunk_path = os.path.join(output_dir, chunk_filename)
save_frames_to_video(frames, chunk_path, fps)
print(f'video split into {chunk_count + 1} chunks')
cap.release()
return
Подробнее здесь: https://stackoverflow.com/questions/791 ... f-x-frames
Быстрое разделение видео на фрагменты «x» кадров [закрыто] ⇐ Python
Программы на Python
-
Anonymous
1730120796
Anonymous
Я пытаюсь разбить видео на фрагменты по 1000 кадров каждый (это нужно делать на уровне кадров). Сейчас я использую библиотеку openCV, но она очень медленная. Чтобы разделить часовое видео на куски одинакового размера, требуется полчаса.
Есть ли какие-нибудь другие методы (на Python), которые я могу использовать для этого более эффективно? Я просмотрел библиотеку FFmpeg, но, похоже, она хорошо справляется только с разделением по продолжительности, а не по числовым кадрам.
В openCV я сейчас использую эту функцию для разделения видео:< /p>
def split_video(video_path, output_dir, frames_per_chunk=1000):
cap = cv2.VideoCapture(video_path)
fps = cap.get(cv2.CAP_PROP_FPS)
frame_count = 0
chunk_count = 0
frames = []
# Create output directory if it doesn't exist
if not os.path.exists(output_dir):
os.makedirs(output_dir)
frame_idx = 0
while cap.isOpened():
ret, frame = cap.read()
if not ret:
break
frames.append(frame)
frame_count += 1
# Save chunk after every 'frames_per_chunk' frames
if frame_count % frames_per_chunk == 0:
chunk_filename = f'video_chunk_{chunk_count}.mp4'
chunk_path = os.path.join(output_dir, chunk_filename)
save_frames_to_video(frames, chunk_path, fps)
frames = []
chunk_count += 1
frame_idx +=1
# Save any remaining frames
if frames:
chunk_filename = f'video_chunk_{chunk_count}.mp4'
chunk_path = os.path.join(output_dir, chunk_filename)
save_frames_to_video(frames, chunk_path, fps)
print(f'video split into {chunk_count + 1} chunks')
cap.release()
return
Подробнее здесь: [url]https://stackoverflow.com/questions/79124084/fast-splitting-of-video-into-chunks-of-x-frames[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия