Làm thế nào để mã hóa H.265 Video bằng cách sử dụng ffmpeg trên Linux
Hầu như tất cả các video chúng tôi xem, trên truyền hình mặt đất kỹ thuật số, qua cáp, từ vệ tinh, hoặc qua Internet, được nén. Video thô, không nén chỉ quá lớn và sẽ lãng phí quá nhiều băng thông. Quay trở lại trước DVD và Blu-ray, có đĩa CD Video (VCD). Đây là định dạng đầu tiên được sử dụng để phân phối thương mại các bộ phim trên các đĩa quang tiêu chuẩn 120 mm (4, 7 inch). Video trên đĩa được mã hóa theo định dạng MPEG-1, định dạng nén mất dữ liệu được thiết kế để truyền dữ liệu video ở tốc độ 1, 5 Mbit / s. Có lẽ thành phần nổi tiếng nhất của chuẩn MPEG-1 là định dạng nén âm thanh của nó. Chính thức gọi là MPEG-1 Audio Layer III, bạn có thể biết nó như MP3.
Sau khi MPEG-1 đến MPEG-2, được chọn làm chuẩn nén video cho video DVD. Nó cũng được sử dụng làm chuẩn video cơ bản cho vệ tinh kỹ thuật số (DVB-S) và truyền hình số mặt đất (DVB-T). MPEG-2 cũng được Liên minh Viễn thông Quốc tế (ITU) phê chuẩn là H.262. Sau khi DVD đến Blu-ray, cũng như hỗ trợ video được mã hóa trong MPEG-2, cũng hỗ trợ H.264 hoặc MPEG-4 Phần 10, Mã hóa Video Nâng cao (MPEG-4 AVC) vì nó đã được chính thức biết đến.
- MPEG-1: Được sử dụng cho CD video
- MP3: Một phần của chuẩn MPEG-1, phổ biến nhất hiện nay
- MPEG-2 / H.262: Được sử dụng cho DVD và các phương tiện kỹ thuật số khác
- MPEG-4 Phần 10 / H.264: Được sử dụng trong Blu-ray
- MPEG-H / H.265: Định dạng mã hóa thế hệ tiếp theo có hỗ trợ độ phân giải 4K và 8K
Sau khi H.264 đến H.265. Nó cũng có một vài tên khác, mã hóa Video hiệu quả cao nhất (HEVC) hoặc MPEG-HH265 tăng gấp đôi tỷ lệ nén dữ liệu so với H.264 và có thể hỗ trợ độ phân giải lên tới 8192 × 4320. Điều này có nghĩa là video có cùng chất lượng chỉ cần một nửa băng thông (hoặc kích thước tệp). Thay vào đó, điều đó có nghĩa là chất lượng của video có thể được cải thiện đáng kể ở cùng tốc độ bit, một điều rất quan trọng đối với các màn hình độ nét rất cao (tức là 4K và 8K).
Tin tốt cho người dùng Linux là codec H.265 có sẵn trong bộ mã hóa phổ biến “ffmpeg.” Mặc dù ffmpeg có thể tồn tại trong kho lưu trữ của distro, nó có thể lỗi thời hoặc có thể không hỗ trợ H.265 được biên dịch Cách dễ nhất để có được phiên bản ffmpeg mới nhất và chức năng nhất là tải xuống các bản dựng liên kết tĩnh.
Tải xuống tệp .tar.xz 32 bit hoặc 64 bit. Nếu bạn không chắc chắn nên tải xuống ứng dụng nào, hãy sử dụng phiên bản 32 bit. Trong thư mục mà bạn đã tải xuống tệp, hãy chạy lệnh sau để giải nén tệp lưu trữ:
tar xvf ffmpeg-2.4-32bit-static.tar.xz
Trong đó “ffmpeg-2.4-32bit-static.tar.xz” là tên của tệp bạn đã tải xuống.
Điều này sẽ tạo ra một thư mục được gọi là "ffmpeg-2.4-32bit-static". Trong thư mục đó là các tệp nhị phân “ffmpeg” và “ffprobe” (cùng với một vài tệp nhị phân khác). Để mã hóa video ở định dạng H.265, hãy sử dụng lệnh sau:
./ffmpeg -i video.mp4 -c: bản sao -c: v libx265 video-h265.mp4
Tham số -i
chỉ định tệp video đầu vào, trong trường hợp này là “video.mp4”. ffmpeg có thể giải mã toàn bộ các định dạng video bao gồm .avi, .mp4 và .mov.
Các -c:a copy
tham số -c:a copy
cho ffmpeg để sao chép các dòng âm thanh từ tập tin gốc trực tiếp vào tập tin đầu ra. Trong khi -c:v libx265
yêu cầu ffmpeg mã hóa tệp video mới ở định dạng H.265.
Tham số cuối cùng là tên tệp mong muốn của đầu ra được mã hóa H.265. ffmpeg có thể tạo các tệp .mp4, .mov và .mkv với video được mã hóa H.265.
Khi mã hóa đã hoàn tất, hãy xem kích thước tệp của hai video; bạn sẽ thấy giảm đáng kể kích thước tệp của video được mã hóa H.265:
ls video.mp4 video-h265.mp4
Để kiểm tra xem tệp đã được mã hóa chính xác chưa, hãy sử dụng lệnh ffprobe
như sau:
ffprobe video-h265.mp4
Đầu ra sẽ cho thấy luồng video (có thể là dòng # 0) được mã hóa bằng hvec
, tức là H.265. Luồng âm thanh sẽ được mã hóa ở bất kỳ định dạng nào đã được sử dụng trong tệp gốc vì nó chỉ được sao chép từ một đến cái khác.
Nếu bạn có bất kỳ câu hỏi nào về ffmpeg, có một cộng đồng sôi động với danh sách gửi thư, các kênh IRC và các diễn đàn. Nếu bạn có bất kỳ câu hỏi nào về các ví dụ được nêu ở trên, vui lòng sử dụng phần bình luận bên dưới và chúng tôi sẽ xem chúng tôi có thể trợ giúp không.