2017-08-02 20 views
6

Tôi đang cố chuyển đổi một video clip (MP4, yuv420p) từ 30 khung hình/giây thành 24 khung hình/giây. Số lượng khung hình chính xác nên đầu ra của tôi sẽ thay đổi từ 20 phút ở 30fps thành 25 phút ở tốc độ 24 khung hình/giây. Mọi thứ khác nên giữ nguyên.Sử dụng ffmpeg để thay đổi tốc độ khung hình

Hãy thử làm mọi thứ tôi thử với ffmpeg sẽ chuyển đổi tốc độ khung hình nhưng thay đổi số lượng khung hình để giữ cùng thời lượng hoặc thay đổi thời lượng mà không thay đổi tốc độ khung hình.

Vì vậy, tôi thường thử những thứ như;

ffmpeg -y -r 30 -i seeing_noaudio.mp4 -r 24 seeing.mp4 

(Tôi đang làm điều này trên cửa sổ nhưng thông thường trên Linux). Điều đó chuyển đổi tốc độ khung hình nhưng giảm khung hình sao cho tổng thời lượng không thay đổi.

Hoặc Tôi đã thử

ffmpeg -y -i seeing_noaudio.mp4 -filter:v "setpts=1.25*PTS" seeing.mp4 

Những thay đổi trong suốt thời gian nhưng không phải là tốc độ khung hình.

Chắc chắn tôi sẽ có thể thực hiện việc này bằng một lệnh ffmpeg đơn lẻ mà không cần phải mã hóa lại hoặc thậm chí là một số người đã đề xuất quay lại khung nguyên bản ban đầu.

Trợ giúp xin vui lòng

Trả lời

10

Với tái mã hóa:

ffmpeg -y -i seeing_noaudio.mp4 -vf "setpts=1.25*PTS" -r 24 seeing.mp4 

Nếu không tái mã hóa:

Bước đầu tiên - chiết xuất video sang raw bitstream

ffmpeg -y -i seeing_noaudio.mp4 -c copy -f h264 seeing_noaudio.h264 

Remux với tốc độ khung hình mới

ffmpeg -y -r 24 -i seeing_noaudio.h264 -c copy seeing.mp4 
+0

Cảm ơn vì điều đó. Việc đầu tiên của những người làm việc nhưng thứ hai đã không trả về một thông báo lỗi dọc theo dòng "Không thể viết tiêu đề cho tập tin đầu ra # 0 (tham số codec không chính xác?): Đối số không hợp lệ". Tôi không biết điều đó có nghĩa là gì nhưng cái đầu tiên làm việc. –

+0

Có vẻ như codec video không phải là H.264. Đó là nó? – Mulvya

Các vấn đề liên quan