การใช้ ffmpeg เพื่อเข้ารหัสวิดีโอ raw ให้เป็นรูปแบบ H.264


10

ใน Ubuntu 10.04 ฉันกำลังพยายามเข้ารหัสวิดีโอดิบ (รูปแบบ YUV) เป็นวิดีโอที่เข้ารหัส H.264 โดยใช้คำสั่ง ffmpeg ด้านล่าง:

ffmpeg -i input.mp4 output.h264

แต่ฉันได้รับข้อผิดพลาดว่า

codec ที่ไม่รองรับสำหรับ output stream # 0.0

จากนั้นเมื่อฉันลองตัวเลือกนี้:

ffmpeg -i input.mp4 -formats h264 output.h264

มันยังคงไม่เข้ารหัส

ตอนนี้ฉันเข้าใจแล้วว่า ffmpeg ใช้ libx264 ในการเข้ารหัสรูปแบบ H.264 ตอนนี้ฉันมีแพ็คเกจ x264 - ตัวเข้ารหัส H.264 ที่รวดเร็วติดตั้งบน Ubuntu นี้

คำถามของฉัน:

  1. มีความสัมพันธ์ใด ๆ ระหว่าง libx264 ซึ่ง ffmpeg ต้องการและโปรแกรม x264 หรือไม่?
  2. ฉันจะติดตั้ง libx264 และทำให้ ffmpeg ใช้สิ่งนี้เพื่อให้ฉันเข้ารหัสวิดีโอในรูปแบบ H.264 ได้อย่างไร

สิ่งที่เกี่ยวกับคำถามก่อนหน้าของคุณไม่ได้แก้ไขที่? การใช้งาน ffmpeg เพื่อเข้ารหัสวิดีโอเป็นรูปแบบ H264 codec
slhck

@slhck - ขอบคุณ แต่เมื่อฉันใช้: - ffmpeg -s 352x240 -i 352x240_420.yuv -vcodec libx264 out.mp4 มันทำให้เกิดข้อผิดพลาด - "ไม่รู้จักตัวเข้ารหัส 'libx264'" พอยน์เตอร์ใด ๆ เพิ่มเติม เป็น libx264 เหมือนกับไลบรารี x264 หรืออย่างอื่น
goldenmean

เกี่ยวกับการรวบรวม ffmpeg และ x264 บน Linux โปรดดูที่นี่: ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide
slhck

คำตอบ:


11

ก่อนอื่นคำสั่งที่คุณใช้ดูไม่ถูกต้องทางไวยากรณ์ เพื่อให้ ffmpeg ใช้ x264 คุณต้องระบุ-c:v libx264อาร์กิวเมนต์

ตอนนี้ถ้าคุณมีไฟล์ YUV แบบ raw คุณต้องบอก ffmpeg ว่ารูปแบบพิกเซลขนาดใด ฯลฯ ที่ใช้:

ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 1920x1080 -r 25 -i input.yuv \
-c:v libx264 output.mp4

เปลี่ยนสิ่งเหล่านี้ตามข้อกำหนดของไฟล์ YUV ของคุณ ดูffmpeg -pix_fmtsรายการรูปแบบพิกเซลที่รองรับ fourcc.orgเป็นทรัพยากรที่ดีเช่นกัน

หากคุณต้องการบิตสตรีม H.264 raw ใน.264ไฟล์:

ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 1920x1080 -r 25 -i input.yuv \
-c:v libx264 -f rawvideo output.264

-1

ffmpeg -f rawvideo -pix_fmt yuv420p -s: v 1920x1080 -r 23.976 -i raw_i420_1920_1080 -vododec libx264 -f rawvideo เอาท์พุท 64

-vcodecบอกตัวแปลงสัญญาณที่ใช้ man ffmpegจะช่วยให้คุณเรียนรู้เพิ่มเติม

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