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

相关推荐
毕设做完了吗?10 天前
视频相似度检测算法(带课设报告)
人工智能·算法·机器学习·音视频
语音之家10 天前
2025年CCF先进音频技术竞赛
人工智能·音视频
音视频牛哥10 天前
音视频全链路开发实践:基于SmartMediakit的架构设计与应用实战
音视频·大牛直播sdk·rtsp播放器·rtmp播放器·安卓rtmp播放器·rtmpplayer·linux rtsp
十年编程老舅10 天前
音视频流媒体高级开发-学习路线
ffmpeg·音视频·音视频开发·音视频编解码·c++音视频·流媒体服务器·音视频学习路线
weisian15111 天前
一款强大的音视频处理工具--FFmpeg-2--常用音频处理示例
音视频·mpeg-2
9527华安11 天前
国产安路FPGA实现MIPI视频解码转HDMI输出,基于SC500摄像头,提供TD工程源码和技术支持
fpga开发·音视频·csi·mipi·dphy·安路fpga·sc500
niech_cn11 天前
微信小程序扫码添加音频播放报错{errCode:10001, errMsg:“errCode:602,err:error,not found param“}
微信小程序·小程序·音视频
扫地僧98511 天前
免费1000套编程教学视频资料视频(涉及Java、python、C C++、R语言、PHP C# HTML GO)
java·c++·音视频
dualven_in_csdn11 天前
创世新布控球 国标
音视频
2501_9205525612 天前
Mac电脑-音视频剪辑编辑-Final Cut Pro X(fcpx)
macos·音视频·mac