3 điểm bởi GN⁺ 2024-07-01 | 1 bình luận | Chia sẻ qua WhatsApp

LosslessCut

LosslessCut là một công cụ GUI đa nền tảng dựa trên FFmpeg, cho phép chỉnh sửa nhanh các tệp video và âm thanh mà không làm mất dữ liệu. Công cụ này có thể cắt nhanh các tệp video dung lượng lớn được quay bằng máy quay video, GoPro, drone, v.v. để tiết kiệm không gian lưu trữ. Ngoài ra, khi thêm nhạc hoặc track phụ đề vào video, cũng không cần mã hóa lại.

Tính năng chính

  • Cắt không mất dữ liệu hầu hết các định dạng video và âm thanh
  • Smart cut (tính năng thử nghiệm)
  • Cắt bỏ các phần cụ thể của video/audio mà không mất dữ liệu
  • Sắp xếp lại thứ tự các đoạn video/audio mà không mất dữ liệu
  • Gộp/nối không mất dữ liệu các tệp có cùng tham số codec
  • Kết hợp các track tùy ý từ nhiều tệp (ví dụ: thêm nhạc hoặc track phụ đề vào tệp video)
  • Xóa các track không cần thiết
  • Chỉ mã hóa lại hoặc thay thế một số track nhất định
  • Trích xuất tất cả các track từ tệp (video, âm thanh, phụ đề, tệp đính kèm, v.v.)
  • Quy trình làm việc nhanh với nhiều tệp (không cần xuất hàng loạt/batch)
  • Quy trình làm việc bằng phím tắt
  • Remux video/audio sang định dạng container khác mà không mất dữ liệu
  • Chụp ảnh snapshot độ phân giải đầy đủ từ video ở định dạng JPEG/PNG
  • Xuất khung hình video thành ảnh (mỗi khung thứ n, mỗi giây, khi cảnh thay đổi)
  • Chỉ xuất trong phạm vi thời gian đã chọn
  • Tùy chọn đưa timestamp gốc vào tên tệp ảnh
  • Nhập thủ công thời điểm cắt
  • Áp dụng offset timecode theo từng tệp (tự động nạp từ tệp)
  • Chỉnh sửa metadata tệp, metadata theo track và disposition theo track
  • Thay đổi metadata xoay/hướng của video
  • Xem dữ liệu kỹ thuật của tất cả các track
  • Phóng to timeline và nhảy giữa các keyframe
  • Thumbnail video và waveform âm thanh
  • Lưu các đoạn cắt vào tệp dự án
  • Xem log lệnh FFmpeg gần nhất
  • Hoàn tác/làm lại
  • Gán nhãn cho các đoạn cắt
  • Ghi chú các đoạn bằng tag
  • Nhập/xuất đoạn: chapter mark MP4/MKV, tệp văn bản, YouTube, CSV, CUE, XML (DaVinci, Final Cut Pro), v.v.
  • Trình chỉnh sửa chapter mark tích hợp cho MKV/MP4
  • Xem phụ đề
  • Phím tắt có thể tùy chỉnh
  • Phát hiện cảnh đen, phát hiện âm thanh im lặng, phát hiện thay đổi cảnh
  • Chia timeline theo độ dài L hoặc thành N đoạn
  • Điều chỉnh tốc độ tệp video hoặc âm thanh (thay đổi FPS)
  • CLI cơ bản và HTTP API

