มีตัวเลือกใดบ้างสำหรับ _losslessly_ ที่ตัดแต่งวิดีโอ mp4 / m4v ที่ 10.8 หรือสูงกว่า


16

ฉันมีวิดีโอ m4v ที่ไม่ต้องใช้ DRM ซึ่งฉันต้องการแก้ไขโดยการเล็มที่นี่และที่นั่น

  • QuickTime X ($ 0)

    • ข้อดี: ฟรีมีอยู่แล้วใน OS X
    • ข้อด้อย: ตัวเลือกเพื่อเลือก 'เริ่ม' และ 'สิ้นสุด' เวลาไม่ใช่เรื่องง่ายมากที่จะใช้เพื่อให้ได้เข้า / ออกที่แม่นยำ
  • iMovie ( $ 15หรือฟรีถ้าคุณซื้อ Mac ล่าสุด)

    • จุดเด่น:ฟรี
    • ข้อด้อย:ไม่สามารถจัดการ mp4 / m4v ได้โดยตรงต้องเข้ารหัสใหม่ [ฉันเชื่อ]
  • QuickTime 7 Pro ( $ 30 )

    • จุดเด่น:สามารถแก้ไขได้อย่างแม่นยำ (กับเฟรม)
    • ข้อด้อย:บันทึกเป็น. mov ไม่ใช่. mp4 / .m4v เท่านั้น
  • SimpleMovieX ( $ 40 )

    • ข้อดี:อ้างว่าสามารถทำสิ่งนี้ได้ (แม้ว่าฉันได้ลองการสาธิตและพบว่า UI แย่มากฉันไม่สามารถตรวจสอบได้ว่ามันใช้งานได้หรือไม่และถ้าเป็นเช่นนั้นหากทำอะไรที่ QuickTime X ไม่สามารถทำได้)
    • ข้อด้อย:ดูเหมือนจะ 'ละทิ้งซอฟต์แวร์' เนื่องจากไม่ได้เห็นการปรับปรุงเล็กน้อยในรอบหนึ่งปีบทวิจารณ์ของ MacUpdateเกือบจะเป็นลบทั้งหมดย้อนกลับไปในปี 2009 รวมถึงการตอบสนองช้าหรือไม่ตอบสนองจากนักพัฒนา

มีตัวเลือกที่ดีอื่น ๆ อีกหรือไม่? ถ้าเป็นเช่นนั้นพวกเขาคืออะไรและอะไรคือข้อดี / ข้อเสียของพวกเขา?

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


ฉันไม่เคยคิดเลยว่าจะทำได้อย่างไร แต่บางครั้ง iMovie จะนำเข้าไฟล์ mp4 / m4v โดยไม่ต้องเข้ารหัสซ้ำ ฉันไม่รู้ว่าจะมีวิธีใดที่จะหาวิธีการตัดสินใจอย่างแม่นยำ แต่อาจขึ้นอยู่กับตัวเลือก H.264 เฉพาะคุณภาพความยาวหรือแม้แต่แทร็กเสียง ... หากคุณสามารถเข้าใจได้ เป็นตัวเลือกที่ดีที่สุด
drfrogsplat

squared5.com/svideo/mpeg-streamclip-mac.htmlเป็นอีกตัวเลือกหนึ่งที่ฉันควรจะรวมไว้ด้วย ถ้าฉันต้องทำโครงการวันนี้นั่นอาจจะเป็นสิ่งที่ฉันจะใช้
TJ Luoma

ตัวแปลงสัญญาณ (H264) คือสิ่งที่สำคัญ ตราบใดที่คุณไม่ได้เข้ารหัส m4v อีกครั้งคุณกำลังแก้ไขมันแบบไม่สูญเสียข้อมูล
njboot

