Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
胡斌
/
srs
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
winlin
2014-06-10 10:40:31 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
ef6efb821cb1c0b4becbc29a284d3b771d0228d2
ef6efb82
1 parent
0327c85f
add rtmp detecter
隐藏空白字符变更
内嵌
并排对比
正在显示
4 个修改的文件
包含
102 行增加
和
3 行删除
trunk/research/librtmp/Makefile
trunk/research/librtmp/srs_detect_rtmp.c
trunk/src/app/srs_app_avc_aac.hpp
trunk/src/srs/srs.upp
trunk/research/librtmp/Makefile
100755 → 100644
查看文件 @
ef6efb8
...
...
@@ -3,7 +3,7 @@ GCC = gcc
ifeq
($(HANDSHAKE),)
ST_ALL
=
help
else
ST_ALL
=
srs_flv_parser srs_flv_injecter srs_publish srs_play srs_ingest_flv srs_ingest_rtmp
ST_ALL
=
srs_flv_parser srs_flv_injecter srs_publish srs_play srs_ingest_flv srs_ingest_rtmp
srs_detect_rtmp
endif
.PHONY
:
default clean help ssl nossl
...
...
@@ -11,17 +11,19 @@ endif
default
:
$(ST_ALL)
help
:
@
echo
"Usage: make <help>|<clean>|<s
rs_flv_parser>|<srs_flv_injecter>|<srs_publish>|<srs_play>|<srs_ingest_flv>|<srs_ingest_rtmp
>"
@
echo
"Usage: make <help>|<clean>|<s
sl>|<nossl
>"
@
echo
" help display this help"
@
echo
" clean cleanup build"
@
echo
" ssl all tools link ssl"
@
echo
" nossl all tools never link ssl"
@
echo
"ssl/nossl will build the following tools:"
@
echo
" srs_flv_parser parse flv file, print detail info."
@
echo
" srs_flv_injecter inject keyframes information to metadata."
@
echo
" srs_publish publish program using srs-librtmp"
@
echo
" srs_play play program using srs-librtmp"
@
echo
" srs_ingest_flv ingest flv file and publish to RTMP server."
@
echo
" srs_ingest_rtmp ingest RTMP and publish to RTMP server."
@
echo
" srs_detect_rtmp detect RTMP stream info."
@
echo
"Remark: about simple/complex handshake, see: http://blog.csdn.net/win_lin/article/details/13006803"
@
echo
"Remark: srs Makefile will auto invoke this by --with/without-ssl, "
@
echo
" that is, if user specified ssl(by --with-ssl), srs will make this by 'make ssl'"
...
...
@@ -30,7 +32,7 @@ help:
@
echo
"Remark: before make this sample, user must make the srs, with/without ssl"
clean
:
@
rm -f srs_flv_parser srs_flv_injecter srs_publish srs_play srs_ingest_flv srs_ingest_rtmp
@
rm -f srs_flv_parser srs_flv_injecter srs_publish srs_play srs_ingest_flv srs_ingest_rtmp
srs_detect_rtmp
# srs library root
SRS_OBJS
=
../../objs
...
...
@@ -81,3 +83,6 @@ srs_ingest_flv: srs_ingest_flv.c $(SRS_RESEARCH_DEPS) $(SRS_LIBRTMP_I) $(SRS_LIB
srs_ingest_rtmp
:
srs_ingest_rtmp.c $(SRS_RESEARCH_DEPS) $(SRS_LIBRTMP_I) $(SRS_LIBRTMP_L) $(SRS_LIBSSL_L)
$(GCC)
srs_ingest_rtmp.c
$(SRS_LIBRTMP_L)
$(SRS_LIBSSL_L)
$(EXTRA_CXX_FLAG)
-o srs_ingest_rtmp
srs_detect_rtmp
:
srs_detect_rtmp.c $(SRS_RESEARCH_DEPS) $(SRS_LIBRTMP_I) $(SRS_LIBRTMP_L) $(SRS_LIBSSL_L)
$(GCC)
srs_detect_rtmp.c
$(SRS_LIBRTMP_L)
$(SRS_LIBSSL_L)
$(EXTRA_CXX_FLAG)
-o srs_detect_rtmp
...
...
trunk/research/librtmp/srs_detect_rtmp.c
0 → 100644
查看文件 @
ef6efb8
/*
The MIT License (MIT)
Copyright (c) 2013-2014 winlin
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
/**
gcc srs_detect_rtmp.c ../../objs/lib/srs_librtmp.a -g -O0 -lstdc++ -o srs_detect_rtmp
*/
#include <stdio.h>
#include <stdlib.h>
#include "../../objs/include/srs_librtmp.h"
int
main
(
int
argc
,
char
**
argv
)
{
srs_rtmp_t
rtmp
;
// packet data
int
type
,
size
;
u_int32_t
timestamp
=
0
;
char
*
data
;
if
(
argc
<=
1
)
{
printf
(
"detect stream on RTMP server
\n
"
"Usage: %s <rtmp_url>
\n
"
" rtmp_url RTMP stream url to play
\n
"
"For example:
\n
"
" %s rtmp://127.0.0.1:1935/live/livestream
\n
"
,
argv
[
0
]);
int
ret
=
1
;
exit
(
ret
);
return
ret
;
}
rtmp
=
srs_rtmp_create
(
argv
[
1
]);
printf
(
"detect rtmp stream
\n
"
);
printf
(
"srs(simple-rtmp-server) client librtmp library.
\n
"
);
printf
(
"version: %d.%d.%d
\n
"
,
srs_version_major
(),
srs_version_minor
(),
srs_version_revision
());
printf
(
"rtmp url: %s
\n
"
,
rtmp
);
if
(
srs_simple_handshake
(
rtmp
)
!=
0
)
{
printf
(
"simple handshake failed.
\n
"
);
goto
rtmp_destroy
;
}
printf
(
"simple handshake success
\n
"
);
if
(
srs_connect_app
(
rtmp
)
!=
0
)
{
printf
(
"connect vhost/app failed.
\n
"
);
goto
rtmp_destroy
;
}
printf
(
"connect vhost/app success
\n
"
);
if
(
srs_play_stream
(
rtmp
)
!=
0
)
{
printf
(
"play stream failed.
\n
"
);
goto
rtmp_destroy
;
}
printf
(
"play stream success
\n
"
);
for
(;;)
{
if
(
srs_read_packet
(
rtmp
,
&
type
,
&
timestamp
,
&
data
,
&
size
)
!=
0
)
{
goto
rtmp_destroy
;
}
printf
(
"got packet: type=%s, time=%d, size=%d
\n
"
,
srs_type2string
(
type
),
timestamp
,
size
);
free
(
data
);
}
rtmp_destroy:
srs_rtmp_destroy
(
rtmp
);
return
0
;
}
...
...
trunk/src/app/srs_app_avc_aac.hpp
查看文件 @
ef6efb8
...
...
@@ -32,6 +32,8 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <srs_kernel_codec.hpp>
class
SrsStream
;
#define SRS_MAX_CODEC_SAMPLE 128
// Sampling rate. The following values are defined:
...
...
trunk/src/srs/srs.upp
查看文件 @
ef6efb8
...
...
@@ -115,6 +115,7 @@ file
..\utest\srs_utest_handshake.hpp,
..\utest\srs_utest_handshake.cpp,
research readonly separator,
..\..\research\librtmp\srs_detect_rtmp.c,
..\..\research\librtmp\srs_flv_injecter.c,
..\..\research\librtmp\srs_flv_parser.c,
..\..\research\librtmp\srs_ingest_flv.c,
...
...
请
注册
或
登录
后发表评论