แปลงไฟล์วิดีโอ MOV ที่เข้ารหัสเป็น `qtrle 'ใน Windows โดยใช้ FFMPEG


0

ฉันดาวน์โหลดFFMPEGล่าสุดสำหรับ Windows (เวอร์ชัน 3.2.4)

ฉันต้องการใช้สำหรับแปลงไฟล์ MOV ซึ่งมีqtrleวิดีโอที่ไม่มีการบีบอัด

วิดีโอที่สามารถดาวน์โหลดได้ที่ลิงค์นี้ - https://www.sendspace.com/file/qjjkhj

ฉันสามารถดูวิดีโอใน VLC Media Player ได้ แต่เมื่อฉันลองแปลงเป็น VLC ในรูปแบบวิดีโอใด ๆ ผลลัพธ์จะเป็นไฟล์วิดีโอที่ไม่ถูกต้อง

ฉันยังพยายามใช้ FFMPEG ใช้คำสั่งดังต่อไปนี้ ffmpeg -i DL126H.mov -c:v copy VideoClip0002.mp4- แต่ผลที่ได้: qtrle[mp4 @ 00000000026744e0] Could not find tag for codecin stream #0, codec not currently supported in container Could not write header for output file #0 (incorrect codec parameters ?): Invalid argumentStream mapping:

ฉันยังลองต่อไปนี้ - ffmpeg -i DL126H.mov -c:v mpeg2video -b 16M out.mpgแต่ผลลัพธ์เช่นเดียวกับในกรณีของ VLC คือไฟล์วิดีโอที่ไม่ถูกต้อง

ดังนั้นฉันต้องการความช่วยเหลือด้วย:

  1. แปลงเป็นรูปแบบที่ใช้ง่ายกับ Windows (มีคุณภาพสูง)?
  2. เปลี่ยนคอนเทนเนอร์เป็นรูปแบบที่ใช้งานได้ใน Windows (โดยไม่มีการเข้ารหัส)
  3. แปลงเป็น MPEG2 ที่ถูกต้อง ( .mpg) ด้วยอัตราบิตสูง

ขอบคุณ.


คำตอบ:


3

ไวยากรณ์เป็นเพียง

ffmpeg -i DL126H.mov -pix_fmt yuv420p VideoClip0002.mp4

สิ่งนี้จะเข้ารหัสโดยใช้พารามิเตอร์เริ่มต้นเช่นใช้ libx264 ที่ CRF 23 และ AAC ที่ 128 kbps

หากต้องการใช้พารามิเตอร์ที่กำหนดเองเช่นคุณภาพวิดีโอที่ดีกว่าให้ใช้

ffmpeg -i DL126H.mov -crf 18 -pix_fmt yuv420p VideoClip0002.mp4

วิธีนี้จะรักษาคุณภาพของแหล่งที่มาได้มากกว่า แต่จะเป็นไฟล์ที่ใหญ่

ในกรณีของ FFmpeg บิลด์ 'release' จะไม่เป็นเวอร์ชั่นล่าสุด ไปเพื่อสร้าง / night snapshot / git ทุกครั้ง


หากคุณต้องการเข้ารหัสเป็น MPEG-2 ให้ใช้

ffmpeg -i DL126H.mov -c:v mpeg2video -b:v 16M -bufsize 30M -maxrate 30M -pix_fmt yuv420p VideoClip0002.mp4

ข้อมูลจำเพาะ MPEG-2 ได้รับการออกแบบในช่วงวันวิดีโอ SD และค่าเริ่มต้นไม่เหมาะสำหรับวิดีโอ HD ดังนั้นสองของพวกเขาจะต้องถูกแทนที่ด้วยตนเอง ผลลัพธ์เล่นกับฉันใน WMP12


คุณช่วยอธิบายสิ่งที่คุณทำไปได้ไหม ถ้าฉันต้องการเข้ารหัสเป็น MPEG2 แล้วแค่เปลี่ยนคอนเทนเนอร์เป็น MP4 ล่ะ?
Royi

1
FFmpeg ไม่รองรับการเขียนqtrleลงใน MP4 ดังนั้นจึงเป็นไปไม่ได้ คำสั่งแรกของฉัน (ของแบบฟอร์มffmpeg -i input output) แปลงอินพุตเป็นเอาต์พุตโดยใช้ตัวเลือกเริ่มต้นของตัวแปลงสัญญาณและพารามิเตอร์การแปลง ฉันได้เพิ่ม-pix_fmt yuv420pเนื่องจากเป็นรูปแบบพิกเซลที่รองรับโดยเครื่องเล่นเว็บเท่านั้นและ qtrle คือ RGB ซึ่ง ffmpeg จะใช้ค่าเริ่มต้นเป็น yuv444p สำหรับเอาต์พุต สามารถเล่นได้ในผู้เล่นบางคนเท่านั้น การเข้ารหัสเพื่อ MPEG-2, ใช้คำสั่งของคุณ pix_fmtแต่เพิ่ม
Gyan

ฉันลองpix_fmtด้วยคำสั่งและวิดีโอเอาต์พุตไม่ถูกต้อง (MPEG2) MPEG2 อาจต้องการรูปแบบพิกเซลที่ต่างกันหรือไม่ รูปแบบพิกเซลเริ่มต้นสำหรับ MPEG2 คืออะไร ขอบคุณ.
Royi

เหมือน. ดูคำตอบการแก้ไข
Gyan

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