Câu trả lời:
Vì bạn đã sử dụng thẻ ffmpeg nên tôi sẽ sử dụng thẻ đó cho câu trả lời.
ffmpeg -i input.wmv -s hd720 -c:v libx264 -crf 23 -c:a aac -strict -2 output.mp4
Thay đổi chất lượng video bằng cách chỉ định một tham số CRF khác. Xem hướng dẫn mã hóa x264 để biết thêm thông tin.
ffmpeg -i input.avi -vf scale=-1:720 output.avi
Thời gian đã trôi đi một chút kể từ khi câu trả lời được chấp nhận ban đầu cho câu hỏi này vào năm 2012. Các phiên bản mới hơn của FFmpeg sẽ tốt hơn để sử dụng bộ lọc video 'quy mô' của FFmpeg.
Tôi đưa ra một ví dụ dưới đây, sử dụng bộ lọc này, cũng chỉ đơn giản là sao chép đoạn âm thanh như bạn đã yêu cầu:
ffmpeg -i input.wmv \
-c:v libx264 -preset veryslow -tune film -crf 22 -vf scale=-2:720 \
-c:a copy \
output.mp4
Các -tune film
tùy chọn đưa ra ở trên có thể được bỏ qua hoặc bạn có thể thử -tune animation
tùy thuộc vào các loại video clip mà bạn đang sử dụng.
Nếu bạn quyết định rằng bạn muốn chuyển mã âm thanh, một lựa chọn tốt là sử dụng thư viện bên ngoài libfdk_aac như sau:
ffmpeg -i input.wmv \
-c:v libx264 -preset veryslow -tune film -crf 22 -vf scale=-2:720 \
-c:a libfdk_aac -b:a 128k \
output.mp4
Đây chắc chắn là những gì tôi sẽ làm với một tệp wmv mà tôi đã mở rộng, bạn sẽ tìm thấy kết quả nhiều hơn mức chấp nhận được ...
Nếu bạn muốn giữ nguyên vẹn tất cả các bản âm thanh, phụ đề, v.v., bạn nên sử dụng một cái gì đó như thế này:
ffmpeg -i input.mkv \
-map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4 \
-vf scale=-1:720 -c:v libx264 -crf 18 -preset veryslow \
-c:a:0 copy -c:a:1 copy -c:s copy \
output.mkv
Trong trường hợp này, tệp input.mkv có hai bản âm thanh và hai phụ đề. Bạn có thể chỉ định tất cả các bản âm thanh (hoặc phụ đề hoặc video, v.v.) từng cái một hoặc dưới dạng một thực thể (như tôi đã chỉ định cho phụ đề).
Hy vọng nó giúp...
-map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4
Thay vào đó, bạn chỉ có thể chỉ định -map 0
thay thế. Điều này sẽ tự động chọn tất cả các luồng trong đầu vào 0. tương tự với các codec sao chép âm thanh. Các tùy chọn codec duy nhất bạn cần chỉ định là -c:copy -c:v libx264
. Điều này có nghĩa là: "đặt tất cả các codec dòng thành sao chép, ngoại trừ video sẽ chuyển mã thành x264."
ffmpeg -i input.mkv -map 0 -vf scale=-1:720 -c:copy -c:v libx264 -crf 18 -preset veryslow output.mkv