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

相关推荐
REDcker11 天前
WebCodecs VideoDecoder 的 hardwareAcceleration 使用
前端·音视频·实时音视频·直播·webcodecs·videodecoder
gihigo199811 天前
基于TCP协议实现视频采集与通信
网络协议·tcp/ip·音视频
山河君11 天前
四麦克风声源定位实战:基于 GCC-PHAT + 最小二乘法实现 DOA
算法·音视频·语音识别·信号处理·最小二乘法·tdoa
音视频牛哥11 天前
Android平台RTMP/RTSP超低延迟直播播放器开发详解——基于SmartMediaKit深度实践
android·人工智能·计算机视觉·音视频·rtmp播放器·安卓rtmp播放器·rtmp直播播放器
qq_4162764211 天前
通用音频表征的对比学习
学习·音视频
美狐美颜sdk11 天前
Android全局美颜sdk实现方案详解
人工智能·音视频·美颜sdk·视频美颜sdk·美狐美颜sdk
EasyDSS11 天前
私有化部署EasyDSS视频点播能力:全链路视频技术赋能,打造企业级视听新体验
音视频·hls·m3u8·点播技术·智能转码
qq_4162764211 天前
DeLoRes——一种通用的音频表征学习新方法(DeLoRes(基于 Barlow Twins 的冗余最小化方法)
学习·音视频
Q_45828386811 天前
从定位到视频:808 + 1078 在各行业的落地实践
音视频
山顶望月川11 天前
实测MiniMax-Hailuo-02:当“开工大吉“变成“无字天书“,国产AI视频模型的能与之不能
人工智能·音视频