Daniel - วิดีโอตัวอย่าง MP4 ออนไลน์หรือไม่ (ทั้งวิดีโอตัวอย่างจากกล้องเดียวกันหรือคุณสามารถโพสต์ที่นี่ความต้องการของคุณสำหรับสิ่งที่เข้ารหัสเฉพาะเนื้อหา / ตัวแปลงสัญญาณอยู่ในภาชนะ mp4 หรือไม่บางทีวิดีโอจาก iTunes Uจะเทียบเท่า?
bmike

คำตอบ:


12

iMovie (ไม่ lossless แต่ดีกว่าก่อน)

iMovie v10 (เปิดตัวบางครั้งหลังจากที่คำถามถูกถาม) ตอนนี้จัดการประเภทสื่อได้ดีขึ้นดังนั้นหลีกเลี่ยงการเข้ารหัสการนำเข้าอีกครั้งสำหรับเนื้อหา H.264 (mp4, m4v, mov, AVHDC, mts, mt2s) ส่วนใหญ่

อย่างไรก็ตามมันจะยังคงเข้ารหัสอีกครั้งในการส่งออกดังนั้นจึงไม่สามารถสูญเสียทางเทคนิค - คุณลักษณะใหม่อีกอย่างหนึ่งคือความสามารถในการปรับแต่งคุณภาพการส่งออกซึ่งสามารถใกล้เคียงกับการสูญเสียมากขึ้น ฉันสงสัยว่าคำตอบส่วนนี้สามารถใช้ได้กับซอฟต์แวร์ตัดต่อวิดีโอ 'project driven' อื่น ๆ (เช่น Premiere หรือ Final Cut) เพราะฉันคิดว่าพวกเขาทั้งหมดเข้ารหัสอีกครั้งในเอาต์พุต

โดยส่วนตัวแล้วฉันคิดว่าการเข้ารหัสซ้ำครั้งเดียวไม่ใช่ปัญหาใหญ่ แต่เข้าใจว่าคุณได้ขอวิธีแก้ปัญหาแบบไม่สูญเสียโดยเฉพาะดังนั้น ...

Lossless (แต่วิธีซับซ้อนกว่า!)

มีข้อ จำกัด ทางเทคนิคเกี่ยวกับวิธีที่แม่นยำในการตัดวิดีโอโดยไม่ต้องเข้ารหัสใหม่อย่างน้อยบางส่วนของวิดีโอและโดยทั่วไปจะขึ้นอยู่กับความถี่ของ i-frame หากทุกเฟรมเป็น i-frame คุณสามารถตัดได้ทุกที่ แต่ถ้าอยู่เพียงไม่กี่วินาทีคุณก็สามารถตัด loss ที่ i-frames เหล่านั้นได้โดยไม่สูญเสียเนื้อหาหรือต้องเข้ารหัสใหม่ (อย่างน้อยส่วนหนึ่งของ สตรีม) เพื่อให้สามารถเริ่มต้นด้วย i-frame

ffmpeg

คำถาม & คำตอบนี้ทำให้เกิดคำถามว่าจะตัดระหว่าง i-frames โดยffmpegเฉพาะอย่างไร ฉันไม่รู้แอพ GUI ใด ๆ ที่จะทำเช่นนี้ แต่โดยทั่วไปคุณเรียกใช้คำสั่งบางอย่างดังนี้:

ffmpeg -i input.m4v -vcodec copy -acodec copy -ss 00:01:20.000 -t 00:37:50.000 output.m4v

สองครั้งที่ระบุคือเริ่มต้นและระยะเวลาและสามารถระบุเป็นวินาทีหรือhh:mm:ss.ssและ-acodec copyและ-vcodec copyบอกให้ ffmpeg ไม่เข้ารหัสอีกครั้ง

ฉันไม่แน่ใจว่าจะเกิดอะไรขึ้นถ้าคุณตัดเร็วเกินไป แต่ฉันคิดว่าวิดีโอนั้นว่างเปล่า (หรืออาจเสียหายขึ้นอยู่กับผู้เล่น) จนกว่าจะพบ i-frame ดังนั้นคุณอาจต้องการหา i-frame ที่ใกล้ที่สุดก่อนที่คุณจะตัด คำตอบนี้แก้ปัญหาที่ใช้ffprobeและawkแม้จะเล็กน้อยเชื่องช้า โดยพื้นฐานแล้วคุณใช้ffprobeในการสแกนเฟรมและค้นหาคีย์เฟรมที่ใกล้ที่สุด ( flags=K) ก่อนจุดตัดในอุดมคติของคุณ เอาต์พุตเต็มสำหรับแต่ละเฟรมของวิดีโอสามารถเห็นได้ดังนี้:

ffprobe -select_streams v -show_frames <INPUT>

คำตอบที่เชื่อมโยงระบุคำสั่งนี้เพื่อค้นหาคีย์เฟรมก่อนเวลาที่กำหนด:

ffprobe -select_streams v -show_frames -v quiet INPUT.mp4 | 
awk -F= ' 
  /pict_type=/ { if (index($2, "I")) { i=1; } else { i=0; } } 
  /pkt_pts_time/ { if (i && ($2 >= 150)) print $2; }  
' | head -n 1

และในที่สุดหากคุณต้องการตัดที่ใดที่หนึ่งระหว่างสองเฟรม i คุณสามารถแยกวิดีโอและเข้าร่วมอีกครั้ง จากข้อมูลจากคำตอบนี้ควรเป็นดังนี้:

ffmpeg -f concat -i list_of_videos.txt -c copy OUTPUT.mp4

ไหนlist_of_videos.txtเป็นไฟล์ข้อความที่เรียบง่ายรายชื่อไฟล์ที่คุณต้องการ concatenate

สรุป

iMovie น่าจะดีพอสำหรับกรณีส่วนใหญ่ (ตั้งแต่ v10) และง่ายมาก

ffmpeg สามารถทำมันแบบ lossless (หรือใกล้เคียงกับ lossless มาก) ด้วยการเล่นซอ ระดับความยากนั้นขึ้นอยู่กับว่าคุณจู้จี้จุกจิกเกี่ยวกับจุดเริ่มต้นที่แม่นยำและความถี่ของ i-frames อย่างไร


1
ฉันกังวลมากที่สุดเกี่ยวกับเวลาที่เกี่ยวข้องกับการเข้ารหัสซ้ำ (วิดีโอเหล่านี้มีความยาวหลายชั่วโมงที่ฉันใช้เวลาไม่กี่นาที) แต่ ffmpeg ดูเหมือนจะเป็นสัญญา!
Daniel

อาโอเคสำหรับวิดีโอขนาดยาวมีแนวโน้มที่สมเหตุสมผล (ขึ้นอยู่กับแหล่งที่มาเข้ารหัสทั้งหมด) ซึ่ง i-frames จะแยกกันมากถึง 10 วินาทีดังนั้นอาจเป็นปัญหาหากคุณต้องการตัดให้ละเอียดยิ่งขึ้น การแยกการเข้ารหัส <10s แรกและการต่อข้อมูลใหม่อีกครั้งควรใช้งานได้ แต่จะไม่สนุกที่จะทำซ้ำหลายครั้ง
drfrogsplat

8

ฉันสร้างเครื่องมือกราฟิกที่ใช้ ffmpeg เพื่อให้คุณตัดวิดีโอได้อย่างไม่สูญเสียโดยการเลือกจุดเริ่มต้นและจุดสิ้นสุดในไทม์ไลน์: https://github.com/mifi/lossless-cut

มันเป็นโอเพ่นซอร์สและข้ามแพลตฟอร์ม


1
นี่เป็นเครื่องมือที่ดีและช่วยลดความยุ่งยากในการใช้ ffmpeg ในการแก้ไขวิดีโอ กราฟิก UI ช่วยได้มาก แนะนำเป็นอย่างยิ่ง
John Mark Mitchell

เครื่องมือสุดยอดเยี่ยมที่ใช้งานง่าย @Mikael ขอบคุณที่ทำให้มัน!
Michael Zlatkovsky - Microsoft

ไม่สามารถใช้งานกับวิดีโอ MP4 MP4 ขนาด 10 บิตได้อย่างน่าเสียดาย
Mattis

7

Quicktime 7 Pro ( $ 30 )

เปิดวิดีโอของคุณ หากคุณต้องการดูหมายเลขเฟรมที่แน่นอน: ที่ด้านล่างซ้ายให้คลิกที่ตัวจับเวลาเพื่อสลับไปที่จอแสดงผล "หมายเลขเฟรม"

lowerleft

เลือกจุดเริ่มต้น (พิมพ์ฉันเมื่อคุณมี) และจุดสิ้นสุด (ชนิดoเมื่อคุณมี)
เลือก
ย้ายทีละเฟรมด้วยปุ่มลูกศร; หรือลากที่จับเล็ก ๆ ที่ด้านล่าง (ที่นี่เราเห็นจุดสิ้นสุดอยู่ที่เฟรม 1330)

ในเมนูแก้ไขเลือก "ลบ" เพื่อกำจัดส่วนที่เลือกหรือเลือก "ตัด" เพื่อกำจัดส่วนอื่น ๆ
พืชผล

แม้ว่า Quicktime 7 จะบันทึกในรูปแบบ MOOV เท่านั้น แต่จะส่งออกในหลายรูปแบบ ส่งออกเป็น MPEG-4 (ตัวอย่าง) และหลีกเลี่ยงการเข้ารหัสซ้ำโดยเลือกตัวเลือก "ส่งผ่าน"

ตัวเลือก


คำตอบนี้เป็นส่วนหนึ่งของคำถาม แต่ไม่ใช่วิธีการใช้โปรแกรมเพื่อตัดแต่งวิดีโอ
Daniel

ตกลงฉันคิดว่า OP เข้าใจส่วนที่เหลือ แต่ฉันจะใส่มันลงไป
GEdgar

บรรณาธิการ: Quicktime X ดีเท่า Quicktime 7 หรือยัง ฉันไม่ได้ใช้ Quicktime X มานานหลายปี
GEdgar

ฉันเพิ่งพบเจอกับความต้องการเดียวกันและพบว่า QT7 นั้นเป็นวิธีที่ง่ายที่สุดและเร็วที่สุดในการแก้ปัญหา apple.stackexchange.com/a/298690/24706
Jonathan van Clute

น่าเสียดายที่ QT7 (และแอป 32 บิตอื่น ๆ ทั้งหมด) จะหยุดทำงานใน MacOS Catalina
GEdgar

2

Final Cut Pro X ($ 299.99) นี่เป็นหนึ่งในซอฟต์แวร์ตัดต่อวิดีโอที่ดีที่สุดสำหรับ mac ด้วยการแก้ไขคุณภาพระดับมืออาชีพคุณสามารถส่งออกไฟล์ในรูปแบบที่สูงขึ้นต่ำลงหรือในรูปแบบเดียวกับก่อนหน้านี้ ในการใช้เครื่องมือแก้ไขคุณสามารถใช้เครื่องมือใบมีดในเครื่องมือแก้ไขที่ไม่ใช่แบบเชิงเส้นเพื่อตัดบางส่วนของวิดีโอหรือเปลี่ยน 2.1 รอบเสียงเป็น 5.1 นอกจากนี้ยังมีไทม์ไลน์หลายรูปแบบ

DaVinci Resolve 11 - ซอฟต์แวร์นี้มีสามรุ่น DaVinci Resolve Lite ($ 0) ซอฟต์แวร์ Davinci Resolve ($ 995) หรือ Davinci Resolve ($ 29,995) ซอฟต์แวร์นี้เป็นซอฟต์แวร์ที่ดีที่สุดในปัจจุบัน DaVinci Resolve ซึ่งเป็นที่รู้จักในด้านความสามารถในการแก้ไขสีมีหลายรูปแบบมีความสามารถในการเปลี่ยนถ่ายภาพการกดคีย์ปลั๊กอินที่ยอดเยี่ยมคุณสมบัติการทำงานร่วมกันและความสามารถในการเปลี่ยนจาก mac เป็น Windows นอกจากนี้ยังจะช่วยให้คุณสามารถอัพเกรดเสียงเซอร์ราวด์ของคุณและอนุญาตให้ทำการกำหนดกรอบใหม่และไม่สร้างสื่อพรอกซี่ สำหรับการแก้ไขที่แม่นยำและสำหรับวิดีโอที่ไม่ใช่ 3d รุ่น lite นั้นเหมาะสำหรับคุณ แนะนำให้ใช้ RAM 8GB

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


1

แอปLosslessCutดูมีแนวโน้มมาก

https://github.com/mifi/lossless-cut

เครื่องมือข้ามแพลตฟอร์มที่ง่ายและรวดเร็วเป็นพิเศษสำหรับการตัด / ตัดไฟล์วิดีโอและเสียงแบบไม่สูญเสีย ยอดเยี่ยมสำหรับการประหยัดพื้นที่โดยการตัดไฟล์วิดีโอขนาดใหญ่ของคุณที่ถ่ายจากกล้องวิดีโอ GoPro, โดรนและอื่น ๆ ซึ่งช่วยให้คุณสามารถแยกส่วนที่ดีออกจากวิดีโอของคุณและทิ้งข้อมูลจำนวนกิกะไบต์โดยไม่ต้องเข้ารหัสช้าอีกครั้ง คุณภาพ. มันเร็วมากเพราะมันทำสำเนาข้อมูลโดยตรง มันเป็นเชื้อเพลิงจาก ffmpeg ที่ยอดเยี่ยม (รวมอยู่ด้วย) สำหรับการทำงานที่ทำเสียงฮึดฮัด นอกจากนี้ยังมีการดำเนินการแบบไม่สูญเสียอื่น ๆ ในวิดีโอ

ในภาพหน้าจอฉันได้เลือกการตัดแต่ง 3 ส่วน เมื่อฉันกดEแต่ละส่วนจะถูกหั่นและบันทึกลงในไฟล์วิดีโอของตัวเอง นี่เป็นขั้นตอนการทำงานที่ดีมาก

เร็วมากและมีการปรับปรุงเวิร์กโฟลว์ขนาดใหญ่กว่าเครื่องมืออื่น ๆ แต่ UI / การใช้งานสามารถใช้งานบางอย่างได้ เครื่องมือข้ามแพลตฟอร์ม ฉันหวังว่ามันเป็น Mac-native

ป้อนคำอธิบายรูปภาพที่นี่


0

คุณควรสลับระหว่างเฟรมใน Quicktime Pro ด้วยปุ่มลูกศร แน่นอนว่าไม่ใช่เรื่องง่ายเหมือนกับการใช้ Avid, Final Cut, Premiere และอื่น ๆ แต่ทำได้ คุณสามารถทำให้ Marks ของคุณเคลื่อนไหวด้วยปุ่มลูกศรได้เช่นกัน

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