Có hai tốc độ khung hình để xem xét: đầu vào và đầu ra.
Theo mặc định, tốc độ khung hình đầu vào là 25 và đầu ra sẽ sử dụng cùng tốc độ khung hình như đầu vào trừ khi bạn nói khác đi.
Tốc độ khung hình giống nhau cho đầu vào và đầu ra
Nếu bạn muốn đầu vào và đầu ra có cùng tốc độ khung hình, thì chỉ cần cung cấp tốc độ khung hình đầu vào. Ví dụ này sẽ đặt tốc độ khung hình 30000/1001 (video NTSC):
ffmpeg -framerate 30000/1001 -i input output.mp4
Ngoài ra, trong ví dụ này, bạn có thể sử dụng ntsc
thay vì 30000/1001
, nhưng không sử dụng 29.97
vì điều đó không chính xác hoặc chính xác. Xem các bí danh tốc độ khung hình khác .
Bởi vì tốc độ khung hình đầu vào mặc định là 25 và nếu bạn chỉ đặt tốc độ khung hình đầu ra, thì các khung hình sẽ bị loại bỏ hoặc nhân đôi để bù lại. Đó là lý do tại sao tốc độ khung hình đầu vào được đặt trong tình huống này.
Tốc độ khung hình khác nhau cho đầu vào và đầu ra
Đôi khi bạn có thể muốn tốc độ khung hình đầu vào và tốc độ khung hình đầu ra khác nhau. Ví dụ: bạn có thể muốn nhập các khung ở một tốc độ nhất định, sau đó sao chép hoặc thả các khung để đầu ra có tốc độ khung khác nhau. Bạn có thể muốn làm điều này do vấn đề tương thích với bộ chứa định dạng đầu ra, trình phát và / hoặc thiết bị của bạn:
ffmpeg -framerate 10 -i input -r 25 output.mp4
Trong ví dụ này, các khung sẽ được nhân đôi để đi từ 10 đến 25. Đầu ra của bàn điều khiển sẽ cho bạn biết nếu các khung bị bỏ hoặc trùng lặp.
Trình giải mã tệp hình ảnh sử dụng -framerate
, trong khi tốc độ khung hình đầu ra được đặt bằng cách sử dụng -r
.
Bạn có thể phải thêm -pix_fmt yuv420p
tùy chọn trong một số trường hợp nếu bạn xuất video H.264 ( ffmpeg
đầu ra của bàn điều khiển sẽ cảnh báo bạn nếu bạn cần). Điều này sẽ sử dụng sơ đồ mẫu phụ sắc độ tương thích với tất cả người chơi.