Mã hóa với ffmpeg bằng avi sang mp4


27

Những dòng lệnh nào được sử dụng để chuyển đổi từ avi sang mp4, nhưng không phá hủy frameize và làm cho tệp nhỏ như kích thước ban đầu hoặc lớn hơn một chút, và điều tương tự với mp4 sang avi? Bất cứ khi nào tôi cố gắng chuyển đổi, nó trở thành 2 gb

Câu trả lời:


33

Tùy thuộc vào cách tệp gốc của bạn được mã hóa, có thể không giữ được kích thước tệp.

ffmpeg -i infile.avi youroutput.mp4

phải giữ nguyên kích thước khung hình và tốc độ trong khi tạo tệp mp4.

ffmpeg -i infile.avi

sẽ cung cấp cho bạn thông tin về tệp đầu vào của bạn - kích thước khung, codec được sử dụng, bitrate, v.v.

Bạn cũng có thể chơi với acodecvcodeccác tùy chọn khi bạn tạo đầu ra của mình. Cũng cần nhớ rằng các tệp mp4 và avi có thể sử dụng nhiều loại codec khác nhau và số dặm của bạn có thể thay đổi tùy theo loại codec bạn chọn.


6
Tôi nghĩ rằng tốt hơn là sử dụng ffprobe -i infile.avithay vì ffmpeg -i infile.aviđể nhận thông tin, vì kết quả sau này gây ra lỗi "Ít nhất một tệp đầu ra phải được chỉ định".
Francesco Turco

Cảm ơn, Francesco. Cách tiếp cận của bạn thanh lịch hơn của tôi ;-)
rbanffy

6

Tôi đã rất quan tâm đến việc chuyển đổi tập tin avi sang mp4. Đọc bài viết của bạn, tôi nhớ lệnh ffmpeg này:

ffmpeg -i input.avi -strict -2 output.mp4

Lệnh -strict -2được yêu cầu bởi codec AAC là thử nghiệm, nhưng hoạt động (libaac), nếu bạn thêm hai tham số đó. Các tập tin đầu ra là chất lượng cao theo mặc định.


2

Theo tôi hiểu, cần phải thay thế avi-container bằng mp4 một (chính thức - định dạng tệp phương tiện cơ sở ISO ISO / IEC 14496-12).

nếu bạn chạy lệnh sau:

ffmpeg -i input.avi -y output.mp4

Trong trường hợp như vậy, ffmpeg mã hóa lại các luồng cơ bản trong input.avi (thùng chứa cahnge và mã hóa lại là chế độ mặc định của ffmpeg ). Điều đáng chú ý là mã hóa lại có thể làm giảm chất lượng hình ảnh và / hoặc thính giác.

Do đó, bạn nên tắt mã hóa lại bằng các tùy chọn codec " c: v copy c: a copy ":

ffmpeg -i input.avi -c:v copy -c:a copy -y output.mp4

Trong trường hợp trên, ffmpeg chỉ thay đổi shell (container)


0

Tôi đã tìm thấy cái này :: Libav trong Linux.

Cài đặt: chạy lệnh

sudo apt-get install libav-tools

Lệnh chuyển đổi video:

Chuyển đến thư mục chứa video và chạy trong thiết bị đầu cuối

avconv -i oldvideo.mp4 -ar 22050 convertedvideo.webm
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.