编译测试nginx

执行configure脚本将生成临时文件。编译后执行"./nginx -V"可以查看版本号和配置参数,正如help选项所示" -V : show version and configure options then exit"。直接"./nginx"启动结果报错:“nginx: [emerg] unknown directive “gzip” in /usr/local/nginx/conf/nginx.conf:58”,然后发现配置文件改行是" gzip on;",然后查看配置选项发现带了–without-http_gzip_module选项,然后将配置文件中的该条目注释掉就可以正常启动了。

关键字"srs 点播 直播"搜到csdn上文章<完整的直播+点播全端解决方案>说"点播服务器:采取比较简单的Nginx http flv",找到博客园上对应文章,但是直接用该文章上的nginx.conf启动时,报错"nginx: [emerg] using regex “.flv$” requires PCRE library",然后关键字"nginx --with-pcre"搜到博客园上章<编译nginx的时候报错 需要安装PCRE>说"不可以用pcre2 用pcre2会报错";然后关键字"nginx pcre"搜索到"Nginx 安装配置 | 菜鸟教程"说"首先要安装 PCRE",然后就按照步骤安装最新版的pcre-8.45。然后重新配置、编译nginx就不再报上面的错误。后面又报错(nginx: [emerg] unknown directive “flv”),关键字搜索发现"./configure 这个命令里面没有增加–with-http_flv_module模块的问题",同样还需要配置–with-http_mp4_module模块。启动运行后,直接用vlc播放地址http://192.168.163.129/a.flv,效果不好,运行几秒后就卡,虽然可以拖动,但是拖动后也是会卡而且会有偶现花屏现象。直接用ffplay来播放这个地址也是一样会出现卡顿。

先ubuntu环境下编译运行ZLMediaKit,然后测试推流播放,后面测试点播MP4。然后windows编译ZLMediaKit,先拉取代码,注意submodule更新依赖模块,然后安装cmake-3.22.3-windows-x86_64.msi,命令行cmd执行"cmake …“得到sln文件,vs2019打开后重新编译成功。注意在执行cmake命令之前需要"这里可能要执行一步 vcvars64.bat 确保VS环境变量已经配置 如:D:\ProgramFiles\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build”。后面再次生成sln时,用cmake-gui也可以,然后从github的BtbN/FFmpeg-Builds下载编译好的ffmpeg库,然后将头文件和库文件添加到sln工程的链接属性,编译成功。

合并多个ts文件形成一个mp4文件,参考了csdn上的文章<使用 ffmpeg 进行视频(ts)合并>,不过并没有成功,看评论"合并少量"加了’concat:'后成功了,即(./ffmpeg.exe -i “concat:b-000.ts|b-001.ts|b-002.ts|b-003.ts” -c copy a.mp4),但是合并多个的用filelist.txt方式并没有成功。

如果基类的移动构造函数被delete修饰,子类是可以实现移动构造函数的,而且子类对象可以作为参数被std::move调用,但是此时基类必须有默认构造函数,因为移动不成的话就用默认构造。但是由于基类的移动构造已经被显式delete,所以类对象不能作为参数被std::move调用。

看了下其中设置进程名称的初始化接口函数ngx_init_setproctitle中,因为注释中说,环境变量集是紧挨着程序参数集后面,如果新的名称超过了原始的argv[0]的长度,有可能影响环境变量(However, argv[0] may be too small to hold a new title.),所以在初始化接口中,新开辟一块区域用来更新环境变量集。

你可能感兴趣的:(nginx)