thắc mắc Làm thế nào để ffmpeg sử dụng 100% GPU?

  • Người tạo chủ đề Người tạo chủ đề yeugamelam
  • Ngày bắt đầu Ngày bắt đầu
Nếu chỉ cần đổi container thì nó là remux thôi và nó nhanh chứ nhỉ. Bình thường mình ít khi thấy H265 10 bit trong MP4 container. Nếu player mà không hỗ trợ H265 10 bit thì đổi container chắc cũng không chạy được đâu ...


Ấn phát xong luôn. Cỡ 0.5 giây gì đấy cái file này
Ok để thử câu lệnh này xem
 
Nếu chỉ cần đổi container thì nó là remux thôi và nó nhanh chứ nhỉ. Bình thường mình ít khi thấy H265 10 bit trong MP4 container. Nếu player mà không hỗ trợ H265 10 bit thì đổi container chắc cũng không chạy được đâu ...


Ấn phát xong luôn. Cỡ 0.5 giây gì đấy cái file này
Get-ChildItem -Path C:\ffmpeg\ab | ForEach-Object { ffmpeg -i $.FullName -c:v h264_nvenc -crf 16 -c:a copy -y "C:\ffmpeg\ab\b2\$($.Name).mp4" }
tôi xài lệnh này để convert tất cả các file trong C:\ffmpeg\ab sang mp4 và bỏ vô folder C:\ffmpeg\ab\b2 thì thấy các file output bitrate bị giảm đi hơn 1 nửa có cách nào khắc phục không bác?

p/s: đã thêm -b:v 4000k hoặc -b 4000k -minrate 4000k -maxrate 4000k nhưng không thấy thay đổi gì!
 
Get-ChildItem -Path C:confused:ffmpeg\ab | ForEach-Object { ffmpeg -i $.FullName -c:v h264_nvenc -crf 16 -c:a copy -y "C:confused:ffmpeg\ab\b2\$($.Name).mp4" }
tôi xài lệnh này để convert tất cả các file trong C:confused:ffmpeg\ab sang mp4 và bỏ vô folder C:confused:ffmpeg\ab\b2 thì thấy các file output bitrate bị giảm đi hơn 1 nửa có cách nào khắc phục không bác?

p/s: đã thêm -b:v 4000k hoặc -b 4000k -minrate 4000k -maxrate 4000k nhưng không thấy thay đổi gì!

Bạn check docs của NVENC nhé
https://gist.github.com/nico-lab/e1ba48c33bf2c7e1d9ffdd9c1b8d0493

Ít nhất là -crf không có tác dụng rồi đấy. nvenc nó dùng 2 cái flag bên dưới

-cbr <boolean> E..V....... Use cbr encoding mode (default false)

-rc
constqp 0 E..V....... Constant QP mode
vbr 1 E..V....... Variable bitrate mode
cbr 2 E..V....... Constant bitrate mode

Còn thay đổi hẳn encoding thì nó ra khác bitrate ban đầu là đúng rồi.
Nói thêm 1 chút là sử dụng các kỹ thuật encoding khác nhau, các codec khác nhau thì bit rate giống nhau chất lượng khác nhau là bình thường. Có những kỹ thuật chất lượng rất tốt ở một số điều kiện nhưng lại kém ở điều kiện khác (các biến số như bit rate, tốc độ encode, mức độ khác nhau giữa các khung hình, dynamic range của từng khung hình... )
 
Bạn check docs của NVENC nhé
https://gist.github.com/nico-lab/e1ba48c33bf2c7e1d9ffdd9c1b8d0493

Ít nhất là -crf không có tác dụng rồi đấy. nvenc nó dùng 2 cái flag bên dưới

-cbr <boolean> E..V....... Use cbr encoding mode (default false)

-rc
constqp 0 E..V....... Constant QP mode
vbr 1 E..V....... Variable bitrate mode
cbr 2 E..V....... Constant bitrate mode

Còn thay đổi hẳn encoding thì nó ra khác bitrate ban đầu là đúng rồi.
Nói thêm 1 chút là sử dụng các kỹ thuật encoding khác nhau, các codec khác nhau thì bit rate giống nhau chất lượng khác nhau là bình thường. Có những kỹ thuật chất lượng rất tốt ở một số điều kiện nhưng lại kém ở điều kiện khác (các biến số như bit rate, tốc độ encode, mức độ khác nhau giữa các khung hình, dynamic range của từng khung hình... )
đọc mà không hiểu bác ơi, chỉ muốn tìm 1 câu lệnh xài được thôi :)
 
1692690701495.png


1692690837544.png


Trước tiên thử

Chỉ dùng -rc cbr và -b:v 4000K

Bỏ bớt mấy cái kia đi
 
Mình hay convert mấy phim .MKV 4K hoặc mấy định dạng .m2ts trong mấy đĩa ISO thì thấy mấy phần mềm có sẵn làm quá chậm và ăn rất nhiều CPU trong khi máy mình có xài RTX3080 thấy phí quá , thử nghía qua thằng ffmpeg thì lại không rành lệnh lắm. Bác nào cho xin mấy câu lệnh kiểu như:
1. lệnh convert từ mkv qua mp4 có thể chỉnh thông số độ phân giải + bitrate video theo ý mình.
2. lệnh giảm bitrate video từ mkv qua mkv và giữ nguyên mấy thông số còn lại.
sài seven converter tren github ấy. nó ui của ffmpeg nên dễ sài lắm nha
 

Thống kê chủ đề

Ngày tạo
yeugamelam,
Người trả lời cuối
begoodman,
Trả lời
36
Lượt xem
4.644
Quay lại
Lên đầu trang