FFmpeg 常用命令行

ffmpeg Metrics VMAF ffmpeg -f rawvideo -s 1280x720 -pix_fmt yuv420p -i ref.yuv -f rawvideo -s 1280x720 -pix_fmt yuv420p -i dis.yuv -filter_complex "libvma...

阅读更多

Go 命令行参数总结

Go语言中main函数没有形参, 所以不能直接通过main函数获取命令行参数。 无论外界传入的是什么类型, 拿到的都是字符串类型 通过os包获取命令行参数 package main import ( "fmt" "os" ) func main() { // 1.获取传入参数个数 num ...

阅读更多

Go GC机制浅析

Go 采用的是 三色并发标记清除算法。 传统的 GC 算法需要较长的 STW (Stop The World) 停顿时间(即暂停所有应用程序代码的运行来执行 GC)。 Go GC 的首要目标就是将 STW 停顿时间降到毫秒级甚至微秒级。 三色标记法 Go GC将堆上的所有对象分为三种颜色: ...

阅读更多

Go 变量总结

命名规则 命名规则同C语言。关键字不能用于命名: break default func interface select case defer go map struct chan else ...

阅读更多

Go 基础

go run 编译并直接运行 Go 程序。它不会在当前目录下生成二进制文件,适合快速测试代码或运行脚本。 # 运行当前目录下的 main.go go run main.go # 运行包含多个文件的 main 包 go run . go build 编译包和依赖项。如果是 main 包,它会生成一个可执...

阅读更多

Go 基础

hello world package main import "fmt" func main() { fmt.Println("Hello, 世界") } package Go 语言的代码通过包(package)组织,包类似于其它语言里的库(libraries)或者模块(modules)。 ...

阅读更多

FFmpeg 框架总览

FFmpeg的核心设计思想是模块化和分层,其架构可以分为三个层次: 底层核心库 (Core Libraries): 提供音视频处理的原子能力,如编解码、格式封装/解封装、滤镜、像素/采样格式转换等。这是FFmpeg的基石。 上层应用层 (Application Layer): 基于核心库开发出的可执行...

阅读更多

H.265 码流结构

好的,我们来详细解析HEVC码流(Bitstream)的层次结构,并深入辨析VPS、SPS和PPS这三个关键参数集之间的区别。 作为一名C++开发工程师,你可以将HEVC码流结构理解为一个精心设计的数据结构,它通过层次化的信令来高效地组织和传输视频数据。 1. HEVC码流的基本构成:NAL单元 (NAL U...

阅读更多