Hợp nhất hai video clip thành một, đặt chúng cạnh nhau


38

Tôi có hai video clip. Cả hai đều là 640x480 và 10 phút cuối. Một cái chứa âm thanh nền, cái còn lại là một diễn viên hát. Tôi muốn tạo một video clip dài 10 phút với kích thước 1280x480 (nói cách khác, tôi muốn đặt các video cạnh nhau và phát chúng đồng thời, trộn âm thanh từ cả hai clip). Tôi đã cố gắng tìm ra cách để làm điều này với ffmpeg / avidemux, nhưng cho đến nay tôi đã bỏ trống. Tất cả đều đề cập đến việc ghép nối khi tôi tìm kiếm để hợp nhất.

Có khuyến nghị nào không?

Câu trả lời:


44
ffmpeg \
  -i input1.mp4 \
  -i input2.mp4 \
  -filter_complex '[0:v]pad=iw*2:ih[int];[int][1:v]overlay=W/2:0[vid]' \
  -map [vid] \
  -c:v libx264 \
  -crf 23 \
  -preset veryfast \
  output.mp4

Điều này về cơ bản sẽ nhân đôi kích thước của input1.mp4 bằng cách đệm phía bên phải với màu đen cùng kích thước với video gốc, sau đó đặt input2.mp4 lên trên cùng của vùng màu đen đó bằng bộ lọc lớp phủ.

Nguồn: https://superuser.com/questions/153160/join-video-split-screen


Không gì -map [vid]làm gì?
0xcaff

@caffinedmonkey [vid]là một cái gọi là linklabel , là nhãn liên kết đầu ra được xác định trong biểu đồ bộ lọc (dòng trên với bộ lọc_complex). Nó ánh xạ đầu ra từ biểu đồ lọc phức tạp sang tệp đầu ra.
Ngày

Tôi đang nhận được Unrecognized option 'crf'. Lỗi tách danh sách đối số: Không tìm thấy tùy chọn. Nếu tôi xóa crthìunrecognized option 'preset'
RS

Bắtno such filter
dùng1767754

25

Thành thật mà nói, sử dụng câu trả lời được chấp nhận dẫn đến rất nhiều khung hình bị bỏ cho tôi.

Tuy nhiên, sử dụng bộ hstacklọc_complex tạo ra đầu ra chất lỏng hoàn hảo:

ffmpeg -i left.mp4 -i right.mp4 -filter_complex hstack output.mp4

22

Điều này có thể được thực hiện chỉ với hai bộ lọc và âm thanh từ cả hai đầu vào cũng sẽ được đưa vào.

ffmpeg -i left.mp4 -i right.mp4 -filter_complex \
"[0:v][1:v]hstack=inputs=2[v]; \
 [0:a][1:a]amerge[a]" \
-map "[v]" -map "[a]" -ac 2 output.mp4
  • hstack sẽ đặt từng video cạnh nhau.
  • amerge sẽ kết hợp âm thanh từ cả hai đầu vào thành một luồng âm thanh đa kênh duy nhất và -ac 2sẽ làm cho âm thanh nổi; không có tùy chọn này, luồng âm thanh có thể kết thúc thành 4 kênh nếu cả hai đầu vào là âm thanh nổi.

Xin chào, tôi có thể chồng một video lên video khác không?
Nisarg

@Nisarg Sử dụng bộ lọc lớp phủ .
llogan

Tôi muốn video trên trong suốt một chút để người ta có thể thấy những gì đang xảy ra trong nền, Bạn có thể giúp tôi không?
Nisarg

Xin chào ngài, bạn có thể quan tâm để xem ra điều này .
Nisarg

1
Tôi bị mất âm thanh với câu trả lời được chấp nhận. Điều này hoạt động hoàn hảo.
Matt Hough

2
ffmpeg -y -ss 0 -t 5 -i inputVideo1.mp4 -ss 0 -t 5 -i inputVideo2.mp4 -i BgPaddingImage.jpg -filter_complex nullsrc=size=720*720[base];[base][2:v]overlay=1,format=yuv420p[base1];[0:v]setpts=PTS-STARTPTS,scale=345*700[upperleft];[1:v]setpts=PTS-STARTPTS,scale=345*700[upperright];[base1][upperleft]overlay=shortest=1:x=10:y=10[tmp1];[tmp1][upperright]overlay=shortest=1:x=366:y=10 -c:a copy -strict experimental -ss 0 -t 5 -preset ultrafast -an output.mp4

Thêm hai video cạnh nhau và cũng thêm hình ảnh quá hạn hiển thị trên video đệm với bạn có thể thay đổi hình ảnh nền [BgPaddingImage.jpg]ở đây đặt đường dẫn hình ảnh bg của bạn.

Hiển thị mục này bên dưới Video tạo từ lệnh trên

nhập mô tả hình ảnh ở đây


1
Ngôn ngữ này là gì? Làm thế nào để bạn chạy nó?
muru

@muru Kiểm tra ngay bây giờ Lệnh FFMPEG của nó ?? :)
Sanjay Hadiya
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.