Điểm:1

Sử dụng ffmpeg để cắt video ở nhiều điểm

lá cờ cn

Tôi có một video là một trò chơi bóng đá. Tôi muốn cắt giảm thời gian trước trận đấu, trong một nửa thời gian và cuối cùng là kết thúc trò chơi.

Tổng chiều dài clip 1giờ 51phút hoặc 111m

Lý tưởng nhất là cắt giảm và thời gian như sau:

+------------+-------------+------------+
| Giờ Bắt Đầu | Thời gian kết thúc | Thời Lượng Clip |
+------------+-------------+------------+
| 1:30 | 47:30 | 47:30 |
| 53:00 | 100:00 | 47 |
+------------+-------------+------------+

Tuy nhiên, video của tôi kết thúc lúc

ffmpeg -ss 00:01:30 -i Tripod_Camera.mp4 -t 00:47:30 -ss 00:53:00 -t 00:47:00 -c sao chép VideoClip.mp4
24601 avatar
lá cờ in
bạn có cân nhắc sử dụng một công cụ như `LosslessCut` để thực hiện tác vụ này không? Xem [tham chiếu này](https://www.maketecheasier.com/extract-clips-video-losslesscut/?utm_source=newsletter&utm_medium=email&utm_campaign=07092020)
vanadium avatar
lá cờ cn
@ 24601 ffmpeg có thể thực hiện điều này một cách hoàn hảo và lệnh được đưa ra thực sự thực hiện điều đó một cách dễ dàng. Vấn đề là tìm các tùy chọn lệnh chính xác để thực hiện nó trong một lần.
lá cờ cn
@vanadium bạn đúng. Tôi chỉ không biết khi nào hoặc như thế nào! :/
llogan avatar
lá cờ jp
Làm thế nào chính xác làm bạn cần các vết cắt được? Bởi vì nếu bạn có thể chấp nhận chỉ cắt trên các khung hình chính thì bạn có thể thực hiện việc này mà không cần mã hóa lại. Tham khảo [Kiểm tra khoảng thời gian khung hình chính?](https://stackoverflow.com/a/18088156/) để xem tần suất khung hình chính.
lá cờ cn
Nó không cần phải chặt chẽ ở tất cả thực sự. Xem xét tôi đã phân bổ rất nhiều cách ở cả hai phía của thời gian. Hơn nữa, tôi không thể tìm ra cách chuyển `2 lần cắt` như đối với một lệnh FFMPEG.
andrew.46 avatar
lá cờ in
Một số hướng ở đây: https://superuser.com/questions/681885/how-can-i-remove-multiple-segments-from-a-video-using-ffmpeg
Điểm:2
lá cờ jp
  1. Chế tạo đầu vào.txt chứa dấu thời gian (tính bằng giây) để cắt:

    tập tin 'input.mp4'
    điểm 90
    điểm 2850
    tập tin 'input.mp4'
    điểm 3180
    điểm 6000
    
  2. Chạy ffmpeg để nối với bộ giải mã concat:

    ffmpeg -f concat -i input.txt -c sao chép output.mp4
    
  • Điều này sẽ sao chép luồng, vì vậy không xảy ra mã hóa lại, nghĩa là toàn bộ quá trình sẽ diễn ra nhanh chóng và chất lượng sẽ được giữ nguyên. Tuy nhiên, các vết cắt sẽ được thực hiện trên các khung hình chính nên có thể không đủ chính xác. Nếu cần độ chính xác cao hơn, bạn sẽ phải sử dụng một phương pháp chậm hơn nhiều, chẳng hạn như sử dụng bộ lọc (a)trim, (a)setpts và concat yêu cầu mã hóa lại.

  • Nếu bạn nhận được A/V desync sau đó lấy dấu thời gian của khung hình chính, hãy sử dụng dấu thời gian của khung hình chính làm trong điểm, nhưng thêm 0,001 vào mỗi trong điểm dấu thời gian trong đầu vào.txt.

lá cờ cn
Cảm ơn bạn: D Điều này không hoạt động hoàn hảo! Tôi phải hỏi, nó có phải là một tập tin không? Hoặc tôi có thể làm điều đó trực tiếp trong thiết bị đầu cuối?
llogan avatar
lá cờ jp
@JamieHutber Loại. Xem [FFmpeg Wiki: Concatenate](http://trac.ffmpeg.org/wiki/Concatenate).

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.