Kết hợp nhiều tệp .bmp thành tệp .mp4 với ffmpeg

Aug 17 2020

Tôi muốn kết hợp tất cả các tệp .bmp này thành một movie.mp4. Tôi đang sử dụng ffmpeg .

Lệnh này tạo ra một đoạn phim chỉ 0,04 giây:

$ ffmpeg -i f%05d.bmp -c:v libx264 -r 30 -pix_fmt yuv420p movie.mp4

Nó sẽ chọn tất cả các tập tin không? Tôi không biết mình đang làm gì sai và không thể tìm ra giải pháp.

Lệnh này tôi đã thử từ đây cho biết nó không thể tìm thấy tệp có đường dẫn 'f% 05d.bmp' mặc dù lệnh trên có thể?

$ ffmpeg -r 60 -f image2 -s 1920x1080 -start_number 1 -i f%05d.bmp -vframes 1759 -vcodec libx264 -crf 25  -pix_fmt yuv420p test.mp4

Trả lời

2 Borek Aug 17 2020 at 02:47

Tôi nghĩ rằng các tệp nên có các số liên tiếp, nếu không chúng được xử lý riêng biệt (do đó bạn nhận được một bộ phim 0,04 giây - chỉ một khung hình). Vài ngày trước, tôi cần một cái gì đó tương tự (mặc dù không phải cho ffmpeg nhưng để nhập tệp vào DaVinci Resolve) và tôi đã viết một tập lệnh python đơn giản:

import os

filename="whatever{0:05d}.png"
destno = 1

for i in range(0, 10000):
   src = filename.format(i)
   if os.path.isfile(src):
      dst=filename.format(destno)
      destno+=1
      os.rename(src, dst)
      print "renamed {0:s} to {1:s}".format(src, dst)

Lousy, nhưng hiệu quả.

WasifHasan Aug 17 2020 at 00:02

Có thể bạn có thể thay đổi hình cầu để lấy tất cả các tệp .bmp:

ffmpeg -r 60 -f image2 -s 1920x1080 -start_number 1 -i %*.bmp -vframes 1759 -vcodec libx264 -crf 25  -pix_fmt yuv420p test.mp4