rtmp推流出现错误

快跑稻草人 2016-12-27 05:27:52
我用rtmp推流,过程是这样的
rtmp = RTMP_Alloc();//申请rtmp空间
RTMP_Init(rtmp);//初始化rtmp设置
RTMPPacket_Alloc(packet, 1024 * 64);//给packet分配数据空间
RTMPPacket_Reset(packet);
RTMP_SetupURL(rtmp, rtmpurl);
RTMP_EnableWrite(rtmp);


然后用
RTMP_Connect
连接,然后
RTMP_ConnectStream


这个过程出现错误,提示RTMP_HashSwf couldn't contact swful 这样的错误,之后还有错误,问一下应该如何改成

还有斗鱼的直播码是用在哪里的,除了直播url,还有一个额外的直播码,
...全文
2165 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
快跑稻草人 2016-12-30
  • 打赏
  • 举报
回复
随便回复一下我送分啊
海明小威 2016-12-30
  • 打赏
  • 举报
回复
你这个RTMP推流都是C/C++封好的吗?描述的问题和贴的代码都没有关系,让大家都无法回答呀。
快跑稻草人 2016-12-28
  • 打赏
  • 举报
回复
自己顶
快跑稻草人 2016-12-27
  • 打赏
  • 举报
回复
没人回答我吗
一款免费的媒体直播软件,主要用于媒体直播,视频直播,视频点播,视频录制等应用,与FMS、WOWZA、RED5一道,作为用户媒体直播应用的可选方案。 1、支持Windows/Linux等多种操作系统; 2、采用开发的媒体协议,而非私有协议,可以与主系统对接,至少支持RTMPRTMP,RTSP拉三种方式获取直播,支持对获取的直播再按照TS组播或者单播,RTMP,RTSP,HLS,TS OVER HTTP,FLV OVER HTTP等标准媒体协议的方式进行对外直播转发; 3、支持录制,可定时录制或手动录制,能录制MP4或者FLV格式文件,录制时支持生成新文件或者追加文件两种方式,支持录制超过4G的文件; 4、单台服务器可支持1000个以上并发用户,直播延时小于2秒; 5、支持RTMP转发功能,能够把AMS上的直播转发给其它AMS服务器或者第三方的RTMP服务器,例如RED5,FMS,WOWZA媒体服务器; 6、 支持PC/手机/平板电脑等多终端访问,无论是windows,linux,或者andriod以及IOS系统访问收看直播时都无需下载插件,直接观看; 7、响应点播时间控制在100ms以内,支持暂停、拖动等特技操作; 8、支持文件直播,可把硬盘上存在的FLV文件编目后,按设定好的任务和顺序进行直播; 9、内置Web应用系统,无需复杂配置,可直接部署到用户服务器使用,也可以选配更复杂的媒资管理系统,完成类似优酷土豆的应用模式; 10、开放的系统架构,提供二次开发接口,可轻松的融入到用户已有的平台或网站平台中、或在此基础上进行二次开放等 ------------------------------------------------------------------------- 使用说明: 1、关于安装运行:软件解压到硬盘上后,执行AokuMServiceManager,即可完成AMS服务的安装,安装完成后,在Windows系统服务中会出现一个AokuMService服务; 2、关于端口:AMS默认的管理端口是9001,可通过浏览器登陆http://127.0.0.1:9001/main.html进行管理;AMS默认的RTMP端口是1935,默认的rtsp端口是5554,默认的flv over http端口是7000,默认的ts over http端口是8008,默认的hls端口也是9001; 3、关于:使用直播你需要有一个支持rtmp的编码器,建议用奥酷全接口高清编码器,当然你也可以通过FME进行软编码来实现; 4、关于接收直播:AMS正常启动并发布上直播后,你可以在网络内的任一电脑上打开http://ip:9001,通过浏览器观看直播,若开启了hls功能,通过iphone或者ipad登陆http://ip:9001即可观看直播。 5、若开启了TS组播,请确认防火墙是否允许组播,另外您网络内的路由器是否支持组播,接收组播是需要用VLC播放器来完成; 6、接收flv over http也是通过VLC播放器或者支持类似协议的播放器来测试。 7、若使用中出现问题,你可以查看logs目录下的rtmpserver.log文件,里面有详细的错误日志描述。
SRS定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码。SRS提供了丰富的接入方案将RTMP接入SRS,包括RTMP到SRS、送RTSP/UDP/FLV到SRS、拉取到SRS。SRS还支持将接入的RTMP进行各种变换,譬如将RTMP转码、转发给其他服务器、转封装成HTTP-FLV、转封装成HLS、转封装成HDS、录制成FLV。SRS包含支大规模集群如CDN业务的关键特性,譬如RTMP多级集群、VHOST虚拟服务器、无中断服务Reload、HTTP-FLV集群。此外,SRS还提供丰富的应用接口,包括HTTP回调、安全策略Security、HTTP API接口、RTMP测速。SRS在源站和CDN集群中都得到了广泛的应用Applications。 最新版本SRS 2.0-258 ,使用cygwin 在windows下的编译 。 修改代码 setrlimit (2048) ,使其默认能支持 2048个连接 在i7笔记本上 ,测试 500路视频转发 ,srs.exe进程 占用cpu 5%,出奇的低。 以下是 编译错误笔记和修改的配置项。 *.修改 Makefile CXXFLAGS = -ansi -Wall -g -O0 -fPIC -std=gnu++11 -D__GLIBC__=2 -D__GLIBC_MINOR__=31 -DFD_SETSIZE=2048 1.depends.sh what a fuck, os not supported. ingore it !!!! 2. make[1]: 进入目录“/mnt/srs-2.0-r5/trunk/objs/st-1.9” if [ ! -d LINUX_3.0.4(0.338/5/3)_DBG ]; then mkdir LINUX_3.0.4(0.338/5/3)_DBG; f i /bin/sh: -c:行0: 未预期的符号 `(' 附近有语法错误 /bin/sh: -c:行0: `if [ ! -d LINUX_3.0.4(0.338/5/3)_DBG ]; then mkdir LINUX_3.0.4 (0.338/5/3)_DBG; fi' make[1]: *** [Makefile:348:LINUX_3.0.4(0.338/5/3)_DBG] 错误 1 make[1]: 离开目录“/mnt/srs-2.0-r5/trunk/objs/st-1.9” make: *** [Makefile:441:linux-debug] 错误 2 build st-1.9 failed, ret=2 3.depends.sh make cygwin-debug 提示 static lib failed. # st-1.9 # Some platforms allow to define FD_SETSIZE (if select() is used), e.g.: DEFINES += -DFD_SETSIZE=4096 ##################################################################################### if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then # check the cross build flag file, if flag changed, need to rebuild the st. _ST_MAKE=linux-debug && _ST_EXTRA_CFLAGS="-DMD_HAVE_EPOLL -DMALLOC_STACK" 4.install CherryPy-3.2.4" require sudoer failed 解压 CherryPy-3.2.4.zip 至 objs目录 4.1 local_ip.sh 改成 ip='0.0.0.0' #ip=`ifconfig|grep "inet "|grep -v "127.0.0.1"|awk -F 'inet ' 'NR==1 {print $2}'|awk '{print $1}'|sed "s/addr://g"` 5. libst.def st_get_eventsys_name @112 st_set_eventsys @113 ibssl.a objs/openssl/lib/libcrypto.a -ldl /usr/lib/gcc/i686-pc-cygwin/7.4.0/../../../../i686-pc-cygwin/bin/ld: objs/src/ap p/srs_app_st.o: in function `Z11srs_st_initv': /mnt/srs-2.0-r5/trunk/src/app/srs_app_st.cpp:217: undefined reference to `st_set _eventsys' /usr/lib/gcc/i686-pc-cygwin/7.4.0/../../../../i686-pc-cygwin/bin/ld: /mnt/srs-2. 0-r5/trunk/src/app/srs_app_st.cpp:219: undefined reference to `st_get_eventsys_n ame' /usr/lib/gcc/i686-pc-cygwin/7.4.0/../../../../i686-pc-cygwin/bin/ld: /mnt/srs-2. 0-r5/trunk/src/app/srs_app_st.cpp:222: undefined reference to `st_get_eventsys_n ame' /usr/lib/gcc/i686-pc-cygwin/7.4.0/../../../../i686-pc-cygwin/bin/ld: /mnt/srs-2. 0-r5/trunk/src/app/srs_app_st.cpp:229: undefined reference to `st_get_eventsys_n ame' collect2: 错误:ld 返回 1 make[2]: *** [objs/Makefile:302:objs/srs] 错误 1 make[2]: 离开目录“/mnt/srs-2.0-r5/trunk” make[1]: *** [Makefile:38:server] 错误 2 make[1]: 离开目录“/mnt/srs-2.0-r5/trunk” make: *** [Makefile:8:default] 错误 2 6. ulimit -n 2048 srs_app_config.cpp 增加代码修改 进程可打开的最大文件描述词大一的值,超出此值,将会产生EMFILE错误 rlimit l; getrlimit(RLIMIT_NOFILE,&l); l.rlim_cur = get_max_connections() + 100; setrlimit(RLIMIT_NOFILE, &l); srs_info("setrlimit => soft:%d , hard:%d\n",(int)l.rlim_cur,(int)l.rlim_max);

552

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 茶馆
社区管理员
  • 茶馆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