Hunter的大杂烩 技术学习笔记

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…)

[转载]值得推荐的C/C++框架和库 (1)

Filed under: 技术话题 — hunter @ 3:13 pm

值得学习的C语言开源项目

– 1. Webbench

Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。

下载链接:http://home.tiscali.cz/~cz210552/webbench.html

– 2. Tinyhttpd

tinyhttpd是一个超轻量型Http Server,使用C语言开发,全部代码只有502行(包括注释),附带一个简单的Client,可以通过阅读这段代码理解一个 Http Server 的本质。

下载链接:http://sourceforge.net/projects/tinyhttpd/

(more…)

2018-06-01

c# 出现 未能加载文件或程序集 的调试方法

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

注册表中增加:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion
Add:
DWORD ForceLog set value to 1
DWORD LogFailures set value to 1
DWORD LogResourceBinds set value to 1
DWORD EnableLog set value to 1
String LogPath set value to folder for logs (e.g. C:\FusionLog\)

重新运行程序,然后在C:\FustionLog 目录下找相关日志文件查看
 (more...)
« Newer PostsOlder Posts »

Powered by WordPress