การรวมไฟล์. bmp หลาย ๆ ไฟล์เป็นไฟล์. mp4 ด้วย ffmpeg

Aug 17 2020

ฉันต้องการที่จะรวมไฟล์ .bmp ทั้งหมดเหล่านี้เป็นหนึ่ง movie.mp4.I กำลังใช้ffmpeg

คำสั่งนี้สร้างภาพเคลื่อนไหวเพียง 0.04 วินาที:

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

มันควรจะเลือกไฟล์ทั้งหมดหรือไม่? ฉันไม่รู้ว่าฉันทำอะไรผิดและหาทางออกไม่ได้

คำสั่งนี้ฉันลองจากที่นี่บอกว่าไม่พบไฟล์ที่มีเส้นทาง 'f% 05d.bmp' แม้ว่าคำสั่งด้านบนสามารถ?

$ 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

คำตอบ

2 Borek Aug 17 2020 at 02:47

ฉันคิดว่าไฟล์ควรมีหมายเลขติดต่อกันมิฉะนั้นจะได้รับการปฏิบัติแยกกัน (ดังนั้นคุณจะได้ภาพยนตร์ 0.04 วินาที - เพียงเฟรมเดียว) ไม่กี่วันที่ผ่านมาฉันต้องการสิ่งที่คล้ายกัน (แม้ว่าจะไม่ใช่สำหรับ ffmpeg แต่เพื่อนำเข้าไฟล์ไปยัง DaVinci Resolve) และฉันก็เขียนสคริปต์ python ง่ายๆ:

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)

หมัด แต่ใช้งานได้

WasifHasan Aug 17 2020 at 00:02

บางทีคุณอาจเปลี่ยน globbing เพื่อรับไฟล์. bmp ทั้งหมด:

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