Ví dụ các trường hợp sử dụng không mất dữ liệu

  • Xóa quảng cáo khỏi chương trình TV đã ghi (định dạng lại từ TS sang MP4)
  • Xóa track âm thanh khỏi tệp
  • Trích xuất track nhạc từ video và cắt theo nhu cầu
  • Thêm nhạc vào video (hoặc thay thế track âm thanh hiện có)
  • Kết hợp track âm thanh và video từ bản ghi riêng biệt
  • Nhúng phụ đề ngoài vào video
  • Nhanh chóng chuyển video MKV H264/H265 sang MOV hoặc MP4 để phát trên iPhone
  • Nhập thời điểm cắt từ EDL (danh sách quyết định biên tập, CSV) được tạo bằng công cụ khác và thực thi trong LosslessCut
  • Xuất thời điểm cắt thành CSV EDL để xử lý trong công cụ khác
  • Cắt nhanh tệp theo chapter MP4/MKV
  • Cắt nhanh video YouTube theo từng chapter (hoặc mốc thời gian nhạc trong bình luận)
  • Thay đổi ngôn ngữ track âm thanh/phụ đề của tệp
  • Đính kèm cover art/thumbnail vào video/audio từ tệp JPEG bên ngoài hoặc từ khung hình trên timeline
  • Thay đổi tác giả, tiêu đề, vị trí GPS, thời gian ghi của video
  • Sửa xoay cho video có cờ hướng bị đặt sai
  • Lặp clip video/audio X lần (không mã hóa lại)
  • Chuyển video hoặc một phần của video thành X tệp ảnh (không mất dữ liệu)
  • Chia video thành từng tệp theo cảnh
  • Cắt bỏ các đoạn im lặng của audio/video
  • Chia video thành các đoạn để đáp ứng giới hạn 140 giây của Twitter
  • Gắn chú thích cho mỗi đoạn bằng một hoặc nhiều tag, rồi dùng chúng để sắp xếp đoạn hoặc tạo cấu trúc/thứ bậc thư mục đầu ra

Xuất thời điểm cắt thành chapter YouTube

  1. Xuất với chế độ gộp và bật "Tạo chapter từ các đoạn đã gộp"
  2. Mở tệp đã xuất và trong hộp thoại chọn "Nhập chapter"
  3. Tệp -> Xuất dự án -> Chapter YouTube

Chỉ mã hóa lại track âm thanh và giữ nguyên track video không mất dữ liệu

  1. Xuất từng track thành tệp riêng
  2. Dùng Handbrake hoặc công cụ tương tự để mã hóa lại tệp âm thanh (với tệp mp4 thì mã hóa sang AAC)
  3. Mở luồng video đã trích xuất trong LosslessCut
  4. Mở tệp âm thanh đã mã hóa và chọn "Bao gồm tất cả track từ tệp mới"
  5. Xuất

Quy trình làm việc nâng cao nhiều bước

Mẹo: Có thể dùng LosslessCut nhiều lần để cắt riêng từng track

  1. Mở tệp và xuất tất cả các track thành các tệp riêng
  2. Mở độc lập các tệp track đã xuất và cắt theo ý muốn
  3. Thêm lại các track vào video và kết hợp thành một video đầu ra

Tải xuống

Nếu bạn muốn hỗ trợ công việc phát triển liên tục của LosslessCut, đồng thời tận hưởng quy trình cài đặt an toàn, đơn giản cùng các bản cập nhật tự động và ổn định, hãy cân nhắc tải về từ cửa hàng bạn ưu tiên.

Hệ điều hành được hỗ trợ

  • Mac OS X: Intel DMG / Apple Silicon DMG
  • Windows: 7zip (Windows 7, 8 và 8.1 không còn được hỗ trợ từ v3.50.0 trở đi)
  • Linux: x64 tar.bz2 / x64 AppImage / arm64 tar.bz2 / Raspberry Pi armv7l

Định dạng được hỗ trợ

LosslessCut sử dụng trình phát video HTML5 của Chromium, và không phải mọi định dạng và codec được FFmpeg hỗ trợ đều được hỗ trợ native. Thông thường, các định dạng sau sẽ hoạt động:

  • Định dạng video: MP4, MOV, WebM, Matroska, OGG, WAV
  • Codec âm thanh: FLAC, MP3, Opus, PCM, Vorbis, AAC
  • Codec video: H264, AV1, Theora, VP8, VP9, H265 (cần bộ giải mã phần cứng)

