Wydobycie klatki z MP4 jako obrazek

Wydobycie klatki z MP4 jako obrazek
AD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 32
0

Wydobycie klatki z MP4 jako obrazek

Czy da się na stronie np. w html\java wydobyć jedną klatkę jako np. jpg\png z pliku mp4 znajdującym się na dysku ? Zrobiłem podgląd jako

Kopiuj
<video width="160" height="120" autoplay muted> .......

ale przy ponad 300 plikach mp4 strasznie zamuliło przeglądarkę, na tyle, że ta metoda odpada. Strona www będzie wyłącznie na dysku, nie na serwerze.

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10230
3

Korzystając z opencv w pythonie można to zrobić bardzo prosto, np. tak:

Kopiuj
import cv2

def read_single_frame(video_path, frame_number=0):
  cap = cv2.VideoCapture(video_path)
  cap.set(cv2.CAP_PROP_POS_FRAMES, frame_number) 
  ret, frame = cap.read()
  cap.release()
  return frame

frame = read_single_frame("example.mp4", frame_number=10)
cv2.imshow("Frame", frame)
cv2.waitKey(0)
cv2.destroyAllWindows()
Althorion
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1620
2

Jak już idziemy zewnętrznymi zależnościami (a raczej chcemy, żeby nie implementować kodeka bez sensu), to bym sugerował ffmpeg i: ffmpeg -s 00:00:10.000 (czy tam ile) -frames:v 1 klatka.webp.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.