Hunter的大杂烩 技术学习笔记

2019-11-16

不同进程操作共享内存内数据指针的三种方法

Filed under: 技术话题 — hunter @ 11:25 pm

一、参考IBM方式,重载new方法,见:https://www.ibm.com/developerworks/cn/linux/l-shared/index.html
二、类似IBM,自定义new方法的alloc参数,自定义内存分配,
译文参见:http://www.cppblog.com/doing5552/archive/2010/07/24/121197.aspx
原文:http://www.ddj.com/cpp/184401639
三、高大上用BOOST
参见:http://lday.me/2017/12/17/0019_boost_share_memory_ipc/

2019-11-14

封禁穷举SSH密码的垃圾

Filed under: 技术话题 — hunter @ 6:21 pm

[code lang=”bash”]
#!/bin/sh

datestr=`date -d ‘2 minutes ago’ +"%b %e %H"`

/usr/bin/systemctl restart firewalld

sleep 10
/usr/bin/grep -w "authentication failure" /var/log/secure |/usr/bin/grep "$datestr"|grep rhost|grep pam_unix|awk ‘{print $14}’|awk -F ‘=’ ‘{print $2}’|sort|uniq -c|sort -n > iplist
cat iplist|while read line
do
num=`echo $line|awk ‘{print $1}’`
if [ $num -gt 10 ];then
ip=`echo $line|awk ‘{print $2}’`
/usr/sbin/iptables -I INPUT -s $ip -j DROP
fi
done

[/code]

2019-11-03

ffmpeg视频压缩文件大小计算方法

Filed under: 技术话题 — hunter @ 11:46 pm

文件大小计算:

文件的大小是是音视频流大小的和。
视频流的大小的方程式是(除以8是由bits到bytes的转换):
video_size = video_bitrate * time_in_seconds / 8;
如果音频是解压缩的,计算公式是:
audio_size = smpaling_rate * bit_depth * channels * time_in_second / 8;

例如:计算10分钟的视频, 1500kbits/s 视频比特率和 128kbits/s的音频比特率,用下面的计算方法:
file_size = video_size + audio_size;
file_size = (video_bitrate + audio_bitrate) * time_in_seconds / 8;
file_size = (1500 kbits/s + 128kbits/s) * 600s
file_size = 1628kbits/s * 600s
file_size = 976800kb = 976800000 b / 8 = 122100000 B / 1024 = 119238.28125KB
file_size = 119238.28125 KB / 1024 = 116.443634033203125MB = 116.44M

参考链接:

https://blog.csdn.net/rootusers/article/details/41646557

更多参考:https://blog.csdn.net/qq_41498261/article/details/84193592

ffmpeg在windows下使用intel G30显卡硬编码命令

Filed under: 技术话题 — hunter @ 11:28 pm

参考:

https://blog.csdn.net/COCO56/article/details/89517157

先使用 -hwaccels 参数查看支持什么显卡,intel系列使用QSV

再使用 -codecs |grep qsv 查看QSV编码下,支持哪些编码方式,如

DEV.LS h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_qsv h264_cuvid ) (encoders: libx264 libx264rgb h264_amf h264_nvenc h264_qsv nvenc nvenc_h264 )

具体参数可参考下面:

D:\soft\ffmpeg\bin\ffmpeg.exe -hwaccel qsv -threads 4 -i “f:\\input.mkv” -map 0:0 -map 0:1 -map 0:2 -c:v h264_qsv -acodec copy -disposition:a:0 default “output.mp4”

-threads 采用4个线程,一般几个虚拟内核使用几个线程

-map 多音轨参数

-c:v 采用什么模式,使用什么后缀,比如 qsv 就用h264_qsv ,用Nvidia ,可以用h264_cuda 等,如果用libx264 ,那就是用软编码

软硬编码对比

可以看出,硬编码比如软编码速度快上了5倍左右

(more…)

2018-06-12

搭建C/C++网络服务备选【备忘录】

Filed under: 技术话题 — hunter @ 5:52 pm

底层通信协议

QUIC  https://www.jianshu.com/p/f17b4a015e27

UDT https://code.csdn.net/openkb/p-UDT

JINGLE https://www.oschina.net/p/libjingle

TURN https://baike.baidu.com/item/turn/7011011

STUN https://baike.baidu.com/item/stun/3131387

ICE https://blog.csdn.net/byxdaz/article/details/52786600

(more…)

« Newer PostsOlder Posts »

Powered by WordPress