使用visual gdb搭建srs开发环境
准备工作
安装ubuntu server虚拟机
安装vs2013
安装visual gdb插件
window 设置文件夹共享
1 选择共享文件夹。
2. 添加所有用户,并点击共享按钮实现文件夹共享
ubuntu 通过mount与window 共享文件夹
在ubuntu机器上执行挂载命令访问windows文件夹
mount -t cifs -o username="administrator",password="" //192.168.1.244/srs /mnt/
挂载成功后可以访问windows文件
在虚拟机下载srs和编译
- 在opt 目录下载srs源码 git clone https://github.com/ossrs/srs.git
- 将源码拷贝一份到共享目录 /mnt/
- 在opt目录编译srs源码。./configure && make
使用visual gdb搭建srs编译环境
1、 创建visual gdb工程。选择linux Project Wizard工程,创建A应用程序项目,输入虚拟机ip,然后点击next按钮。
2、 在项目上建多个filter ,有app、core、protocol、kernel、main。将共享目录下的srs中的app、core、protocol、kernel源码拉进工程的filter,main filter下加入srs_main_server.cpp文件。
3、修改远程目录路径。
4、 修改debug.mak 文件。
#Generated by VisualGDB (http://visualgdb.com)
#DO NOT EDIT THIS FILE MANUALLY UNLESS YOU ABSOLUTELY NEED TO
#USE VISUALGDB PROJECT PROPERTIES DIALOG INSTEAD
BINARYDIR := Debug
SRS_DIR_SRC:=/mnt/srs-4.0release/trunk/src
SRS_DIR_APP:=$(SRS_DIR_SRC)/app
SRS_DIR_CORE:=$(SRS_DIR_SRC)/core
SRS_DIR_KERNEL:=$(SRS_DIR_SRC)/kernel
SRS_DIR_MAIN:=$(SRS_DIR_SRC)/main
SRS_DIR_PROTOCOL:=$(SRS_DIR_SRC)/protocol
SRS_DIR_OBJS:=/opt/srs-4.0release/trunk/objs
SRS_DIR:=$(SRS_DIR_APP) $(SRS_DIR_CORE) $(SRS_DIR_KERNEL) $(SRS_DIR_MAIN) $(SRS_DIR_PROTOCOL) $(SRS_DIR_OBJS)\
$(SRS_DIR_OBJS)/st\
$(SRS_DIR_OBJS)/srtp2/include\
$(SRS_DIR_OBJS)/openssl/include\
$(SRS_DIR_OBJS)/ffmpeg/include\
$(SRS_DIR_OBJS)/opus/include
ST_LIB_SIR:=$(SRS_DIR_OBJS)/st/
#Toolchain
CC := gcc
CXX := g++
LD := $(CXX)
AR := ar
OBJCOPY := objcopy
#Additional flags
PREPROCESSOR_MACROS := DEBUG
INCLUDE_DIRS := $(SRS_DIR)
LIBRARY_DIRS := $(ST_LIB_SIR) $(SRS_DIR_OBJS)/openssl/lib $(SRS_DIR_OBJS)/ffmpeg/lib/ $(SRS_DIR_OBJS)/opus/lib/ $(SRS_DIR_OBJS)/srtp2/lib/
LIBRARY_NAMES :=
ADDITIONAL_LINKER_INPUTS := -lcrypto -lssl -lavcodec -lswresample -lavutil -lsrtp2 -lopus $(ST_LIB_SIR)/libst.a -ldl -lpthread -lrt -Wl,-rpath=../$(SRS_DIR_OBJS)/st:$(SRS_DIR_OBJS)/openssl
MACOS_FRAMEWORKS :=
LINUX_PACKAGES :=
CFLAGS := -ggdb -ffunction-sections -O0 -Wall -ansi
CXXFLAGS := -ggdb -ffunction-sections -O0 -Wall -ansi
ASFLAGS :=
LDFLAGS := -Wl,-gc-sections
COMMONFLAGS :=
START_GROUP := -Wl,--start-group
END_GROUP := -Wl,--end-group
#Additional options detected from testing the toolchain
IS_LINUX_PROJECT := 1
5、编译
查看一下srs所在位置
6、运行程序。设置一下程序输入参数,修改一下配置文件, 按F5 运行程序
# main config for srs.
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
srs_log_tank file;
srs_log_file /opt/srs-4.0release/trunk/objs/srs.log;
pid /opt/srs-4.0release/trunk/objs/srs.pid;
daemon off;
http_api {
enabled on;
listen 1985;
}
http_server {
enabled on;
listen 8080;
dir /opt/srs-4.0release/trunk/objs/nginx/html;
}
vhost __defaultVhost__ {
hls {
enabled on;
}
http_remux {
enabled on;
mount [vhost]/[app]/[stream].flv;
}
}