Làm cách nào để cắt (thời gian không hình ảnh) một tệp video MP4


17

Tôi đang tìm kiếm một ứng dụng để giúp tôi cắt các bit bắt đầu và kết thúc một tập tin mp4 một cách hiệu quả và dễ dàng .

vd

Theo mp4, ý tôi là video H264 + âm thanh AAC trong một thùng chứa MP4

Trước h264 ngày Avidemux là một công cụ tuyệt vời cho việc này vì bạn có thể sử dụng lại các luồng được mã hóa ban đầu có nghĩa là không mất và chỉ mất vài giây để tạo phiên bản cắt xén, nhưng vô vọng với h264 - mở một cho bạn hai tùy chọn: sử dụng chế độ an toàn (mất đồng bộ AV một cách ồ ạt) hoặc sử dụng chế độ nguy hiểm ngay lập tức làm hỏng nó.

AFAIK, Openshot, Kdenlive, Pitivi, v.v ... đều sẽ làm điều này bằng cách giải mã và giải mã (chậm và mất mát).

Có vẻ là một điều đơn giản (có lẽ cho thấy sự thiếu hiểu biết của tôi ở đây!), Vì vậy đã tự hỏi nếu tôi thiếu một cái gì đó.


Nếu bạn cần cắt phần cuối của video, vui lòng xem câu trả lời tôi đã đưa ra về một chủ đề khác: askubfox.com/questions/412558/ chủ
v010dya

2
superuser.com/questions/377343/ có liên quan tốt và cung cấp một giải pháp tương tự như bên dưới nhưng thêm một số thông tin tốt.
pbhj

Câu trả lời:


24

ffmpeg

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

Điều này sẽ lấy source.mp4 và, sử dụng cùng một codec âm thanh và video và không làm giảm chất lượng, mất thời gian sau khi -ss video thời gian bắt đầu và xuất splice.mp4 của bạn

Xin lưu ý rằng thời gian rất nhạy cảm với định dạng (ở trên là một định dạng ví dụ). Ngoài ra, trong một số bản phân phối, ffmpegđã được thay thế bằng avconv. Đơn giản chỉ cần chạy lệnh trên và thay thế từ ffmpeg bằng avconv để giải quyết điều này.

Một nguồn thông tin tuyệt vời về chủ đề này. (Cảm ơn @pbhj)


3
Xuất sắc. Lưu ý rằng bạn không thể viết tắt -ssđối số, tức là 9:00trong 9 phút phải được thể hiện 00:09:00nếu không nó sẽ bị bỏ qua trong âm thầm. Tôi nghĩ rằng câu trả lời này cũng nên được cập nhật để sử dụng avconv, theo cảnh báo của ffmpeg. Cảm ơn.
artfulrobot

Lưu ý bên cạnh, cảnh báo đó chỉ phản ánh rằng bạn đã cài đặt avconv chứ không phải ffmpeg, vì vậy tệp thực thi ffmpeg của bạn thực sự chỉ là một trình bao bọc xung quanh avconv và trình bao bọc đó có thể bị từ chối sớm. Nếu bạn đã cài đặt ffmpeg nhưng không avconv, bạn sẽ không nhận được cảnh báo đó. Nó không có ý định biểu thị rằng bản thân ffmpeg không được dùng nữa (mặc dù, các phiên bản gần đây của Ubuntu đã chọn cài đặt avconv theo mặc định thay vì ffmpeg).
thomasrutter

5

Trong Ubuntu 16.04, tương đương với ffmpeglà lệnhavconv

Để cài đặt nó chạy:

sudo apt-get install libav-tools

Ví dụ dòng lệnh để cắt video theo thời gian:

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

Không có sẵn trong các phiên bản sau của Ubuntu.
lolmaus - Andrey Mikhaylov
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.