LosslessCut: มีดพกสวิสสำหรับการตัดต่อวิดีโอ/เสียงแบบไม่สูญเสียข้อมูล
(github.com/mifi)- LosslessCut เป็น FFmpeg GUI แบบข้ามแพลตฟอร์มสำหรับประมวลผลไฟล์สื่อ เช่น วิดีโอ เสียง และซับไตเติล แบบไม่สูญเสียข้อมูลได้อย่างรวดเร็วมาก
- ความสามารถหลักคือ การ trim/cut แบบไม่สูญเสียข้อมูล เพื่อเล็มไฟล์วิดีโอขนาดใหญ่จากกล้อง, GoPro, โดรน ฯลฯ อย่างคร่าว ๆ โดยไม่ต้อง re-encode ที่ช้า เพื่อเก็บไว้เฉพาะช่วงที่ต้องการและทิ้งข้อมูลจำนวนมากที่ไม่จำเป็น
- งานส่วนใหญ่ทำงานด้วยการคัดลอกข้อมูลแทบจะโดยตรงบนพื้นฐานของ FFmpeg และรองรับงานอย่างการลบโฆษณา, การจัดเรียงเซกเมนต์ใหม่, การรวมไฟล์ที่มีพารามิเตอร์ codec เหมือนกัน, รวมถึงการแยก·แทนที่·ลบแทร็ก
- เนื่องจากใช้ Chromium HTML5 video player จึงมีข้อจำกัดด้านฟอร์แมตและ codec ที่เล่นแบบเนทีฟได้ แต่สามารถใช้การเล่นแบบช่วยด้วย FFmpeg เพื่อสร้าง proxy คุณภาพต่ำสำหรับเปิดดูได้ และยังคงตัด/ส่งออกจริงกับไฟล์ต้นฉบับแบบไม่สูญเสียข้อมูล
- ดาวน์โหลดแบบแมนนวลสำหรับ macOS, Windows และ Linux ใช้ได้ฟรี ส่วนการติดตั้งผ่าน Mac App Store และ Microsoft Store ถูกแนะนำเป็นวิธีสนับสนุนที่ให้ความปลอดภัย การติดตั้งที่ง่าย และการอัปเดตเวอร์ชันเสถียรอัตโนมัติ
ปัญหาที่ LosslessCut ช่วยแก้
- LosslessCut มุ่งเป็น FFmpeg GUI แบบข้ามแพลตฟอร์มที่ให้การทำงานกับวิดีโอ เสียง ซับไตเติล และไฟล์สื่อที่เกี่ยวข้องอย่างรวดเร็วแบบไม่สูญเสียข้อมูล
- การใช้งานหลักคือดึงเฉพาะช่วงที่ต้องการออกจากไฟล์วิดีโอขนาดใหญ่ได้อย่างรวดเร็ว และทิ้งข้อมูลส่วนที่เหลือ
- สามารถตัดไฟล์ขนาดใหญ่ที่ถ่ายจากกล้องวิดีโอ, GoPro, โดรน ฯลฯ แบบคร่าว ๆ เพื่อประหยัดพื้นที่ได้
- เพราะไม่ต้อง re-encode ที่ช้า จึงหลีกเลี่ยงการสูญเสียคุณภาพได้
- ความเร็วสูงมากมาจากโครงสร้างที่ FFmpeg เป็นผู้ทำงานหลัก และ LosslessCut ใช้วิธีคัดลอกข้อมูลแทบจะโดยตรง
ฟีเจอร์การตัดต่อหลัก
- รองรับ การตัดแบบไม่สูญเสียข้อมูล สำหรับฟอร์แมตวิดีโอ·เสียงส่วนใหญ่
- สามารถตัดบางช่วงของวิดีโอ·เสียงออกแบบไม่สูญเสียข้อมูล จึงใช้กับงานอย่างการลบโฆษณาได้
- สามารถจัดเรียงลำดับเซกเมนต์วิดีโอ·เสียงใหม่แบบไม่สูญเสียข้อมูล
- รองรับการรวม·เชื่อมไฟล์แบบไม่สูญเสียข้อมูลจากไฟล์ใดก็ได้ แต่ต้องมี พารามิเตอร์ codec เดียวกัน เช่น ไฟล์ที่มาจากกล้องเดียวกัน
- Smart cut มีให้ใช้งานเป็นฟีเจอร์ทดลอง
งานด้านแทร็ก เมทาดาทา และคอนเทนเนอร์
- รองรับ การตัดต่อหลายแทร็ก/สตรีม
- สามารถรวมแทร็กใดก็ได้จากหลายไฟล์เพื่อเพิ่มเพลงหรือแทร็กซับไตเติลลงในวิดีโอ
- สามารถลบแทร็กที่ไม่ต้องการได้
- สามารถแทนที่หรือ re-encode เฉพาะบางแทร็กได้
- สามารถแยกทุกแทร็ก เช่น วิดีโอ เสียง ซับไตเติล และไฟล์แนบ ออกเป็นไฟล์เดี่ยวได้
- ตรวจสอบข้อมูลทางเทคนิคของทุกแทร็กได้ และแก้ไขเมทาดาทาของไฟล์ เมทาดาทารายแทร็ก และ disposition รายแทร็กได้
- เลือกแทร็กวิดีโอ·เสียงที่จะเล่นได้ และเล่นหลายแทร็กเสียงพร้อมกันได้
- สามารถ remux แบบไม่สูญเสียข้อมูล วิดีโอ·เสียงไปยังฟอร์แมตไฟล์คอนเทนเนอร์อื่นได้
- เปลี่ยนเมทาดาทาการหมุน·ทิศทางของวิดีโอได้
- รองรับการแก้ไข chapter mark ที่ฝังใน MKV/MP4 และการดูซับไตเติล
ไทม์ไลน์และเวิร์กโฟลว์
- มีเวิร์กโฟลว์หลายไฟล์ที่รวดเร็ว แต่ยังไม่มีการส่งออกแบบจำนวนมาก·แบตช์
- รองรับเวิร์กโฟลว์ที่เน้นคีย์ลัดและคีย์ลัดแบบกำหนดเอง
- ป้อนเวลาจุดตัดด้วยตนเองได้
- รองรับการใช้ timecode offset แยกตามไฟล์ และการโหลด timecode อัตโนมัติจากไฟล์
- มีการซูมไทม์ไลน์, การกระโดดทีละเฟรม/คีย์เฟรม, thumbnail วิดีโอ และ waveform เสียง
- บันทึก cut segment ลงในไฟล์โปรเจกต์ได้
- ดูล็อกคำสั่ง FFmpeg ล่าสุดที่รันไปแล้วได้ เพื่อแก้ไขคำสั่งล่าสุดและรันใหม่บน command line
- รองรับ undo และ redo
- มีภาษานิพจน์ที่อิง JS สำหรับการ query และแปลงเซกเมนต์ขั้นสูง
- ติดป้ายชื่อให้ cut segment และใส่คำอธิบายด้วยแท็กได้
การดึงภาพ การตรวจจับ และการสร้างเซกเมนต์
- ดึง snapshot ความละเอียดเต็มจากวิดีโอเป็น JPEG/PNG ได้
- ส่งออกช่วงเฟรมของวิดีโอเป็นภาพได้
- รองรับทุก ๆ เฟรมที่ n, ตามวินาที, ตามจุดเปลี่ยนฉาก, วิธีเลือก thumbnail ที่เหมาะสมที่สุด ฯลฯ
- ส่งออกได้เฉพาะในช่วงเวลาที่เลือก หรือก็คือในเซกเมนต์
- ใส่ timestamp ต้นฉบับไว้ในชื่อไฟล์ภาพได้
- รองรับการตรวจจับหน้าจอดำ, การตรวจจับเสียงเงียบ, และการตรวจจับการเปลี่ยนฉาก
- แบ่งไทม์ไลน์ตามความยาว L, ขนาด X MB, จำนวนเซกเมนต์ N หรือแบบสุ่มได้
- ลบทุก non-keyframe ได้อย่างรวดเร็วมาก จึงใช้กับงานอย่าง timelapse ได้
การนำเข้า·ส่งออกและอัตโนมัติ
- รองรับ การนำเข้า/ส่งออก เซกเมนต์
- chapter mark ของ MP4/MKV
- ไฟล์ข้อความ
- YouTube
- CSV
- CUE
- XML สำหรับ DaVinci และ Final Cut Pro
- ฟอร์แมตอื่น ๆ
- มี CLI พื้นฐานและ HTTP API
- ดาวน์โหลดวิดีโอแบบไม่สูญเสียข้อมูลผ่าน HTTP ได้ โดยยกตัวอย่าง HLS
.m3u8 - แสดง GPS track ที่ฝังมากับ DJI บนแผนที่ได้
ตัวอย่างการใช้งาน
- ตัดโฆษณาออกจากรายการทีวีที่บันทึกไว้ และเปลี่ยนฟอร์แมตจาก TS เป็น MP4 ได้
- ลบแทร็กเสียงออกจากไฟล์ได้
- แยกแทร็กเพลงออกจากวิดีโอและตัดให้เหลือความยาวที่ต้องการได้
- เพิ่มเพลงลงในวิดีโอ หรือแทนที่แทร็กเสียงเดิมได้
- รวมแทร็กเสียงที่อัดแยกไว้กับแทร็กวิดีโอได้
- ฝังซับไตเติลภายนอกลงในวิดีโอได้
- แปลงวิดีโอ H264/H265 MKV เป็น MOV หรือ MP4 สำหรับเล่นบน iPhone ได้อย่างรวดเร็ว
- นำเข้ารายการเวลาตัด เช่น EDL, CSV ที่สร้างจากเครื่องมืออื่น แล้วให้ LosslessCut ทำการตัดได้
- ส่งออกรายการเวลาตัดเป็น CSV EDL เพื่อนำไปประมวลผลต่อในเครื่องมืออื่นได้
- ตัดไฟล์อย่างรวดเร็วตาม chapter ของ MP4/MKV ได้
- ตัด YouTube video อย่างรวดเร็วตาม chapter หรือช่วงเวลาเพลงในคอมเมนต์ได้
- เปลี่ยนภาษาของแทร็กเสียง·ซับไตเติลได้
- แนบ cover art·thumbnail ให้กับวิดีโอ·เสียงจากไฟล์ JPEG ภายนอกหรือเฟรมในไทม์ไลน์ได้
- เปลี่ยนผู้สร้าง ชื่อเรื่อง ตำแหน่ง GPS และเวลาอัดของวิดีโอได้
- แก้การหมุนของวิดีโอที่ตั้งค่า direction flag ผิดได้
- ทำซ้ำคลิปวิดีโอ·เสียงแบบเร็ว X ครั้งโดยไม่ต้อง re-encode ได้
- แปลงวิดีโอทั้งหมดหรือบางส่วนเป็นไฟล์ภาพ X ไฟล์ได้ แต่การทำงานนี้ไม่ใช่แบบไม่สูญเสียข้อมูล
- แบ่งวิดีโอแบบไม่สูญเสียข้อมูลให้ได้หนึ่งไฟล์ต่อหนึ่งฉากได้
- ตัดช่วงเงียบออกจากเสียง·วิดีโอได้
- แบ่งวิดีโอเป็นเซกเมนต์ตามเงื่อนไข เช่น ข้อจำกัด 140 วินาทีของ Twitter ได้
- ติดแท็กหนึ่งรายการหรือมากกว่านั้นให้แต่ละเซกเมนต์ และใช้แท็กในการจัดระเบียบเซกเมนต์หรือสร้างโครงสร้างโฟลเดอร์ผลลัพธ์ได้
- ตัวอย่างเพิ่มเติมมีใน Recipe cookbook
การดาวน์โหลดและรูปแบบการสนับสนุน
- การติดตั้งผ่าน Mac App Store และ Microsoft Store ถูกแนะนำว่าให้ความปลอดภัย การติดตั้งที่ง่าย และการอัปเดตเวอร์ชันเสถียรอัตโนมัติ
- มี Snapcraft และ Flathub เป็นทางเลือกสำหรับ Linux
- การดาวน์โหลดไฟล์รันแบบแมนนวลยังคงให้ใช้ฟรีต่อไป
- macOS: มี Intel, Apple Silicon DMG และ PKG ใช้งานไม่ได้
- Windows: มี 7zip และ Windows 7, 8, 8.1 ไม่ได้รับการรองรับอีกต่อไปหลัง v3.50.0
- Linux: มี x64 tar.bz2, x64 AppImage, arm64 tar.bz2, Raspberry Pi armv7l tar.bz2
- Windows APPX และ macOS PKG ใช้งานไม่ได้
- มี More releases และ Latest nightly builds 🧪
- LosslessCut ระบุว่ามีผู้ดูแลเพียงคนเดียว และจะคงเป็นโอเพนซอร์สฟรีตลอดไป
- ผู้ใช้สามารถสนับสนุนโครงการหรือบริจาคให้ FFmpeg ได้
ฟอร์แมตที่รองรับและข้อจำกัดด้านการเล่น
- LosslessCut ใช้ Chromium HTML5 video player จึงไม่รองรับทุกฟอร์แมตและ codec แบบเนทีฟ
- ฟอร์แมตไฟล์ที่โดยทั่วไปใช้งานได้คือ
MP4,MOV,WebM,Matroska,OGG,WAV - codec เสียงที่รองรับคือ
FLAC,MP3,Opus,PCM,Vorbis,AAC - codec วิดีโอที่รองรับคือ
H264,AV1,Theora,VP8,VP9, และH265ที่มี hardware decoder - codec และฟอร์แมตที่ไม่อยู่ในรายการก็สามารถแปลงจากเมนู
Fileให้เป็นฟอร์แมต·codec ที่รองรับแล้วเปิดได้- แนะนำให้ลองตัวเลือก Fastest: FFmpeg-assisted playback ก่อน
- ในกรณีนี้จะมีการสร้างไฟล์เวอร์ชันคุณภาพต่ำเพื่อเปิดใน player
- การตัด/ส่งออกจริงจะทำกับไฟล์ต้นฉบับ จึงยังคงไม่สูญเสียข้อมูล
- ไฟล์ที่ FFmpeg ถอดรหัสได้มีโอกาสเปิดได้เช่นกัน
เอกสารและเดโม
- เว็บไซต์ทางการคือ LosslessCut.app
- เริ่มต้นใช้งาน, FAQ และเอกสารการใช้งานอยู่ที่ Getting started, FAQ and usage documentation
- การแก้ปัญหา, ปัญหาที่ทราบ และข้อจำกัดอยู่ที่ Troubleshooting and known issues and limitations
- แนวทางการมีส่วนร่วมอยู่ที่ Contributing
- วิดีโอเดโมครอบคลุมฟีเจอร์ทั่วไป การเพิ่ม thumbnail·cover art ให้ MP4 และการเพิ่มเสียงหลายภาษา
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ดูเหมือนเป็นคู่แข่งโอเพนซอร์สของแอปมหัศจรรย์ชื่อ VideoReDo ที่เคยใช้สมัย PC สำหรับสื่อบน Windows
น่าเสียดายที่ VideoReDo เป็นซอฟต์แวร์ปิดที่สร้างโดยนักพัฒนาอินดี้ และนักพัฒนาคนนั้นเพิ่งเสียชีวิตไปเมื่อไม่นานนี้
สำหรับคนที่ยังนึกภาพไม่ออกว่าเครื่องมือตัดต่อวิดีโอแบบ “ไม่สูญเสียข้อมูล” คืออะไร ปกติแล้วโปรแกรมตัดต่อวิดีโอจะนำเข้าคลิปวิดีโอ/เสียง บันทึกไทม์ไลน์เป็นฟอร์แมตเฉพาะของแอปอย่าง Pitivi/Premiere/Final Cut แล้วส่งออกงานเสร็จเป็นฟอร์แมตอย่าง MP4/MOV พร้อมรีเอนโค้ดทั้งไฟล์ใหม่ทั้งหมด
ดังนั้นแม้คุณจะต้องการตัดออกเพียง 30–90 วินาทีจากวิดีโอความยาว 1 ชั่วโมง ก็ยังต้องรีเอนโค้ดทั้ง 1 ชั่วโมง และหากการตั้งค่าการเข้ารหัสต้นฉบับกับการรีเอนโค้ดไม่ตรงกัน ก็อาจเกิดการเปลี่ยนแปลงคุณภาพภาพหรือเสียงโดยไม่ตั้งใจ
แต่ ตัวตัดต่อแบบไม่สูญเสียข้อมูล ลักษณะนี้จะไม่รีเอนโค้ดทั้งไฟล์ แต่จัดการด้วยการ “ตัดออก” เฉพาะช่วงที่ต้องการในระดับไบต์แทน
ทำให้นึกถึงช่วงแรก ๆ ของ MP3 ที่คนโหลดไฟล์ 96kbps มาแล้วรีเอนโค้ดเป็น 320kbps เพื่อ “ปรับปรุงคุณภาพเสียง”
การดีโค้ดและรีเอนโค้ดจำเป็นก็ต่อเมื่อคุณเปลี่ยนเนื้อหาของเฟรม หรือจำเป็นต้องจัดโครงสร้างสตรีมวิดีโอใหม่ให้เข้ากัน
ฟอร์แมตวิดีโอส่วนใหญ่เป็นสตรีมของ เฟรมที่เข้ารหัสแบบเดลตา ซึ่งต้องดีโค้ดและแสดงผลตามลำดับ หากต้องการย้อนกลับไปเพียงเฟรมเดียวก็ต้องดีโค้ดใหม่ตั้งแต่ต้น และถ้าเฟรมหนึ่งเสียหาย ภาพก็จะหายไป
เพราะแบบนี้ตัวเข้ารหัสจึงต้องแทรกคีย์เฟรมเพื่อเริ่มสตรีมวิดีโอใหม่เป็นระยะ ๆ ถ้าใช้โคเดกและความละเอียดเดียวกัน การแทรกคีย์เฟรมลงในสตรีมวิดีโอภายนอกแทบทุกตำแหน่งก็ถือว่าใช้ได้เช่นกัน
เท่าที่รู้ โปรแกรมตัดต่อแบบ non-linear ที่จริงจังไม่ได้ใช้วิธีนี้ เพราะคัตส่วนใหญ่ไม่อาจประมาณด้วยเทคนิคตัด GOP[0] แบบง่าย ๆ ได้ และก็มีคนไม่มากนักที่ตัดต่อคลิปซึ่งถูกเข้ารหัสมาแล้วในฟอร์แมตสำหรับแจกจ่ายขั้นสุดท้าย
ในระดับมืออาชีพ หลายคนบันทึกด้วย ProRes ซึ่ง ProRes จงใจไม่ใช้การเข้ารหัสแบบเดลตา[1] เพราะการเข้ารหัสแบบเดลตานั้นค่อนข้างแย่สำหรับงานตัดต่อวิดีโอแบบ non-linear
[0] Group of Pictures - คีย์เฟรมหนึ่งเฟรมและเฟรมที่เข้ารหัสแบบเดลตาทั้งหมดจนถึงก่อนคีย์เฟรมถัดไป
[1] นั่นจึงทำให้ขนาดไฟล์ใหญ่มาก
ถ้าตัดออก 1 นาที สิ่งที่ถูกเข้ารหัสคือ ส่วน 1 นาทีนั้น วิดีโอต้นฉบับอาจต้องถูกดีโค้ดมากกว่า 1 นาที แต่กรณีที่ต้องดีโค้ดทั้ง 1 ชั่วโมงนั้นพบไม่บ่อย
ตอนแรกพอเห็นคำว่า “ไม่สูญเสียข้อมูล” ก็นึกถึงการตัดต่อฟอร์แมตที่ไม่สูญเสียข้อมูลจริง ๆ อย่าง ProRes, MJPEG2000, HuffYUV
แต่สิ่งที่เครื่องมือนี้ทำจริง ๆ คือการนำคอนเทนเนอร์ต้นฉบับไปห่อใหม่เป็นคอนเทนเนอร์ใหม่ โดยไม่แตะต้องสตรีมหลักเลย กล่าวคือไม่มีการรีเอนโค้ด
ไม่ใช่เรื่องน่าแปลกใจที่มันโยนงานหนักให้ FFmpeg แต่ชุมชนก็ควรเข้าใจว่ากระบวนการนี้ทำงานอย่างไรจริง ๆ
พูดแบบสั้น ๆ ฟอร์แมตวิดีโอสมัยใหม่อย่าง mp4, mov, avi, ts แท้จริงแล้วเป็นเพียงนามสกุลของคอนเทนเนอร์ที่สามารถบรรจุแทร็กวิดีโอและเสียงได้หลายแทร็ก แทร็กเหล่านี้เรียกว่าสตรีมหลัก (Elementary Stream, ES) และแต่ละแทร็กถูกเข้ารหัสด้วยโคเดกอย่าง H264/AVC, H265/HEVC, AAC
จากนั้นในขั้นตอน muxing สตรีมเหล่านี้จะถูกรวมเข้าไปในคอนเทนเนอร์ และใส่ timestamp ให้แต่ละ sample/frame เพื่อซิงก์ ES เข้าด้วยกัน
เนื่องจาก ES ถูกเข้ารหัสไว้แล้ว จึงยากที่จะค้นหาได้แม่นยำในระดับเฟรม และเฟรมที่ดีโค้ดได้สมบูรณ์จริง ๆ มีเพียง I-frame เท่านั้น ส่วน P/B-frame ที่ตามมาจะถูกดีโค้ดโดยอาศัยข้อมูลจาก I-frame ลำดับแบบ IPPBPPB... นี้เรียกว่า GOP
สิ่งที่น่าสนใจคือ แม้ไม่ต้องดีโค้ดสตรีม คุณก็ยังดูประเภทของเฟรมได้จาก header ของ NAL (Network Abstraction Layer) unit ตัวอย่างเช่น ไบต์ประเภทเฟรมของ H264 I-frame จะประมาณ 0x07 และ header คือ 0x000001
เมื่อนำทั้งหมดนี้มารวมกัน คุณจึงสามารถเปิดดู ES bitstream และหาขอบเขต GOP ได้โดยไม่ต้องดีโค้ด แต่จะตัดกลาง GOP ตรง ๆ ไม่ได้ ดังนั้นจึงต้องยอมรับความคลาดเคลื่อนต่ำกว่า 1 วินาที หรือไม่ก็ดีโค้ดทั้ง GOP ซึ่งโดยทั่วไปมีราว 30 เฟรม แล้วแทรก I-frame ลงในผลลัพธ์
เพราะฉะนั้น สิ่งที่มันทำจึงใกล้เคียงกับการจัดการบิตอย่างรวดเร็วมากและการคัดลอกข้ามคอนเทนเนอร์ หากเป้าหมายคือการหั่นวิดีโอต้นฉบับออกเป็นชิ้น ๆ กระบวนการนี้จึงมีประสิทธิภาพมาก
โพสต์ที่เกี่ยวข้อง:
LosslessCut: lossless video/audio editing - https://news.ycombinator.com/item?id=33969490 - Dec 2022 (153 comments)
Lossless-cut: The swiss army knife of lossless video/audio editing - https://news.ycombinator.com/item?id=24883030 - Oct 2020 (10 comments)
LosslessCut – Save space by quickly and losslessly trimming video files - https://news.ycombinator.com/item?id=22026412 - Jan 2020 (1 comment)
Show HN: LosslessCut – Cross-platform GUI tool for fast, lossless video cutting - https://news.ycombinator.com/item?id=12885585 - Nov 2016 (33 comments)
เผื่อไว้ก่อน มีสคริปต์ bashที่ใช้ทำการตัดด้วย ffmpeg อยู่ อ้างอิงจากข้อเสนอแนะที่ค่อนข้างมีประโยชน์บน Stack Overflow และอินพุตคือไฟล์ที่ระบุเวลาเริ่ม/สิ้นสุดเป็นวินาทีไว้ทีละบรรทัด
ถ้าวิดีโอไม่มีเสียง ก็แค่เอาส่วน atrim/outa ออก การทำงานก็แทบจะเหมือนเดิม โดยจะตัดหลายช่วงด้วย
trim,atrim,setpts,asetptsแล้วนำมาต่อกันด้วยฟิลเตอร์concat-c copyหรือ-c:v copy -c:a copyอยู่ตรงไหน?ถ้าจะมีคนบ่นล่วงหน้าว่านี่เป็นแอป Electronขนาดเกิน 100MB ก็ขอบอกไว้ก่อนว่า AVIDemux เป็นแอปเนทีฟและทำงานได้แทบเหมือนกัน
ผมเพิ่งเจอแอปนี้เมื่อสัปดาห์ก่อน และมันมีประโยชน์มาก
ผมถ่ายการแข่งขันกระโดดน้ำทั้งรายการด้วยกล้องตัวเล็กข้างสระ และอยากแยกออกเป็นคลิปตามแต่ละการกระโดด
ใน LosslessCut ผมเล่นได้เร็วเท่าที่ต้องการ และถ้าจะใช้เสียงแยกช่วงว่างระหว่างนักกีฬา ความเร็วสูงสุดที่ผมใช้ไหวคือมากกว่า 300% เล็กน้อย
ทุกครั้งที่มีการประกาศคะแนนของการกระโดด ผมก็กด
Bแล้วพอทำครบทุกการกระโดดก็กดส่งออก ใช้เวลาไม่ถึงชั่วโมงก็แยกการแข่งขันยาว 3 ชั่วโมงออกเป็นคลิปชื่อเรียบร้อยที่พร้อมส่งให้ทั้งนักกีฬาและโค้ชได้ผมชอบ LosslessCut มากและใช้แทบทุกวัน
ส่วนใหญ่ใช้ตัดหรือแก้ไขการบันทึกหน้าจอ และเพราะเป็นแบบไม่สูญเสียข้อมูล การบันทึกวิดีโอที่แก้ไขแล้วจึงเสร็จแทบจะทันที
มันแทบจะเป็น GUI สำหรับ ffmpeg มากกว่า
ถ้าต้องบีบอัดใหม่ผมจะใช้ Permute และถ้าต้องใส่เอฟเฟกต์หรือต้องแก้ไขแบบสูญเสียข้อมูลก็จะใช้ Davinci Resolve
สงสัยว่ามันให้อะไรมากกว่าการใช้ Handbrake หรือเรียก ffmpeg ตรง ๆ บ้าง ดูเหมือนเป็นแอปเสียเงิน แต่ถ้ามันดีกว่าตัวเลือกฟรีที่มีอยู่จริง ๆ ผมก็โอเคที่จะจ่ายค่าซอฟต์แวร์
บน GitHub ระบุว่าเป็นไลเซนส์ GPL-2.0, บน Snap Store เป็นไลเซนส์ MIT และบน Mac App Store ราคา 19 ดอลลาร์
สงสัยว่าสามารถดาวน์โหลดพร้อมตัดวิดีโอแบบไม่สูญเสียข้อมูลจากเซิร์ฟเวอร์ระยะไกลได้หรือไม่
ตอนนี้ผมใช้สคริปต์ bash สำหรับ ffmpeg ที่ได้มาจาก Stack Overflow เพื่อดาวน์โหลดมาแค่บางส่วนของวิดีโอจากที่อย่าง YouTube แต่ตอนนี้ยังต้องรีเอนโค้ดระหว่างดาวน์โหลดแบบสด ๆ
ตอนนี้ผมเข้าใจว่าเพราะยังไม่มีข้อมูลวิดีโออย่างคีย์เฟรมอยู่ในเครื่อง จึงเป็นไปไม่ได้ที่จะดาวน์โหลดและตัดวิดีโอแบบไม่สูญเสียข้อมูล ถ้าใครพิสูจน์ได้ว่าผมเข้าใจผิดก็จะดีมาก
313เป็นเพียงสตรีมวิดีโอ 4K แต่คิดว่าน่าจะใช้ได้กับวิดีโอที่มีสตรีมเสียงด้วยffmpeg -ss 5:40 -i $(yt-dlp -f 313 -g https://www.youtube.com/watch?v=3SykjY3GdMs) -acodec copy -vcodec copy -t 20 waterdrop_mountainlake.mkvผมเพิ่งมารู้จักแอปนี้ไม่นานและชอบมันมาก
ตอนนี้แทบไม่อยากเชื่อเลยว่าเมื่อก่อนผมเปิดBlender ทั้งอินสแตนซ์พร้อมโปรเจ็กต์วิดีโอทุกครั้งเพื่อจะตัดคลิป และยังทำแบบนั้นอยู่บ่อย ๆ ด้วย