Cắt khung hình video chính xác bằng ffmpeg


1

Tôi muốn sử dụng ffmpeg để cắt một tệp video ở một số khung chính xác.

Hãy xem video này . Đầu tiên, tôi nhận được một khung ở 25 giây:

ffmpeg -i sintel_trailer-1080p.mp4 -ss 25 -vframes 1 25.png

Lưu ý rằng tôi sử dụng -sstùy chọn postfix , vì vậy tìm kiếm phải chính xác khung. Đây là hình ảnh của tôi:

nhập mô tả hình ảnh ở đây

Sau đó, tôi cắt video ở 25 giây bằng cách sử dụng sao chép luồng và kiểm tra khung đầu tiên của nó:

ffmpeg -i sintel_trailer-1080p.mp4 -ss 25 -c copy cut.mp4
ffmpeg -i cut.mp4 -vframes 1 0.png

Khung đầu tiên là khác nhau:

nhập mô tả hình ảnh ở đây

Nhưng nếu tôi thay thế tùy chọn sao chép luồng bằng một số định dạng hoặc codec video khác, khung đầu tiên là chính xác:

ffmpeg -i sintel_trailer-1080p.mp4 -ss 25 -f avi cut.avi
ffmpeg -i cut.avi -vframes 1 0_1.png

nhập mô tả hình ảnh ở đây

Có thể hoàn toàn có thể tìm kiếm khung chính xác với chế độ sao chép luồng?

Trong ứng dụng của tôi, người dùng sẽ có thể chọn một khung và bắt đầu một quá trình sẽ cắt video chính xác ở khung đó. Trong trường hợp này, tôi không cần bất kỳ chuyển đổi video nào nhưng đồng thời tôi không thể thực hiện chế độ sao chép luồng chính xác.


Trừ khi luồng video được mã hóa nội bộ, không thể .
Gyan

1
Làm thế nào tôi có thể nói rằng video được mã hóa nội bộ?
Hank
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.