มีเพียงข้อมูลที่คุณให้ในสิ่งที่ฉันคิดได้
ไปกันเถอะ:
เนื่องจากมีเพียงหนึ่งภาพที่เพิ่มลงในวิดีโอ ฉันสงสัยว่ามีวิธีการลดขนาดวิดีโอเช่นบังคับให้อัตราบิตต่อวินาที = 1 แทน 28 หรือไม่
เนื่องจากเป็นภาพนิ่งจึงไม่จำเป็นต้องเปลี่ยน อยู่เฉยๆ
สิ่งที่คุณกำลังพูดถึงคือเฟรมต่อวินาที (fps)ไม่ใช่บิตเรต และคุณคิดถูก Beign เพียงหนึ่งภาพนิ่ง 1 fps จะไม่เป็นปัญหา
ขนาดเหมาะสมสำหรับ mp4 หรือไม่ ขนาดภาพมีความสำคัญมากหรือไม่?
ในกรณีนี้ขนาดภาพจะไม่ได้มีน้ำหนักมากเพราะเราจัดการกับภาพนิ่งเพียงภาพเดียว หากเป็นวิดีโอคุณภาพสูงแสดงว่าเป็นปัญหาอื่น
ฉันควรปรับขนาด jpg เป็น 1080 * 720 และทำการตั้งค่าเพิ่มเติมใน ffmpeg เพื่อส่งออกเป็น 720p (การตั้งค่า ffmpeg คืออะไร :)
ความละเอียดที่คุณจะพูดคือ 1280x720
ฉันไม่เห็นจุดใน-loop 1
ตัวเลือกที่นี่มันจะช้าลงกระบวนการ คุณใช้-shortest
เพราะไฟล์มีมากกว่า 1 สตรีมเข้าหรือไม่ ถ้าไม่มีก็ไม่มีเหตุผลที่จะใช้ เมื่อคุณใช้-acodec copy
ฉันจะต้องสมมติว่าคุณไม่ต้องการเข้ารหัสอีกครั้ง
สำหรับเอาต์พุตที่ 720p 1fps โดยไม่มีการเข้ารหัสซ้ำและไม่สัมผัสบิตเรต:
ffmpeg -framerate 1 -i input.mp3 -i cover.jpg -c:a copy -s 1280x720 output.mp4
ให้ระบุกรณีที่มีอินพุตมากกว่าหนึ่งสตรีมและคุณต้องการให้ ffmpeg เสร็จสิ้นการเข้ารหัสที่สตรีมที่สั้นที่สุดแล้ว:
ffmpeg -framerate 1 -i input.mp3 -i cover.jpg -c:a copy -s 1280x720 -shortest output.mp4
ตอนนี้ถ้าคุณต้องเปลี่ยนบิตเรต (สมมติว่า 1024k เป็นตัวอย่าง);
ffmpeg -framerate 1 -i input.mp3 -i cover.jpg -c:a copy -b:v 1024k -bufsize 1024k -s 1280x720 output.mp4
โปรดดู: จำกัด บิตเรตเอาต์พุต
-c: a copy = คัดลอกสตรีมเสียงอินพุตดังนั้นเราจึงไม่เข้ารหัสอีกครั้ง
-b: v = บิตเรตที่ระบุเป็นค่าคงที่ (ไม่แม่นยำ)
-bufsize = เป็นช่วงเวลาที่คำนวณบิตเรตเฉลี่ย ความหมายของภาพต่ำสุดที่มีคุณภาพมากขึ้นสูญเสีย แต่บิตเรตที่ถูกต้องมากขึ้นตามที่ระบุไว้ใน-b:วี
-s = ขนาดที่แท้จริงของเอาท์พุทวิดีโอ
-framerate = อัตราเฟรมอินพุตที่เราต้องการให้เอาต์พุตใช้
โปรดทราบว่าหากคุณยังต้องการวิดีโอขนาดเล็กลง ณ จุดหนึ่งคุณจะต้องเสียสละคุณภาพเพื่อให้บรรลุผลนั้น และวิธีอื่น ๆ ที่เกี่ยวข้องกับการเข้ารหัสซ้ำกับการบีบอัดแบบ lossy
จากสิ่งที่คุณพูดข้อมูลที่คุณให้และสิ่งที่คุณพยายามทำฉันคิดว่าดูเหมือนว่าเป้าหมายของคุณคือการฝังปกอัลบั้มเป็น mp3 หากนั่นคือเป้าหมายของคุณสิ่งนี้จะตรงกับความต้องการของคุณดีกว่า:
ffmpeg -i input.mp3 -i cover.jpg -map_metadata 0 -map 0 -map 1 output.mp3
-map_metadata = ตัวระบุเมทาดาทา ffmpeg ไปยังไฟล์เอาต์พุตจาก infile ในกรณีนี้ ( ศูนย์ ) ข้อมูลเมตาส่วนกลาง
-map 0 = อินพุตสตรีม 1 (เสียง)
-map 1 = อินพุตสตรีม 2 (รูปภาพ)
หากไม่มีสิ่งใดตรงกับคำขอของคุณโปรดให้ข้อมูลเพิ่มเติม