Lý lịch
FFmpeg hỗ trợ mã hóa HEVC / H.265 kể từ 2014-2-12 với libx265. Bây giờ bạn có thể sử dụng ffmpeg trực tiếp để mã hóa HEVC hoặc sử dụng một bộ mã hóa khác sau đó chuyển thủ công vào .mp4, .mov hoặc .mkv bằng FFmpeg.
Bộ mã hóa có sẵn
Bộ mã hóa H.265 / HEVC hiện tại là:
Chỉ MulticoreWare và DivX được đề xuất vì thời gian phát triển và độ tin cậy của chúng.
Hai x265
Một sự nhầm lẫn là có hai dự án độc lập được đặt tên là "x265", một dự án của một sinh viên đại học Trung Quốc và thực tế đã chết, và một dự án khác của một công ty thương mại có tên MulticoreWare. Mặc dù cái trước bắt đầu trước, nhưng thực tế nó đã chết và cái sau đang được phát triển tích cực và được xác nhận bởi Videolan (nhà phát triển của x264).
Dòng thời gian của FFmpeg Hỗ trợ mã hóa HEVC
- 2013-10-12 .mov hỗ trợ muxing được thêm vào
53f903b
.
- 2014/02/12 hỗ trợ mã hóa libx265 được thêm vào
bb6b173
.
- 2014 / 03-09 Hỗ trợ thêm Matroska đầy đủ cho HEVC được thêm vào
38aee64
.
- 2014 / 03-09 Hoàn thành đầy đủ hơn .mov và hỗ trợ muxing .mp4 mới được thêm vào
9563e67
.
tl; dr
Dù sao, đây là một bộ đầy đủ các khả năng hiện tại của mã hóa HEVC theo khuyến nghị của tôi:
Trực tiếp sử dụng MulticoreWare libx265 với FFmpeg. Điều này có nghĩa là với bản dựng Zeranoe mới nhất, bây giờ bạn có thể làm điều này:
ffmpeg -i INPUT -c:v libx265 -an -x265-params crf=25 OUT.mov
# With audio
ffmpeg -i INPUT -c:v libx265 -c:a copy -x265-params crf=25 OUT.mov
Lưu ý: FFmpeg xây dựng mới hơn 2014 / 03-09 cho phép bạn chuyển HEVC thành các tệp .mp4 ngay bây giờ (cam kết 9563e67):
ffmpeg -i INPUT -c:v libx265 -an -x265-params crf=25 OUT.mp4
Bạn cũng có thể điều khiển nó trong Matroska (.mkv):
ffmpeg -i INPUT -c:v libx265 -an -x265-params crf=25 OUT.mkv
Sử dụng MulticoreWare x265 độc lập và sau đó mux tệp kết quả với FFmpeg hoặc MP4Box . Điều này sẽ hoạt động với các bản dựng FFmpeg cũ hơn không có hỗ trợ libx265.
# Decode input using FFmpeg and encode using x265 using pipe
ffmpeg -i INPUT -f yuv4mpegpipe -pix_fmt yuv420p - | \
x265 --y4m -o encoded.265 -
# Mux the resulting encoded .265 file into an .mp4 or .mov
# Using ffmpeg: only works with newer builds that support muxing HEVC
# Muxing to .mp4 supported since 03-09-2014
ffmpeg -i encoded.265 -c copy out.mp4
# With audio
ffmpeg -i encoded.265 -i INPUT -map 0 -map 1:a -c copy out.mp4
# Using MP4Box
MP4Box -add raw.265 out.mp4
# With audio
MP4Box -add {INPUT}#audio -add raw.265 out.mp4
Cảm ơn @Duvrai.
Sử dụng DivX HEVC Encoder và sau đó mux nó.
Cách sử dụng tương tự như sử dụng độc lập x265 (xem bên trên).
Cập nhật: FFmpeg hiện có hỗ trợ mã hóa HEVC bằng MulticoreWare libx265.
Cập nhật 2: FFmpeg hiện đã hỗ trợ chuyển HEVC sang mp4 VÀ Mov ngay bây giờ.
crf=25
đại diện trong các lệnh ví dụ, đây là hướng dẫn CRF: slhck.info/articles/crf