x264低时延低码率高质量调参

h264解码延迟优化_H264编码参数优化:

参考文章:Video Codecs Analysis and Tuning ,文档下载地址:http://www.yuvsoft.com/pdf/x264_parameters_comparison.pdf

文章中详细比较了48种不同x264参数组合,比较得到如下6类最优的x264编译参数,我将文章中的x264参数转化为ffmpge命令参数如下:

1)fastest preset

ffmpeg -i NFSCAR_x360_trackDrift_HD720P.mov -f mp4 -vcodec libx264 -me_method dia -directpred 1 -me_range 16 -subq 1 -b_qfactor 1.5 -bf 1 -acodec libfaac sample_fastest.mp4

2)fast preset

ffmpeg -i NFSCAR_x360_trackDrift_HD720P.mov -f mp4 -vcodec libx264 -subq 1 -acodec libfaac sample_fast.mp4

3)tradeoff preset

ffmpeg -i NFSCAR_x360_trackDrift_HD720P.mov -f mp4 -vcodec libx264 -subq 3 -acodec libfaac sample_tradeoff.mp4

4)good preset

ffmpeg -i NFSCAR_x360_trackDrift_HD720P.mov -f mp4 -vcodec libx264 -bf 3 -bframebias 5 -flags2 +dct8x8+wpred+bpyramid -trellis 1 -acodec libfaac sample_good.mp4

5)best preset

ffmpeg -i NFSCAR_x360_trackDrift_HD720P.mov -f mp4 -vcodec libx264 -bf 4 -flags2 +dct8x8+wpred+bpyramid -trellis 1 -refs 10 -directpred 3 -me_method umh -subq 7 -acodec libfaac sample_best.mp4

6)extra quality preset

ffmpeg -i NFSCAR_x360_trackDrift_HD720P.mov -f mp4 -vcodec libx264 -bf 4 -flags2 +dct8x8+wpred+bpyramid -refs 8 -directpred 3 -me_method umh -subq 7 -pass 1 -acodec libfaac > dev&null

ffmpeg -i NFSCAR_x360_trackDrift_HD720P.mov -f mp4 -vcodec libx264 -bf 4 -flags2 +dct8x8+wpred+bpyramid -refs 8 -directpred 3 -me_method umh -subq 7 -pass 2 -acodec libfaac sample_extra.mp4

下面表格显示在默认参数情况下编码速度以及平均码率相对百分比:

Preset Name Speed, % Average bitrate%

Fastest 47 114

Fast 56 109

Tradeoff 70 102

Good 121 89

Best 369 77

Extra Quality 710 72

我测试分辨率1280 x 720,20帧的赛车视频,视频原始大小100442K,视频使用Sorenson Video 3编码,音频使用

MPEG-1 Layer

3编码,使用上诉5种参数分别编码得到53897K、59303K、60251K、63670K、55405K、55405K。我个人比较倾向于best

preset参数。

在使用使用如下best参数编码的h264视频,播放时最高CPU利用率不超过4%,但效果明显比FLV效果高

ffmpeg -i NFSCAR_x360_trackDrift_HD720P.mov -f mp4 -vcodec libx264

-bf 4 -flags2 +bpyramid+wpred+8x8dct -trellis 1 -refs 10 -directpred 3

-me_method umh -subq 7 -s 352*288 -r 7.5 -aspect 16:9 -acodec libfaac

-ab 32k sample_best_352_288_7.mp4

ffmpeg -i NFSCAR_x360_trackDrift_HD720P.mov -f flv -vcodec flv -acodec libmp3lamesample_352_288.flv

视频大小分别为4212K(x264)、4816K(Flash/Sorenson)

归纳:x264:

profile:baseline

preset:ultrafast

tune:zerolatency

恒定码率crf:28

GOP:50

帧率:25

码率如下表格

1)x264 --preset ultrafast --tune zerolatency --bframes 0 --qp 20 --keyint 60 --min-keyint 60 --bitrate 1024 --vbv-maxrate 1024 --vbv-bufsize 1024 --profile baseline --level 3 --input-res 1920x1080 --fps 30 --output output.h264 input.mp4

x264 --preset ultrafast --tune zerolatency --bframes 0 --qp 20 --keyint 60 --min-keyint 60 --bitrate 1024 --vbv-maxrate 1024 --vbv-bufsize 1024 --profile baseline --level 3 --input-res 1080x720 --fps 30 --output output.h264 input.mp4

2)ffmpeg -i input.mp4 -c:v libx264 -preset ultrafast -tune zerolatency -profile:v baseline -b:v 1500k -s 1280x720 -r 25 -c:a aac -b:a 128k -f flv rtmp://yourserver.com/app/streamkey

3)更高视频质量:

ffmpeg -i input.mp4 -c:v libx264 -profile:v baseline -level 3.0 -preset ultrafast -tune zerolatency -b:v 2M -maxrate 2M -bufsize 1M -c:a aac -b:a 128k -f flv rtmp://server/live/stream

这个命令使用了x264编码器,设置了Baseline Profile和Level 3.0,使用了ultrafast预设和zerolatency选项以达到更低的时延,同时设置了恒定码率和最大码率,以保证视频质量和压缩码率的平衡。需要根据具体情况进行调整。在这个命令中,输出格式是FLV,可以通过RTMP协议将视频流推送到指定的服务器上。

4)这个命令使用了x264编码器,设置了较低的CRF值和最大码率,通过调整QP参数来控制编码质量和码率,同时使用了一些其他参数以达到更好的性能和效果。需要根据具体情况进行调整。在这个命令中,输出格式是H.264,可以根据需要进行转换。

x264 --preset faster --tune film --crf 28 --vbv-maxrate 1000 --vbv-bufsize 2000 --level 3.1 --profile baseline --output output.h264 input.mp4

相关推荐
shix .5 小时前
bilibili视频总结
音视频
lovep115 小时前
音频-文本对比学习:LARGE-SCALE CONTRASTIVE LANGUAGE-AUDIO PRETRAINING论文翻译和理解
音视频·glap·音频理解·音频对比学习·laion-audio·音频检索
codelancera1 天前
ffmpeg-调整视频分辨率
ffmpeg·音视频
天向上1 天前
手机端的音视频界面或者图片文档界面共享给大屏
智能手机·音视频·多平台·手机投屏·多屏互动
ECC&SM92 天前
Video_AVI_Packet(1)
笔记·音视频
Evaporator Core2 天前
Windows批处理脚本自动合并当前目录下由You-get下载的未合并的音视频文件
windows·音视频
ue星空2 天前
UE5配置MRQ编解码器输出MP4视频
ue5·音视频
CV实验室2 天前
CVPR 2025 | 北大团队SLAM3R:单目RGB长视频实时重建,精度效率双杀!
人工智能·计算机视觉·论文·音视频
chenchao_shenzhen2 天前
RK3568嵌入式音视频硬件编解码4K 60帧 rkmpp FFmpeg7.1 音视频开发
ffmpeg·音视频·rk3588·音视频开发·嵌入式开发·瑞芯微rk3568·硬件编解码
音视频牛哥2 天前
H.264、H.265 到 H.266:编码标准演进、RTSP支持与实时视频系统实战
音视频·大牛直播sdk·h.266编码·rtmp h.266·rtsp h.266·h.266解码·h.265和h.266差异