Demo video

  • Các tính năng chung
  • Cách thêm thumbnail/cover art vào MP4
  • Cách thêm âm thanh đa ngôn ngữ vào video

Quy trình làm việc thông thường

  • Kéo và thả tệp video vào trình phát hoặc dùng /CTRL+O
  • Nhấn SPACE để phát/tạm dừng hoặc dùng ◀``▶, ,``. hay bánh xe chuột/trackpad để di chuyển tiến/lùi
  • Di chuyển marker thời gian để chọn thời điểm bắt đầu và kết thúc của đoạn cắt, sau đó nhấn I để đặt thời điểm bắt đầu, nhấn O để đặt thời điểm kết thúc
  • Tất cả các đoạn sẽ được giữ lại và xuất thành tệp mới. Để thay đổi hành vi này, có thể dùng biểu tượng Yin Yang ☯️ để xóa đoạn đã chọn và xuất phần giữa các đoạn
  • Để thêm nhiều đoạn, di chuyển đến thời điểm bắt đầu mong muốn rồi nhấn +, sau đó dùng I/O để chọn thời điểm bắt đầu/kết thúc cho đoạn tiếp theo
  • Để gộp lại tất cả các đoạn đã chọn thành một tệp sau khi cắt, chuyển nút Separate files sang Merge cuts
  • Để xuất vào một thư mục đầu ra cụ thể, nhấn nút Working dir unset (mặc định: thư mục của tệp đầu vào)
  • Để thay đổi hướng, nhấn nút xoay
  • Mặc định, các track âm thanh, video và phụ đề của tệp đầu vào sẽ được cắt và xuất. Có thể nhấn nút Tracks để tùy chỉnh và/hoặc thêm track mới từ tệp khác
  • Có thể chọn định dạng đầu ra mới
  • Trong bảng đoạn ở bên phải, nhấp chuột phải vào đoạn để chọn tùy chọn hoặc kéo và thả để sắp xếp lại. Chúng sẽ xuất hiện theo thứ tự này trong đầu ra đã gộp
  • Khi hoàn tất, nhấn nút Export (hoặc E) để hiển thị tổng quan các tùy chọn xuất
  • Có thể điều chỉnh các tùy chọn xuất
  • Nhấn xuất lần nữa để xác nhận xuất
  • Để chụp snapshot JPEG/PNG tại thời điểm hiện tại, nhấn nút camera (hoặc C)
  • Để chuyển tệp gốc vào thùng rác, nhấn nút thùng rác
  • Để có kết quả tốt nhất, có thể cần thử định dạng đầu ra khác (Matroska chấp nhận gần như mọi thứ), thay đổi chế độ cắt theo keyframe hoặc vô hiệu hóa một số track
  • Để xem tất cả phím tắt bàn phím và chuột, nhấn SHIFT + /
  • Lưu ý: Tệp video gốc không bị sửa đổi. Thay vào đó, một tệp có chứa timestamp from/to sẽ được tạo trong cùng thư mục với tệp gốc

Ý kiến của GN⁺

  • LosslessCut là công cụ cho phép chỉnh sửa nhanh các tệp video và âm thanh mà không mất dữ liệu, đặc biệt hữu ích với người dùng xử lý tệp dung lượng lớn.
  • Hoạt động dựa trên FFmpeg nên mang lại tốc độ rất nhanh, đồng thời hỗ trợ nhiều định dạng và codec khác nhau.
  • Cung cấp nhiều tính năng như smart cut, quy trình làm việc đa tệp, phím tắt bàn phím, v.v. giúp nâng cao trải nghiệm người dùng.
  • Các công cụ có tính năng tương tự gồm Avidemux, Shotcut, v.v.; nên so sánh ưu nhược điểm của từng công cụ.
  • Khi áp dụng công nghệ mới hoặc phần mềm mã nguồn mở, cần cân nhắc các định dạng và codec được hỗ trợ cũng như mức độ trực quan của giao diện người dùng.

