2012-09-21 43 views
5

Tôi đã cố gắng trích xuất khung hình chính từ video bằng cách sử dụng ffmpeg 0.11.1. Cho đến nay tất cả các lệnh tôi đã thử không trích xuất khung hình chính nhưng trả về tất cả các khung hình tức là 25fps * tổng số khung thời gian trong đầu ra. Tôi đã thử đặt keyint_min là 25 để đảm bảo có tối đa 1 khung hình chính mỗi giây.ffmpeg keyframe extraction

ffmpeg -vf select="eq(pict_type\,PICT_TYPE_I)" -g 250 -keyint_min 25 -i C:\test.mp4 -vsync 2 -f image2 C:\testTemp\thumbnails-%02d.jpeg 

Nhưng vẫn còn tất cả các khung được trả lại.

Sau đó, tôi đã thử, để tách các khung hình chính sau 20 giây.

ffmpeg -i C:\test.mp4 -vf select='eq(pict_type\,I)*(isnan(prev_selected_t)+gte(t-prev_selected_t\,20))' -vsync 0 -f image2 C:\testTemp\%09d.jpg 

Cùng một kết quả, tất cả các khung được trả lại.

Tôi nên làm gì?

Trả lời

9

Trong lệnh đầu tiên, bạn đang sử dụng bộ lọc làm tùy chọn nhập. Tôi không biết làm thế nào ffmpeg sẽ giải thích điều đó.

Hãy thử điều này:

ffmpeg -i C:\test.mp4 -vf select='eq(pict_type\,I)',setpts='N/(25*TB)' C:\testTemp\%09d.jpg 

Thay đổi 25 với tỷ lệ khung hình của nguồn của bạn: 30000/1001 cho video NTSC, 24000/1001 cho bộ phim NTSC, PAL 25 cho vv

kiểm soát đầu ra chất lượng với tùy chọn -q:v hoặc -qscale:v (chỉ được gọi là -qscale trong ffmpeg cũ). Phạm vi cho mpeg * là 1-31 trong đó 31 là chất lượng kém nhất.

Lần sau hãy nhớ rằng các câu hỏi sử dụng ffmpeg sẽ được hỏi tại superuser.com vì stackoverflow dành riêng cho lập trình.

+0

Xin cảm ơn, nhưng tôi gặp lỗi Lỗi khi khởi tạo bộ lọc chọn với arg. Số lượng mở và đóng 'không bằng nhau vì vậy tôi đã thử thay đổi phần chọn để chọn =' eq (pict_type \, I), setpts = N/(25 * TB) 'và sau đó chọn =' eq (pict_type \, I), setpts = 'N/(25 * TB)' 'Nhưng cả hai đều trả về cùng lỗi –

+0

Xin lỗi. Công việc dán sai. Tôi đã cập nhật lệnh, nhưng tôi không thể kiểm tra vào lúc này. – LordNeckbeard

+0

Tôi nhận được: Thiếu ')' hoặc quá nhiều arg trong 'eq (pict_type \, I)' và sau đó là lỗi khác khi phân tích biểu thức 'eq (pict_type \, I)' –