Làm cách nào tôi có thể chuyển đổi video wmv 1080p sang video 720p?


14

Tôi có video wmv 1080p mà tôi muốn chuyển đổi sang video chất lượng thấp hơn (tốt nhất là 720p). Tôi muốn giữ nguyên âm thanh. Làm thế nào tôi có thể thực hiện điều này trong Ubuntu?

Câu trả lời:


16

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.


1
Tùy chọn 'sameq' đã bị xóa. Nếu bạn đang tìm kiếm một tùy chọn để duy trì chất lượng (không phải là -sameq dành cho), hãy sử dụng -qscale 0 hoặc tùy chọn yếu tố chất lượng tương đương.
juanmah

Theo wiki của ffmpeg , việc này có thể đơn giản như:ffmpeg -i input.avi -vf scale=-1:720 output.avi
andersonvom

4

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 filmtùy chọn đưa ra ở trên có thể được bỏ qua hoặc bạn có thể thử -tune animationtù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 ...


1

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...


1
Bạn không cần chỉ định từng luồng theo cách trên: -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 0thay 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."
Cheekysoft

Tương đương (hiển thị thứ tự tham số):ffmpeg -i input.mkv -map 0 -vf scale=-1:720 -c:copy -c:v libx264 -crf 18 -preset veryslow output.mkv
Cheekysoft
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.