1 bình luận

 
GN⁺ 2024-07-01
Ý kiến trên Hacker News
  • Có vẻ là một đối thủ mã nguồn mở kiểu như VideoReDo

    • VideoReDo là phần mềm độc quyền do một nhà phát triển độc lập tạo ra, và gần đây nhà phát triển đó đã qua đời
    • Chỉnh sửa video "không mất dữ liệu" là cắt bỏ những phần cụ thể của video mà không cần tái mã hóa
  • Chỉnh sửa không mất dữ liệu là remix container gốc sang một container mới

    • Công việc này được thực hiện bằng FFMpeg
    • Mọi định dạng video hiện đại đều là phần mở rộng của một container chứa nhiều track video và audio
    • Các track được mã hóa thành Elementary Streams (ES) bằng codec phù hợp
    • Trong quá trình "muxing", chúng được ghép vào container và mỗi mẫu/khung hình được gán timestamp
  • ES được mã hóa nên không cung cấp độ chính xác đến từng khung hình

    • Chỉ I-Frame mới có thể được giải mã hoàn toàn
    • Chuỗi IPPBPPB... được gọi là GOP (Group of Pictures)
    • Có thể xác định loại khung hình thông qua các đơn vị NAL
  • Có thể phát hiện ranh giới GOP bằng cách phân tích bitstream ES

    • Không thể cắt ở giữa GOP, nên либо chỉ đạt độ chính xác <1 giây hoặc phải giải mã toàn bộ GOP rồi chèn I-Frame
    • Đây là quy trình hiệu quả nhờ thao tác bit rất nhanh và sao chép giữa các container
  • LosslessCut rất hữu ích để chia video thi đấu nhảy cầu thành từng clip cho mỗi lượt nhảy

    • Có thể chia một cuộc thi kéo dài 3 giờ trong chưa đến 1 giờ
  • Có cung cấp các liên kết liên quan

    • LosslessCut: chỉnh sửa video/audio không mất dữ liệu
    • Lossless-cut: con dao đa năng kiểu Thụy Sĩ cho chỉnh sửa video/audio không mất dữ liệu
    • LosslessCut – cắt tệp video nhanh và không mất dữ liệu
    • Show HN: LosslessCut – công cụ GUI đa nền tảng để cắt video nhanh và không mất dữ liệu
  • Chia sẻ một script bash hữu ích

    • Đây là script dùng ffmpeg để cắt video
    • Nhận thời gian bắt đầu/kết thúc theo đơn vị giây để xử lý
  • AVIDemux là một ứng dụng native cung cấp chức năng tương tự

    • Nhằm chặn trước lời phàn nàn rằng ứng dụng Electron nặng hơn 100MB
  • Trên GitHub là giấy phép GPL-2.0, trên snap store là giấy phép MIT, còn trên Mac OS APP store là $19

  • Thắc mắc liệu có tài liệu nào về ffmpeg và kỹ thuật cắt không mất dữ liệu hay không

  • Là fan lớn của LosslessCut và dùng nó gần như mỗi ngày

    • Dùng để cắt hoặc chỉnh sửa bản ghi màn hình
    • Vì là không mất dữ liệu nên việc lưu gần như diễn ra tức thì
    • Khi cần thì nén lại bằng Permute hoặc thêm hiệu ứng bằng Davinci Resolve
  • Thắc mắc liệu có thể tải xuống và cắt video không mất dữ liệu từ máy chủ từ xa hay không

    • Hiện tại đang dùng ffmpeg để tải và cắt video từ các trang như YouTube
    • Phải tái mã hóa theo thời gian thực trong khi tải video
    • Nghĩ rằng không thể tải xuống và cắt không mất dữ liệu vì không có thông tin video ở máy cục bộ