ffmpeg 轉碼執行緒數的控制

2021-08-25 19:28:46 字數 1119 閱讀 1542

ffmpeg -threads 1 -i 1080p_daxiongtu_30fps_2d.mp4 -c:v libx264 -s 3840x2160 -b:v 20m -r 120 -profile:v high -preset veryslow -threads 1 -c:a copy -f mp4 rm.mp4 -y

這裡配置 編碼執行緒為 1 ,解碼執行緒為 1

通過 top 可以發現單核的 cpu 使用率到了 100%

通過 ps 檢視 ffmpeg 的執行緒數,可以看到是乙個執行緒

[root@bogon ~]# ps -t -p 21097

pid spid tty time cmd

21097 21097 pts/5 00:00:55 ffmpeg

可以看到 threads 的值為1

[root@bogon ~]# cat /proc/21097/status 

name: ffmpeg

state: r (running)

tgid: 21097

ngid: 0

pid: 21097

ppid: 20392

tracerpid: 0

uid: 0 0 0 0

gid: 0 0 0 0

fdsize: 256

groups: 0

vmpeak: 3191924 kb

vmsize: 3191924 kb

threads: 1

sigq: 0/61948

sigpnd: 0000000000000000

seccomp: 0

cpus_allowed: ff

cpus_allowed_list: 0-7

mems_allowed_list: 0

voluntary_ctxt_switches: 5

nonvoluntary_ctxt_switches: 3839

ffmpeg 在配置單執行緒轉碼過程中是序列處理的方式,media的處理都是在主線程內完成了

這樣的架構在伺服器或者是多核機器裡面,就會出現cpu利用率不高的情況,發現cpu只用了30%,但是轉碼缺轉不動的情況了;

ffmpeg的轉碼延時測試與設定優化

我測試了下ffmpeg直播流的轉碼延時,這些引數對檔案的轉碼也是通用的 測試環境 ffmpeg 版本為v3.0.2 從同一臺伺服器拉流,轉碼再推送到同一臺伺服器上,這樣減少了伺服器與網路影響 1.設定slow引數 ffmpeg i rtmp vcodec libx264 preset slow b ...

ffmpeg的轉碼延時測試與設定優化

分類 雲計算 我測試了下ffmpeg直播流的轉碼延時,這些引數對檔案的轉碼也是通用的 測試環境 ffmpeg 版本為v3.0.2 從同一臺伺服器拉流,轉碼再推送到同一臺伺服器上,這樣減少了伺服器與網路影響 1.設定slow引數 ffmpeg i rtmp vcodec libx264 preset ...

ffmpeg的轉碼延時測試與設定優化

我測試了下ffmpeg直播流的轉碼延時,這些引數對檔案的轉碼也是通用的 測試環境 ffmpeg 版本為v3.0.2 從同一臺伺服器拉流,轉碼再推送到同一臺伺服器上,這樣減少了伺服器與網路影響 1.設定slow引數 ffmpeg i rtmp vcodec libx264 preset slow b ...