วิธีแปลง avi (xvid) เป็น mkv หรือ mp4 (h264)


19

noob มากเมื่อมันมาถึงวิดีโอ ฉันพยายามทำความเข้าใจกับสิ่งที่ฉันค้นพบผ่าน Google ... แต่ส่วนใหญ่เป็นภาษากรีกสำหรับฉัน

ฉันมีไฟล์ Avi มากมายที่จะไม่เล่นในกล่อง WD TV Play ของฉัน Mediainfo บอกฉันว่าพวกเขาเป็น xvid รายละเอียดสำหรับการแสดงกล่องที่ควรจะดี ... แต่ขุดผ่านฟอรั่มพูดว่าตีแล้วพลาด ดังนั้นฉันต้องการลองแปลงเป็นไฟล์ MKV หรือ MP4 ที่เข้ารหัส h264

ฉันรวบรวม avconv เป็นเครื่องมือ แต่การอ่านคู่มือนั้นทำให้ฉันสับสนจริงๆ

ฉันลองตัวอย่างพื้นฐานของ:

avconv -i file.avi -c copy file.mp4

ใช้เวลาน้อยกว่า 4 วินาที และมันก็ใช้งานได้ ... มัน "เล่น" ในสิ่งที่เกิดขึ้นบนหน้าจอ ... แต่มีสิ่งประดิษฐ์ที่น่ากลัวและฉากก็จะละลายลงในแต่ละอื่น ๆ ฉันต้องการรักษาคุณภาพถ้าเป็นไปได้

ฉันไม่กังวลเกี่ยวกับขนาดไฟล์ ฉันไม่ได้กังวลอย่างมากกับเวลาที่ใช้อย่างใดอย่างหนึ่งหากฉันสามารถทำได้เป็นชุด

คนที่คุ้นเคยกับกระบวนการนี้โปรดให้คำสั่งกับตัวเลือกได้หรือไม่

ขอขอบคุณสำหรับความช่วยเหลือของคุณ.

ฉันกำลังโพสต์สื่อกลางในกรณีที่มันช่วย:

General
Complete name                            : \\SERVER\Video\Public\test.avi
Format                                   : AVI
Format/Info                              : Audio Video Interleave
File size                                : 189 MiB
Duration                                 : 11mn 18s
Overall bit rate                         : 2 335 Kbps
Writing application                      : Lavf52.32.0

Video
ID                                       : 0
Format                                   : MPEG-4 Visual
Format profile                           : Advanced Simple@L5
Format settings, BVOP                    : 2
Format settings, QPel                    : No
Format settings, GMC                     : No warppoints
Format settings, Matrix                  : Default (H.263)
Muxing mode                              : Packed bitstream
Codec ID                                 : XVID
Codec ID/Hint                            : XviD
Duration                                 : 11mn 18s
Bit rate                                 : 2 129 Kbps
Width                                    : 720 pixels
Height                                   : 480 pixels
Display aspect ratio                     : 16:9
Frame rate                               : 29.970 fps
Standard                                 : NTSC
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Compression mode                         : Lossy
Bits/(Pixel*Frame)                       : 0.206
Stream size                              : 172 MiB (91%)
Writing library                          : XviD 1.2.1 (UTC 2008-12-04)

Audio
ID                                       : 1
Format                                   : MPEG Audio
Format version                           : Version 1
Format profile                           : Layer 3
Mode                                     : Joint stereo
Mode extension                           : MS Stereo
Codec ID                                 : 55
Codec ID/Hint                            : MP3
Duration                                 : 11mn 18s
Bit rate mode                            : Constant
Bit rate                                 : 192 Kbps
Channel(s)                               : 2 channels
Sampling rate                            : 48.0 KHz
Compression mode                         : Lossy
Stream size                              : 15.5 MiB (8%)
Alignment                                : Aligned on interleaves
Interleave, duration                     : 24 ms (0.72 video frame)

คุณควรพิจารณาที่จะไม่เข้ารหัสจากตัวแปลงสัญญาณที่สูญหายหนึ่งไปยังอีก ในกรณีที่วิดีโอของคุณอยู่ในตัวแปลงสัญญาณ Xvid ให้ทำการรีมิกซ์ลงในคอนเทนเนอร์ Matroska
v010dya

คำตอบ:


44

คำสั่งมาตรฐานจากhttp://manpages.ubuntu.com/manpages/precise/man1/avconv.1.htmlแสดงคำสั่งนี้:

avconv -i test.avi -c:v libx264 -c:a copy outputfile.mp4

