- 博客(30)
- 收藏
- 关注
原创 CentOs7安装多版本gcc并切换
yum install centos-release-scl-rhyum install devtoolset-7-gcc devtoolset-7-gcc-c++scl --list 或scl -l:查看已安装的gcc版本scl enable devtoolset-7bash:切换到gcc-7.0exit #退出当前scl bash环境,恢复成系统bash环境
2021-02-20 17:11:43
4934
原创 BDrate和BDpsnr计算方法
参考VCEG-M33中bitrate和psnr的关系:SNR = a + b*bit + c*bit2 + d*bit3bit = a + b*SNR + c*SNR2 + d*SNR3function avg_diff = bjontegaard(R1,PSNR1,R2,PSNR2,mode)%BJONTEGAARD Bjontegaard metric calculation% Bjontegaard's metric allows to compute the avera
2020-08-26 18:34:49
1483
1
原创 handbrake音画同步机制
视频对齐到音频,首先寻找音视频的首帧pts,音视频的每一帧pts都减去音频的首帧pts。即音频pts调整到从0开始,视频调整到和音频同时开始。视频调整:1、预读一帧,整个视频的首帧pts调整为02、每一帧的pts都减去音频首帧pts,即调整为从0开始,视频晚于音频开始就补齐3、如果视频相邻两帧出现重叠,或者出现负的pts,则丢帧4、所有视频帧的pts都改为调整之后的音频...
2020-04-17 18:36:59
963
原创 ffmpeg编译支持cuda编解码
今天在ffmpeg4.1下成功编译出支持cuda编码的版本,记录一下编译过程。编译增加选项--enable-cuda --enable-cuvid --enable-nvenc如果遇到提示错误ERROR: cuda requested, but not all dependencies are satisfied: ffnvcodec说明需要下载nvenc的头文件。git ...
2019-11-25 10:44:36
7402
2
原创 ffmpeg自动检测黑边滤镜cropdetect使用
ffmpeg -i 7cfa54b4dcec07c633406447cd6b34b4.265ts -vf cropdetect=limit=48 -vframes 5 -y out.mp4执行这条命令会返回crop=w:h:x:y的信息,x表示距离左上角水平方向要裁掉多少,对应距离右上角水平方向也要裁掉这么多y表示上下需要裁掉多少像素...
2019-10-31 16:57:00
4113
1
原创 linux 链接库找不到的问题
linux中ld查找库时,经常遇到问题,记录一下:如果--extra-libs里面明确写了这个库,例如--extra-libs=“-lcudart”,就一定要把这个库的路径加到--extra-ldflags中,否则会报找不到。即使这个库的路径存在于LD_LIBRARY_PATH中。如果是--extra-libs中链接的库编译时链接进来的其他库,只要LD_LIBRARY_PATH里面能找到就可以...
2019-10-31 16:39:52
785
原创 H.264码流分析
NALU单元起始码:0x 00 00 00 01解析起始码后面数据:(1)第1位禁止位,值为1表示语法出错(2)第2~3位为参考级别(3)第4~8为是nal单元类型例如上面00000001后有67,68以及65其中0x67的二进制码为:0110 01114-8为00111,转为十进制7,参考第二幅图:7对应序列参数集SPS其中0x68的二进制码为:0110 1000...
2019-08-30 11:06:11
417
原创 CentOS7升级openssl版本到1.0.2
wgethttp://www.openssl.org/source/openssl-1.0.2.tar.gztarzxvfopenssl-1.0.2.tar.gzcdopenssl-1.0.2./configmake&&makeinstall不指定安装路径,则安装在/usr/local/ssl中mv/usr/bin/openssl/usr...
2019-07-15 10:23:17
5807
原创 ffprobe SAR、DAR和PAR
用ffprobe查看一个1080p的片子,显示如下:而一般遇到的1080p是这样的:DAR不同导致用一些常用的转码工具,输出需要缩放的时候(例如输出高度360时),输出的宽度不是640了。SAR、DAR和PAR的关系:SAR×PAR=DAR.SAR:storage aspect ratio,which is the ratio of pixel dimensi...
2019-05-22 15:26:34
1154
原创 centos7 安装pandas
首先安装pip:wget--no-check-certificate https://github.com/pypa/pip/archive/1.5.5.tar.gztar -zxvf 1.5.5.tar.gzcd pip-1.5.5/python setup.py installpip install pandas失败解决方法:wget http://downloa...
2019-02-28 11:27:17
6010
原创 Handbrake编译、调试
这两天编译HandBrake碰到了很多问题,记录下来防止再犯。首先从git仓库下载HandBrake源码,https://github.com/HandBrake/HandBrake.git编译debug版本和release版本分别使用./runconfig.sh debug./runconfig.sh release编译碰到的第一个问题是:error:opus not fou...
2019-02-01 15:26:52
1553
转载 MP4文件格式解析
参考链接:https://www.cnblogs.com/haibindev/archive/2011/10/17/2214518.html
2019-01-23 17:08:58
397
转载 linux查看CPU和内存信息
查看cpu的方法1、 cat /proc/cpuinfo 或者 更直观的查看cpu的型号命令:dmesg |grep -i xeon查看内存的方法2、 cat /proc/meminfo 或者 更直观的查看内存的命令:free -m查看硬盘大小3、df -h最后用top命令也可以查看到cpu和内存的使用率 在输入top命令之后直接按"1" 就能很清楚的查看到cpu和内存...
2019-01-14 10:03:55
13551
原创 H.264中I帧和IDR帧
IDR帧的作用是立刻刷新, 使错误不致传播。从IDR帧开始, 重新算一个新的序列开始编码。而I帧不具有随机访问的能力,这个功能是由IDR承担。IDR帧会导致DPB (DecodedPictureBuffer 参考帧列表——这是关键所在)清空,而I不会。在IDR帧之后的所有帧都不能引用任何IDR帧之前的帧的内容,而普通的I帧之后的B和P帧可以引用位于普通I帧之前的I帧。从随机存取的视频流中,...
2019-01-09 14:30:15
732
转载 x264函数功能总结
转:X264函数功能总结 函数名称 所以位置 完成功能 void x264_frame_filter common\mc.c 帧滤波 void x264_frame_init_lowres common\mc.c 亮度...
2019-01-07 18:24:40
375
原创 shell脚本统计执行时间
计算脚本执行时间:#!/bin/bashstartTime=`date +%Y%m%d-%H:%M`startTime_s=`date +%s`........endTime=`date +%Y%m%d-%H:%M`endTime_s=`date +%s`sumTime=$[ $endTime_s - $startTime_s ]echo "$startTime ...
2019-01-07 15:31:54
14695
3
原创 x264 2pass编码
x264 2pass编码命令:x264 --pass 1 --bitrate 1000 --input-res 1920x1080 -o 1pass.264 test.yuvx264 --pass 2 --bitrate 1000 --input-res 1920x1080 -o 2pass.264 test.yuv1pass编完之后,当前文件夹下会出现x264_2pass.log和x...
2019-01-04 18:32:13
1900
原创 x264码率控制
x264中有三种码率控制方式:ABR(Average Bit Rate)、CQP、CRF(Control Rate Factor)ABR模式:----平均码率模式----尽量保证编码的视频码率控制在目标码率上下,但是无法保证一定会----设置码率控制参数----qpmin,qpmax,qp_step被用来保证ABR模式的质量----qp,ipratio,pbratio在...
2019-01-04 18:01:46
563
原创 x264参数preset、tune、profile和level
x264中所有的preset和tune: preset按照顺序从左到右逐渐变慢。x264的help()中对preset的说明: tune是x264中重要性仅次于preset的选项,它是视觉优化的参数,tune可以理解为视频偏好(或者视频类型),tune不是一个单一的参数,而是由一组参数构成。film:电影类型,对视频的质量非常严格时使用该选项animation:动画片...
2019-01-04 17:05:29
7527
3
原创 linux下安装配置ffmpeg,添加x264、x265支持
ffmpeg编译命令:./configure --enable-gpl --enable-debug=3 --disable-optimizations --disable-strippingmake & make install要编译出可调试的ffmpeg必须添加--enable-debug=3 添加x264和x265支持,首先去官网下载x264和x265,分别安装。...
2018-12-19 17:58:37
7347
原创 x265_encoder_encode函数
//pic_in是输入图像,pic_out是输出重构图像,pi_nal是编码返回的NAL单元个数,pp_nal是编码返回的NAL单元,这些单元在内存中是连续的。返回负值代表error,返回1表示输出一幅图像,返回0表示当前仍在编码不能输出或者编码器被flush过没有未输出帧了。int x265_encoder_encode(x265_encoder *enc, x265_nal **pp_na...
2018-12-14 11:53:46
1761
原创 win7、Linux下编译调试x265
windows下编译过程:首先装Tortoisehg和cmake,然后通过命令hg clone http://hg.videolan.org/x265克隆代码。进入x265/build文件夹下选择自己VS版本对应的,我是VS2015,要选vc12-x86.cmake时要选择对应的版本:这里一定要选2015不要选2015ARM或者2015Win64,我刚开始选了win64可以生成...
2018-12-13 14:29:53
463
原创 CentOS 解决cannot find -lxxx问题
编译失败,提示cannot find -lxxx。这个报错是因为缺少libxxx.so的库导致。首先yum查找提供了这个库或者名称中带有这个库名的包:yum provides */libxxx.so然后根据查询结果yum install安装对应的包即可...
2018-11-21 11:43:10
7153
原创 ffprobe分析视频文件dts、pts等信息
./ffprobe -show_frames -select_streams v /data/test1s.mp4 | grep pict_type只显示视频流的帧类型./ffprobe -show_frames -select_streams v /data/test1s.mp4 | grep pkt_pts只显示视频流的pkt_pts./ffprobe -show_frames...
2018-11-19 17:08:39
8254
原创 CentOS下x264安装编译
从官网的git地址下载x264最新代码:git clone http://git.videolan.org/git/x264.git进入x264目录下,执行命令:./configure --enable-shared --enable-static --enable-debugmake & make install编译时可能会提示 Minimum version ...
2018-11-16 17:27:21
4758
原创 计算RGB图像直方图(一)
RGB图像代表每个像素占4个字节(RGB占3字节还有一个字节空),R、G、B分量各占一个字节,每个分量都有256种取值可能(每个分量值是32位整数)。因此RGB图像的直方图是一个256 * 3的数组。软件算法:// This function computes the histogram for R, G, and B.//// image_data is a pointer to ...
2018-09-03 16:24:13
5527
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人