แปลงวิดีโอเป็น apng / png หรือไม่ [ปิด]


6

ฉันพยายามทำสิ่งนี้กับ ffmpeg แต่ล้มเหลว (ฉันก็ไม่สามารถสร้าง GIF แบบเคลื่อนไหวได้) มีโปรแกรมฟรีที่ใช้งานง่าย (บรรทัดคำสั่งไม่เป็นไร) ในการแปลงวิดีโอเป็น PNG แบบเคลื่อนไหวหรือไม่?

ตราบใดที่มันไม่ได้ถ่ายเฟรมวิดีโอทีละเฟรมลงในไฟล์ PNG และสร้างขนาดมอนสเตอร์ PNG จากนั้นฉันก็ควรจะชอบ (ฉันไม่เห็นตัวเลือกเพื่อให้ ffmpeg ไม่ถ่ายโอนข้อมูลทุกเฟรม)

ข้อความแสดงแทน

จาก wiki http://en.wikipedia.org/wiki/APNG

คำตอบ:


4

mng ไม่ได้รับการสนับสนุนมากนัก แต่APNG มีการสนับสนุนบางอย่างในวันนี้ (FF / Chrome / Safari) ; มากกว่าWebP (Chrome / โอเปร่า) ตรวจสอบให้แน่ใจว่าได้รับการสนับสนุนจากเบราว์เซอร์สำหรับรูปแบบเพื่อดูว่าสามารถใช้งานได้กับกรณีการใช้งานของคุณหรือไม่ (โปรดทราบว่า APNG กลับไปแสดงเฟรมแรกเหมือน PNG ที่ไม่มีภาพเคลื่อนไหว)

FFmpeg สามารถถอดรหัสและเข้ารหัส png แบบเคลื่อนไหวเช่นเดียวกับ gif แบบเคลื่อนไหวและ webp (ไม่มีรูปแบบเอาต์พุต FFmpeg อื่นสนับสนุนแฟล็กลูปในคอนเทนเนอร์เท่าที่ฉันสามารถบอกได้แม้กระทั่ง nut, mkv หรือ ogg) รุ่นเก่าของ FFmpeg รองรับ apng เป็นรูปแบบเอาต์พุตเท่านั้น (เข้ารหัส แต่ไม่ถอดรหัส)


webpเป็นรูปแบบภาพเคลื่อนไหวที่รองรับภาพเคลื่อนไหวในปัจจุบันที่พยายามรับแรงฉุด ด้วย google ที่อยู่เบื้องหลังมันมีโอกาสที่ดี มันสามารถทำ lossy และ lossless และแม้แต่ lossy-image ด้วย lossless-transparent มันขึ้นอยู่กับเฟรมภายในของตัวแปลงสัญญาณวิดีโอ VPx, IIRC

ffmpeg สามารถสร้างภาพเคลื่อนไหว webp ได้ แต่แม้ ffplay จะไม่สามารถเล่นกลับได้ vwebp (ในแพ็คเกจ webp) ทำได้

ffmpeg -framerate 15 -i b93-'%d.png' -loop 128 containerloop.webp. ( -i foo.mp4หรืออะไรก็ตาม)


ตัวเลือกอื่น ๆ สำหรับการวางลูปซ้ำของภาพบนเว็บเป็นแท็กวิดีโอ HTML5 กับวงแอตทริบิวต์ เหมาะอย่างยิ่งสำหรับความละเอียดที่สูงขึ้นและการดำเนินชีวิต (แทนที่จะเป็นคอมพิวเตอร์กราฟฟิคที่มีพื้นที่จำนวนมากที่มีสีเดียวกันทั้งหมด) อย่าใช้มันทั่วสถานที่แทนที่จะเป็น gif ที่เคลื่อนไหวได้ เว็บเบราว์เซอร์ไม่ได้รับการปรับให้เหมาะกับวิดีโอขนาดเล็กจำนวนมากบนหน้าเว็บ

คุณสามารถสร้างวิดีโอที่มีอัตราการบีบอัดสูงและ / หรือเฟรมต่ำเพื่อให้ได้ลูปสั้นคุณภาพสูงเพียงไม่กี่ร้อย kiB สำหรับไลฟ์แอ็กชันหรือเพียงไม่กี่ kiB สำหรับสิ่งที่ง่ายกว่าโดยใช้โปรแกรมเข้ารหัสคุณภาพสูงเช่น VP9 หรือ x264 (หรืออาจจะในอีกไม่กี่ปีที่ผ่านมาคือ x265 ซึ่งยอดเยี่ยมที่อัตราบิตต่ำมากสำหรับความละเอียดนั่นคือบิตที่ต่ำมากต่อพิกเซล)


2
ฉันคัดลอกบรรทัดคำสั่งนั้นจากคำตอบไปยังคำถามอื่น -loop 0ทำซ้ำตลอดไปดังนั้นมันจะเป็นการใช้งานทั่วไปมากขึ้น
Peter Cordes

ffmpeg รองรับ apng
Ken Sharp

1
@KenSharp: ใช่แล้ว ffmpeg สนับสนุนการเข้ารหัส apng ด้วยเช่นกัน แต่ AFAIK เว็บเบราว์เซอร์ส่วนใหญ่ยังไม่ถอดรหัสดังนั้นจึงยังคงมีการใช้งานที่ จำกัด เป็นทางเลือกแทนรูปแบบวิดีโอจริงเช่น WEBM หรือ MP4 + H264 + AAC หรือ VP9 + Opus
Peter Cordes

คำสั่งเริ่มต้นไม่เป็นความจริงอีกต่อไป APNG ( caniuse.com/#feat=apng ) มีการรองรับที่กว้างกว่า webp ( caniuse.com/#feat=webp ) และนอกจากนี้กลับไปสู่การแสดงเฟรมแรกเมื่อไม่สนับสนุน อย่างไรก็ตามสถานการณ์ยังไม่สมบูรณ์
Albin

4

เรียงลำดับของสิ่งนี้ได้รับการทำมาก่อน (พร้อม GIF) โดยใช้ImageMagick APNG ไม่ใช่รูปแบบไฟล์เป็นทางการ - กลุ่ม PNG ไม่รองรับส่วนขยายนี้ แม้ว่าคุณจะได้รับสิ่งนี้ในการทำงานคุณก็มีแนวโน้มที่จะมีปัญหาในการรอคอย คุณควรพิจารณา gif แบบเคลื่อนไหวยกเว้นว่าคุณมีเหตุผลบางอย่างที่คุณจำเป็นต้องใช้ png

ชำระเงินหน้าในการจัดการวิดีโอ นอกจากนี้ยังจะดูที่นิเมชั่นข้อมูลพื้นฐานเกี่ยวกับและการเพิ่มประสิทธิภาพ

ฉันดูเหมือนจะสามารถแปลง avi เป็น apng โดยตรงบน linux แต่มันล้มเหลวบน windows การทำงานรอบ ๆ บน windows คือการแปลงภาพยนตร์เป็นภาพนิ่ง:

convert test.avi frame%04d.png

ถ้าคุณต้องการใช้ ffmpeg สิ่งนี้จะแยกเฟรมทุกๆ 5 วินาที:

ffmpeg -i test.avi -y -ss 5 -an -r 1/5 frame%03d.png

แล้วทำให้ภาพเคลื่อนไหวโดยใช้apng แก้ไขปลั๊กอิน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.