Tôi có một video dài với nhiều cảnh khác nhau trong đó. Tôi muốn trích xuất và ghép 2 cảnh từ video (không bắt đầu trên khung hình I) bằng cách sử dụng ffmpeg 2.1.4.
Để tranh luận, giả sử tôi muốn 5 giây từ 01:00 và 02:00.
Tôi có thể làm điều này:
ffmpeg -ss 01:00 -i in.mkv -ss 02:00 -i in.mkv -filter_complex "
[0:v]select='lt(t,5)'[v0];
[0:a]aselect='lt(t,5)'[a0];
[v0][a0][1:v][1:a]concat=n=2:v=1:a=1
" -c:a libvorbis -t 10 out.mkv
Điều đó mang lại cho tôi bộ phim tôi muốn, nhưng thực sự chọn buộc ffmpeg phải giải mã toàn bộ phần còn lại của bộ phim. Vì vậy, làm thế nào để tôi nói với nó để cắt ngắn bộ phim đầu tiên thay vì giải mã nó?
Tôi muốn làm điều này với bộ lọc phức tạp ffmpeg, nếu có thể. Tôi biết rằng trước tiên tôi chỉ có thể sử dụng -t
để mã hóa lại các phim riêng biệt, nhưng bước mã hóa bổ sung rất chậm trong trường hợp của tôi và cũng làm mất một lượng chất lượng tương đối cho video này.
Tôi dường như không thể tìm thấy một bộ lọc cắt ngắn chiều dài của hơi nước. Có các nút lọc tương ứng với -t
hoặc -ss
tham số không?