ฉันจะครอบตัดไฟล์วิดีโอ MP4 ได้อย่างไร


17

ฉันกำลังมองหา app ที่จะช่วยให้ผมสับบิตออกเริ่มต้นและสิ้นสุดของไฟล์ mp4 อย่างมีประสิทธิภาพและ losslessly

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

โดย mp4 ฉันหมายถึงวิดีโอ H264 + เสียง AAC ในคอนเทนเนอร์ MP4

ก่อน h264 วัน Avidemux เป็นเครื่องมือที่ยอดเยี่ยมสำหรับเรื่องนี้เนื่องจากคุณสามารถนำสตรีมที่เข้ารหัสดั้งเดิมมาใช้ซึ่งหมายถึงไม่มีการสูญเสียและใช้เวลาเพียงไม่กี่วินาทีในการสร้างเวอร์ชันที่ตัดแต่ง แต่ก็สิ้นหวังกับ h264 - การเปิดตัวหนึ่ง (ซึ่งสูญเสียการซิงค์ AV อย่างหนาแน่น) หรือใช้โหมดอันตรายซึ่งจะหยุดทำงานทันที

AFAIK, Openshot, Kdenlive, Pitivi และอื่น ๆ ทั้งหมดจะทำเช่นนี้โดยการถอดรหัสและถอดรหัส (ช้าและสูญเสีย)

ดูเหมือนจะเป็นเรื่องง่าย (อาจแสดงว่าฉันขาดความรู้ที่นี่!) ดังนั้นจึงสงสัยว่าฉันขาดอะไรไปหรือเปล่า


หากคุณจำเป็นต้องตัดส่วนท้ายของวิดีโอโปรดดูคำตอบที่ฉันให้ในหัวข้ออื่น: askubuntu.com/questions/412558/…
v010dya

2
superuser.com/questions/377343/…มีความสัมพันธ์ที่ดีและนำเสนอโซลูชั่นที่คล้ายกันกับที่อยู่ด้านล่าง แต่เพิ่มข้อมูลที่ดีบางอย่าง
pbhj

คำตอบ:


24

ffmpeg

ffmpeg -i source.mp4 -ss 00:00:00 -t 00:00:00 -vcodec copy -acodec copy splice.mp4

ซึ่งจะใช้ source.mp4 และใช้ตัวแปลงสัญญาณเสียงและวิดีโอเดียวกันและไม่ลดคุณภาพให้ใช้เวลา-tหลังจาก-ssวิดีโอเวลาเริ่มต้นและส่งออก splice.mp4 ของคุณ

โปรดทราบว่าช่วงเวลานั้นมีความละเอียดอ่อนมากต่อการจัดรูปแบบ (ด้านบนเป็นรูปแบบตัวอย่างอย่างหนึ่ง) นอกจากนี้ในการกระจายบางได้ถูกแทนที่ด้วยffmpeg avconvเพียงแค่เรียกใช้คำสั่งข้างต้นและแทนที่คำว่า ffmpeg ด้วย avconv เพื่อแก้ปัญหานี้

แหล่งข้อมูลที่ยอดเยี่ยมอีกแหล่งหนึ่งในหัวข้อนี้ (ขอบคุณ @pbhj)


3
สุกใส โปรดทราบว่าคุณไม่สามารถย่อการ-ssโต้แย้งได้เช่น9:00จะต้องแสดงเป็นเวลา 9 นาที00:09:00มิฉะนั้นจะถูกเพิกเฉยต่อความเงียบ ฉันคิดว่าคำตอบนี้ควรได้รับการปรับปรุงให้ใช้avconvตามคำเตือนของ ffmpeg ขอบคุณ
artfulrobot

คำเตือนด้านข้างนั้นเตือนเพียงว่าคุณติดตั้ง avconv แทน ffmpeg ดังนั้นไฟล์ปฏิบัติการที่ใช้งาน ffmpeg ของคุณนั้นเป็นเพียงแค่ wrapper รอบ ๆ avconv และ wrapper นั้นอาจเลิกใช้ในไม่ช้า หากคุณติดตั้ง ffmpeg แต่ไม่ใช่ avconv คุณจะไม่ได้รับคำเตือนนั้น มันไม่ได้มีเจตนาที่จะแสดงว่า ffmpeg เองนั้นเลิกใช้แล้ว (แม้ว่า Ubuntu รุ่นล่าสุดได้เลือกที่จะติดตั้ง avconv เป็นค่าเริ่มต้นแทนที่จะเป็น ffmpeg)
thomasrutter

5

ใน Ubuntu 16.04 เทียบเท่า ffmpegคือคำสั่งavconv

หากต้องการติดตั้งให้เรียกใช้:

sudo apt-get install libav-tools

ตัวอย่างบรรทัดคำสั่งเพื่อครอบตัดวิดีโอตามเวลา:

avconv -i originalFile.ogv -ss 00:00:00 -t 00:00:10 -vcodec copy -acodec copy croppedFile.ogv

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