นี่จะเข้ารหัสวิดีโอของคุณอีกครั้งเป็น h264 (= AVC) และทำให้เสียงของคุณไม่เปลี่ยนแปลงซึ่งเป็น mp3 และถูกกฎหมายตามมาตรฐานอย่างสมบูรณ์

ตัวเลือกอื่น ๆ ที่ควรพิจารณาด้วย commandline นี้คือ:

  • ปรับแต่งคุณภาพของวิดีโอที่ส่งออกโดยใช้-bพารามิเตอร์ (บิตเรต) หรือใช้อัตราคงที่ (CRF) กับสิ่งที่ชอบ-crf 22
  • ใช้การตั้งค่าล่วงหน้า libx264 เช่น-preset veryslowวิดีโอที่ได้รับการปรับปรุง

หากคุณใช้ตัวเลือกเหล่านี้ควรวางตัว-c:v libx264เลือกหลังจากตัวเลือก ...

คุณอาจดูโปรแกรม GUI winffและavidemuxสิ่งที่จะทำให้สิ่งที่ซับซ้อนน้อยลง (ยังhandbrakeเป็นสิ่งที่ดี แต่ฉันไม่เคยตกลงกับมัน)


ฮา! ฉันไม่รู้ว่าคุณมองมาที่ฮอบเบล - เดอ - กุกของ manpage และดึงบรรทัดนั้นออกมาเป็น "คำสั่งมาตรฐาน" ที่เห็นได้ชัด ... แต่ฉันขอบคุณที่คุณทำ! มันได้ผล ฉันรู้สึกทราบซึ้ง.
bcsteeve

ขอบคุณที่พูดถึง Handbrake - ฉันมีมันและลืมไปเลย ฉันเปิดท้ายค้นหาโฟลเดอร์ภาพยนตร์ของฉัน slurped วิดีโอทั้งหมดใน enqueued พวกเขาทั้งหมดและกด "Encode"!
scorpiodawg

สำหรับเสียง AAC อุปกรณ์จำนวนมากอาจมีตัวถอดรหัสฮาร์ดแวร์เพื่อให้เป็น MP3 ไม่จำเป็นต้องดีกว่า
ccpizza

4

ในกรณีที่คุณกำลังมองหากราฟิกคุณสามารถลองใช้แพ็คเกจ mkvtoolnix-gui จริง ๆ แล้วมันขึ้นอยู่กับอรรถประโยชน์บรรทัดคำสั่ง แต่มันจะดำเนินการคำสั่งพร้อมกับตัวเลือกที่จำเป็นทั้งหมดสำหรับคุณ

mkvmerge gui 1

สิ่งแรกที่คุณต้องทำคือเพิ่มไฟล์ที่มีสตรีมที่จำเป็นทั้งหมด คุณทำเช่นนั้น (ชัด) โดยการกดปุ่มเพิ่มและเลือกไฟล์หรือโดยการลากไฟล์ของคุณลงในพื้นที่ "ไฟล์อินพุต" คุณไม่ควรใช้ปุ่มต่อท้ายยกเว้นว่าคุณต้องการวางเนื้อหาของไฟล์หนึ่งไฟล์หลังจากเนื้อหาของไฟล์อื่น (ทำให้ระยะเวลาไฟล์สุดท้ายเป็นผลรวมของไฟล์ที่ต่อท้ายทั้งหมด)

เนื่องจากคุณกำลังบอกว่าคุณวางแผนที่จะแปลง.aviไฟล์คุณควรเพิ่มไฟล์ทีละไฟล์ โปรดทราบว่าไฟล์แรกที่คุณจะเพิ่มโดยอัตโนมัติจะตั้งชื่อของไฟล์ที่ส่งออกก็จะตรงกับชื่อใส่ .mkvแต่ส่วนขยายจะมีการเปลี่ยนแปลงไป แน่นอนคุณสามารถเปลี่ยนแปลงได้หากคุณต้องการ

