sử dụng ffmpeg để chuyển đổi mp4 thành tập tin avi chất lượng cao?


28

Tôi muốn sử dụng ffmpeg để chuyển đổi tệp video mp4 thành avi nhưng có cùng chất lượng, ngay cả khi nó chiếm nhiều dung lượng hơn. Nếu tôi chỉ đơn giản là làm:

ffmpeg -i file.mp4 file.mp4.avi

Các tập tin avi kết quả là chất lượng rất thấp và pixelated. Làm cách nào để thực hiện chuyển đổi này trong khi vẫn giữ được chất lượng video và âm thanh?


3
Bạn có thể sử dụng -sameqchuyển đổi, sẽ đặt cùng một codec video (giả sử H264) trong bộ chứa AVI. Nếu trình phát của bạn không hỗ trợ H264 trong AVI, thì bạn cần chuyển mã định dạng video tốt nhất có thể (H264) sang một số định dạng tầm thường, điều này là không tốt. Sau đó, bạn chỉ định tốc độ bit video XVID cao hơn (giả sử 2000 Kb / s). Âm thanh không quan trọng bằng IMHO, nhưng tốt hơn là chuyển đổi sang MP3 rồi AC3
zetah

Câu trả lời:


16

Bạn luôn mất một chút chất lượng bất cứ khi nào bạn chuyển mã từ codec này sang codec khác, video hoặc âm thanh, nhưng có lẽ bạn có thể tránh nó nếu bạn chỉ muốn thay đổi từ loại thùng chứa MP4 sang thùng chứa AVI. codec:copycó thể hữu ích nếu bạn không có lý do để chuyển mã (và nó sẽ nhanh hơn).

Nếu bạn phải chuyển mã vì bạn cần sử dụng một codec video cụ thể, tôi hy vọng bạn có thể sử dụng đề xuất của zetah ở trên trong nhận xét của mình và sử dụng công -sameqtắc. Ngoài ra, bạn có thể muốn sử dụng qscaletùy chọn để đặt chất lượng theo cách thủ công. Con số càng thấp thì chất lượng càng tốt, nhưng tệp của bạn sẽ càng chiếm nhiều dung lượng.

Lần cuối cùng tôi chuyển mã video tôi đã sử dụng qscale=8.0, nhưng tôi khuyên bạn nên thử nghiệm để tìm ra mức tối ưu để phù hợp với chất lượng đầu vào của bạn.

Marty Jay đề cập một cách hữu ích rằng sameq có nghĩa là cùng một lượng tử như trong đầu vào, điều này có thể không dẫn đến chất lượng như nhau. Bài báo ông trích dẫn đề cập đến việc sử dụng chuyển đổi nhiều lượt, đó là một cách tốt để đạt được nén tốt hơn mà không làm giảm chất lượng.


Cảm ơn vì những lời khuyên, tôi sẽ thử -sameqxem nó diễn ra như thế nào.
719016

8
-sameq KHÔNG có nghĩa là cùng chất lượng; ffmpeg.org/trac/ffmpeg/wiki/ Ấn

3
Có vẻ như được khuyến nghị sử dụng -qscale 0tùy chọn
user989762

Khá cũ, nhưng tôi đã nhận được cảnh báo này khi cố gắng thực hiện điều này ngày hôm nay:Option 'sameq' was removed. If you are looking for an option to preserve the quality (which is not what -sameq was for), use -qscale 0 or an equivalent quality factor option.
Dave Lugg

10

Giải pháp của tôi:

ffmpeg -i filename.mp4 -vcodec copy -acodec copy filename.avi

Thưởng thức!!


2
Xin lưu ý rằng việc nhúng các luồng AVC trong các bộ chứa AVI yêu cầu một bản hack được nhiều trình phát video hướng đến cộng đồng hỗ trợ (ví dụ: VLC, MPlayer, bất cứ thứ gì FFmpeg / Libav hoặc GStreamer, Media Player Classic) nhưng không phải bởi nhiều trình phát thương mại (ví dụ: Windows Media Player và QuickTime / iTunes không hỗ trợ nó).
David Foerster

4

Đây là 2-pass (Hồ sơ đơn giản nâng cao) mà tôi sử dụng bây giờ và sau đó.

vượt qua 1:

ffmpeg -i file.mp4 -vcodec mpeg4 -vtag XVID -b 990k -bf 2 -g 300 -s 640x360 -pass 1 -an -threads 0 -f rawvideo -y /dev/null

vượt qua 2:

ffmpeg -i file.mp4 -vcodec mpeg4 -vtag XVID -b 990k -bf 2 -g 300 -s 640x360 -acodec libmp3lame -ab 128k -ar 48000 -ac 2 -pass 2 -threads 0 -f avi file.avi

Thật tuyệt, đã tạo cho tôi một avi rất nhỏ với chất lượng rất tốt!
jpo38
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.