FFMPEG: H265, Maxrate không hoạt động


2

Lệnh này hoạt động với tôi với codec h264.

ffmpeg -i a.mp4 -c:v libx264 -maxrate 800k -bufsize 800k -ar 48k -ab 192k b.mp4

Tuy nhiên, với libx265 thay vì libx264 trong lệnh đó, đầu ra kết thúc giống hệt như nó sẽ không có các tham số maxrate và bufsize trong nó. Như thể h265 bỏ qua các tham số đó. Đó là trường hợp, hoặc có một lý do khác tại sao điều này có thể không hoạt động?

CẬP NHẬT:

Tôi đã đổi libx265 thành hevc_nvenc. Bây giờ, nó dường như xử lý tối đa và bufsize chính xác, nhưng không phải là b: v. Ngược lại, libx265 có thể xử lý b: v nhưng không phải là tối đa và bufsize đã nói ở trên!

CẬP NHẬT 2: Trình bao bọc x265 của FFmpeg đã được cập nhật và giờ đây cuối cùng đã có thể nhận được các bufsize và maxrate của libavcodec.


Tốc độ bit thu được là gì?
Gyan

@Gyan 1) Với libx265: -maxrate 2000k -bufsize 2000k cho ra 2458 kbps 2648 kbps. 2) Với hevc_nvenc: -b: v 2000k cho ra 2380 kbps 2569 kbps
abcjme

ok, để tôi kiểm tra trình bao bọc x265 của ffmpeg
Gyan

Câu trả lời:


2

Trình bao bọc x265 của FFmpeg không nhận được bufsize và maxrate của libavcodec, vì vậy bây giờ, bạn có thể chuyển nó một cách riêng tư.

ffmpeg -i a.mp4 -c:v libx265 -x265-params "vbv-maxrate=800:vbv-bufsize=800" ...

Các đơn vị tính bằng kilobit, không giống như libavcodec, tính bằng bit.

Tôi sẽ cập nhật bài đăng này khi trình bao bọc chọn các tùy chọn chung.


Tại sao nó hoạt động với hevc_nvenc mà không phải với libx265? Có bất kỳ khuyết điểm nào đối với tôi khi chỉ gắn bó với hevc_nvenc không? Thật tuyệt, liệu trình bao bọc có được các tùy chọn chung trong tương lai gần không? Btw, cảm ơn vì tất cả sự giúp đỡ và thông tin!
abcjme

1
Hy vọng, tôi sẽ đẩy nó trong vòng một vài ngày.
Gyan

Có vẻ như nó đã được đẩy ngay bây giờ. Tuyệt vời!
abcjme

1
Áp dụng ngày hôm qua.
Gyan
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.