x264介绍
- 概述
x264始于2003年,从当开源社区的MPEG4-ASP编码器Xvid小有所成时开始的,经过几年的开发,特别是Dark Shikari加入开发后,x264逐渐成为了最好的视频编码器。Laurent Aimar是x264最初的开发者,在专职到ATEME后随即停止了开发。此工作随后由Loren Merritt接手。如今,x264到主要开发者是Loren Merritt, Fiona Glaser, Anton Mitrofanov和Henrik Gramner。
x264作为目前性能最好最完善的h264编解码库,由大名鼎鼎的VLC播放器的维护机构,法国videolan开源组织维护的libx264编解码库。 - 下载地址:https://www.videolan.org/developers/x264.html
调试环境搭建过程
- 源码结构
- 编译x264生成可执行文件
(1)打开x264源码中configure,修改CFLAGS=“-O1 -g $CFLAGS” 为 CFLAGS=“-O0 -g $CFLAGS”;
(2)利用终端cd到源码目录,直接命令行:
./configure --enable-debug --enable-static
make -j8
- 配置vscode调试环境
(1)下载vscode、配置相关插件“C/C++”、“C/C++ Clang Command Adapter”等;
(2)打开x264源码,键盘组合键⬆️+command+D,编辑launch.json
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "cppdbg",
"request": "launch",
"name": "(lldb) Launch",
"program": "${workspaceFolder}/x264",//x264是编译生成的可执行文件
"args": ["--preset", "medium", "--fps", "15", "--crf", "27", "--input-res", "720x1280",
"${workspaceFolder}/input.yuv",
"--output", "${workspaceFolder}/output.264"],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "lldb",
"preLaunchTask": "debug"
}
]
}
(3)组合键⬆️+command+B,编辑tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "debug",
"type": "shell",
"command": "cd ${workspaceFolder} && make -j8",//-j8是多线程编译,如果打了断点无法调试,先make clean,然后再在终端cd到当前目录,执行--enable-debug,再执行make -j8
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
(4)点击debug按钮,就可以进行断点调试了
(5)结果
其他调试环境
- clion
- xcode
- Qt Creator
- gdb
(网上可以查询到相关资料⛽️)