本文主要是介绍libx264 api example,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这个是libx264的使用例子,从标准输入读取YUV原始数据,需要知道分辨率,才能得知一帧需要读取多大,width*height,
然后转换为h264编码压缩格式的,从标准输出输出。
这里在命令行中使用了输入重定入 < 123.yuv 将原始数据输入
使用了输出重定向 >libx264test.264 将输出重写向到一个文件中。
然后使用baofengyingyin直接播放这个h264文件,就可以播放出来。
shell.albert@yantai:~/libx264> gcc example.c -I/home/shell.albert/libx264/include -L/home/shell.albert/libx264/lib -lx264
shell.albert@yantai:~/libx264> ./a.out 352x240 <123.yuv >libx264123.264x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.1 Cache64
x264 [info]: profile High, level 1.3
x264 [info]: frame I:1 Avg QP:27.59 size: 16356
x264 [info]: frame P:3 Avg QP:29.87 size: 6729
x264 [info]: frame B:2 Avg QP:31.09 size: 3916
x264 [info]: consecutive B-frames: 33.3% 66.7% 0.0% 0.0%
x264 [info]: mb I I16..4: 0.6% 77.9% 21.5%
x264 [info]: mb P I16..4: 0.3% 12.8% 15.1% P16..4: 34.6% 15.5% 14.6% 0.0% 0.0% skip: 7.1%
x264 [info]: mb B I16..4: 0.0% 1.4% 6.2% B16..8: 30.3% 17.1% 11.4% direct: 3.8% skip:29.8% L0:32.9% L1:57.0% BI:10.1%
x264 [info]: 8x8 transform intra:59.6% inter:61.1%
x264 [info]: coded y,uvDC,uvAC intra: 98.6% 91.8% 77.5% inter: 42.2% 25.1% 9.2%
x264 [info]: i16 v,h,dc,p: 20% 0% 20% 60%
x264 [info]: i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 6% 26% 19% 5% 8% 5% 11% 6% 14%
x264 [info]: i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 12% 16% 12% 7% 12% 9% 13% 7% 12%
x264 [info]: i8c dc,h,v,p: 52% 26% 14% 8%
x264 [info]: Weighted P-Frames: Y:0.0% UV:0.0%
x264 [info]: ref P L0: 49.7% 12.0% 21.2% 17.1%
x264 [info]: ref B L0: 80.5% 19.5%
x264 [info]: kb/s:1479.20
shell.albert@yantai:~/libx264> ls -l 123.yuv libx264123.264
-rw-r--r-- 1 shell.albert users 760320 Apr 24 14:41 123.yuv
-rw-r--r-- 1 shell.albert users 44376 Apr 24 14:45 libx264123.264
shell.albert@yantai:~/libx264>
这篇关于libx264 api example的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!