Tôi đang cố gắng lấy khung đại diện cho video, để xóa các khung dư thừa có thể xuất hiện trong video. Đây là những gì tôi sử dụng để có được các khung hình.Thay đổi cảnh/phát hiện bắn/trích xuất hình ảnh bằng cách sử dụng ffmpeg từ video
./ffmpeg -i video.mp4 -vf select="eq(pict_type\,PICT_TYPE_I)" -vsync 2 -s 320x240 thumb-%02d.png
Tôi cũng đã cố gắng
./ffmpeg -i video.mp4 -f image2 -vf "select=gt(scene\,.4)" -vsync vfr thumb%04d.png
Vấn đề chính ở đây là mờ. Nếu tôi chỉ lấy mẫu mỗi 5 giây một lần, tôi sẽ không thấy bất kỳ hiệu ứng nhòe nào, tuy nhiên khi sử dụng hai lệnh trên, tôi nhận được rất nhiều mờ.
Các video có thể được tìm thấy ở đây, http://www.cs.umd.edu/~bharat/video.mp4
Để lấy mẫu video mỗi 10 giây, tôi sử dụng như sau:
./ffmpeg -i video.mp4 -r 1/10 filename%03d.jpg
Output sử dụng lấy mẫu bình thường:
Đầu ra sử dụng lựa chọn:
Tuy nhiên, lấy mẫu bình thường có thể không tốt đối với một số video và có thể tạo khung dự phòng. Có cách nào tôi có thể sử dụng một số tùy chọn trong ffmpeg và nhận được khung hình mà không làm mờ này? Nếu lấy mẫu bình thường có thể có được khung hình tốt, nên có khung trong vùng lân cận mà không bị mờ. Tôi đã xem xét các tùy chọn như scenecut trong ffmpeg tuy nhiên tôi không quen với việc sử dụng chúng cho ứng dụng này.
Kết quả này được mong đợi với lấy mẫu khung thông thường. Liệu nó nhất thiết phải là 'ffmpeg'? Có rất nhiều triển khai phát hiện bắn có sẵn miễn phí. – bjou
không nhất thiết, bất cứ điều gì sẽ làm, tôi chỉ cần loại bỏ các khung mờ – Bharat