หลังจากที่คุณเพิ่มบางสิ่งคุณจะสามารถเปลี่ยนพารามิเตอร์ของสตรีมได้ (เช่นภาษาที่กำหนดไม่ว่าแทร็กจะเป็น "เปิด" ตามค่าเริ่มต้นหรือไม่และผู้ใช้สามารถเลือกที่จะปิดการใช้งานสตรีมนี้ด้วยกันได้ไหม

คุณสามารถตั้งชื่อให้กับสตรีมได้ ฉันขอแนะนำว่าถ้าคุณมีวิดีโอหลายเสียงที่คุณใช้พร้อมกับภาษา ตัวอย่างเช่นคุณสามารถมี "ต้นฉบับ" หรือ "พากย์เสียงเดียว" หรือ "ความเห็นของผู้กำกับ" สำหรับชื่อแทร็ก ผู้เล่นหลายคนจะแสดงสิ่งเหล่านี้เมื่อคุณเลือกสตรีมที่จะเล่นและมันมีประโยชน์มาก อย่างไรก็ตามอย่าพยายามทำซ้ำข้อมูลที่นั่น ไม่มีเหตุผลที่จะเขียน "ภาษาอังกฤษ" เมื่อคุณสามารถตั้งรหัสภาษาของแทร็กได้

นอกจากนี้ยังมีตัวเลือกเฉพาะบางอย่างซึ่งจะขึ้นอยู่กับสตรีมที่คุณกำลังทำงาน

mkvmerge gui 2

บางครั้งคุณอาจต้องการเพิ่มไฟล์แนบในไฟล์ของคุณ หากคุณเพิ่มรูปภาพตัวจัดการไฟล์จำนวนมากจะแสดงรูปภาพนี้เป็นไอคอนสำหรับไฟล์วิดีโอสุดท้าย หากคุณ muxing ภาพยนตร์บางประเภทและคุณมีปกสำหรับมันก็อาจจะเป็นทางเลือกที่ดีที่จะใส่ไว้ในสิ่งที่แนบมา

mkvmerge gui 3

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

คุณยังสามารถเพิ่มข้อมูลบทได้ Mkvmerge สามารถอ่านไฟล์บท ogm เช่นเดียวกับบท xml นอกจากนี้ยังช่วยให้คุณสามารถแก้ไขไฟล์บทได้ แต่โปรดจำไว้ว่าแท็บนี้ทำหน้าที่เป็นแอปพลิเคชันแยกต่างหากดังนั้นคุณจะไม่ต้องแก้ไขบทที่เพิ่มลงในไฟล์เอาต์พุตของคุณคุณจะต้องบันทึกไว้ในแท็บนั้นแล้ว เพิ่มเป็นอินพุตสำหรับไฟล์ที่คุณกำลัง muxing

คุณลักษณะที่น่าสนใจของ mkvmerge gui คือ "คัดลอกไปยังคลิปบอร์ด" ซึ่งคัดลอกคำสั่งเทอร์มินัลที่แน่นอนว่าแอปพลิเคชันกำลังวางแผนที่จะทำงาน หากคุณตั้งใจจะรวมหลายไฟล์คุณสามารถตั้งค่าได้ตามวิธีที่คุณชอบจากนั้นคัดลอกคำสั่งไปยังคลิปบอร์ดและสร้างสคริปต์ทุบตีที่ทำทุกไฟล์ที่คุณต้องการในคราวเดียว


คุณเริ่มได้อย่างไร
uvasal

1
mmg คือคำตอบ
uvasal

2

Avidemux เป็นโปรแกรมตัดต่อวิดีโอฟรีที่ออกแบบมาสำหรับการตัดการกรองและการเข้ารหัสอย่างง่าย รองรับไฟล์หลายประเภทรวมถึง AVI, ไฟล์ MPEG ที่ใช้งานร่วมกับ DVD, MP4 และ ASF โดยใช้ตัวแปลงสัญญาณที่หลากหลาย งานสามารถทำงานอัตโนมัติโดยใช้โครงการ, คิวงานและความสามารถในการเขียนสคริปต์ที่มีประสิทธิภาพ Avidemux พร้อมใช้งานสำหรับ Ubuntu

sudo apt-get update
sudo apt-get install avidemux



0

ฉันใช้สองคำสั่งต่อไปนี้เพื่อแปลงไฟล์ AVI เป็นไฟล์ MP4 ที่จะสตรีมอย่างเหมาะสมจาก WD My Cloud Mirror ของฉัน:

ffmpeg -i infile.AVI -strict -2 -profile:v baseline -pix_fmt yuv420p temp.mp4
MP4Box -mpeg4 -brand mp42:0 -add temp.mp4#video:name= -add temp.mp4#audio:name= -new outfile.mp4

ffmpegแปลงไฟล์ AVI เป็น MP4 โดยเปลี่ยนโปรไฟล์วิดีโอและรูปแบบพิกเซลเพื่อให้สอดคล้องกับค่าที่ยอมรับกันอย่างแพร่หลาย MP4Boxบรรจุกระแสข้อมูลลงใน MP4 สุดท้ายอีกครั้งและเพิ่มข้อมูลเมตามาตรฐาน


-strict -2ไม่จำเป็นต้องเข้ารหัสเสียง AAC เว้นแต่คุณffmpegจะแก่มาก คุณอาจจะสามารถที่จะข้ามMP4Boxถ้าคุณเพิ่มตัวเลือกในการส่งออก-movflags +faststart ffmpeg
llogan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.