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-05-04 10:45:13 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
a4410a4fa9031415d9d02896ad87e81453b475c4
a4410a4f
1 parent
243a2eab
update pithy-print to 10s. refine log
隐藏空白字符变更
内嵌
并排对比
正在显示
10 个修改的文件
包含
68 行增加
和
41 行删除
trunk/conf/full.conf
trunk/src/app/srs_app_config.hpp
trunk/src/app/srs_app_edge.cpp
trunk/src/app/srs_app_encoder.cpp
trunk/src/app/srs_app_hls.cpp
trunk/src/app/srs_app_hls.hpp
trunk/src/app/srs_app_log.cpp
trunk/src/app/srs_app_log.hpp
trunk/src/app/srs_app_rtmp_conn.cpp
trunk/src/kernel/srs_kernel_log.hpp
trunk/conf/full.conf
查看文件 @
a4410a4
...
...
@@ -902,24 +902,24 @@ vhost refer.anti_suck.com {
# whatever the clients in concurrency.
pithy_print
{
# shared print interval for all publish clients, in milliseconds.
#
if not specified, set to 1100.
#
default: 10000
publish
10000
;
# shared print interval for all play clients, in milliseconds.
#
if not specified, set to 1300.
#
default: 10000
play
10000
;
# shared print interval for all forwarders, in milliseconds.
#
if not specified, set to 2000.
#
default: 10000
forwarder
10000
;
# shared print interval for all encoders, in milliseconds.
#
if not specified, set to 2000.
#
default: 10000
encoder
10000
;
# shared print interval for all ingesters, in milliseconds.
#
if not specified, set to 2000.
#
default: 10000
ingester
10000
;
# shared print interval for all hls, in milliseconds.
#
if not specified, set to 2000.
#
default: 10000
hls
10000
;
# shared print interval for all edge, in milliseconds.
#
if not specified, set to 2000.
#
default: 10000
edge
10000
;
}
...
...
trunk/src/app/srs_app_config.hpp
查看文件 @
a4410a4
...
...
@@ -70,13 +70,13 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#define SRS_CONF_DEFAULT_HTTP_STREAM_PORT 8080
#define SRS_CONF_DEFAULT_HTTP_API_PORT 1985
#define SRS_STAGE_PLAY_USER_INTERVAL_MS 1300
#define SRS_STAGE_PUBLISH_USER_INTERVAL_MS 1100
#define SRS_STAGE_FORWARDER_INTERVAL_MS 2000
#define SRS_STAGE_ENCODER_INTERVAL_MS 2000
#define SRS_STAGE_INGESTER_INTERVAL_MS 2000
#define SRS_STAGE_HLS_INTERVAL_MS 2000
#define SRS_STAGE_EDGE_INTERVAL_MS 2000
#define SRS_STAGE_PLAY_USER_INTERVAL_MS 10000
#define SRS_STAGE_PUBLISH_USER_INTERVAL_MS 10000
#define SRS_STAGE_FORWARDER_INTERVAL_MS 10000
#define SRS_STAGE_ENCODER_INTERVAL_MS 10000
#define SRS_STAGE_INGESTER_INTERVAL_MS 10000
#define SRS_STAGE_HLS_INTERVAL_MS 10000
#define SRS_STAGE_EDGE_INTERVAL_MS 10000
#define SRS_AUTO_INGEST_TYPE_FILE "file"
#define SRS_AUTO_INGEST_TYPE_STREAM "stream"
...
...
trunk/src/app/srs_app_edge.cpp
查看文件 @
a4410a4
...
...
@@ -230,11 +230,11 @@ int SrsEdgeIngester::process_publish_message(SrsMessage* msg)
srs_error
(
"source process onMetaData message failed. ret=%d"
,
ret
);
return
ret
;
}
srs_
trace
(
"process onMetaData message success."
);
srs_
info
(
"process onMetaData message success."
);
return
ret
;
}
srs_
trace
(
"ignore AMF0/AMF3 data message."
);
srs_
info
(
"ignore AMF0/AMF3 data message."
);
return
ret
;
}
...
...
trunk/src/app/srs_app_encoder.cpp
查看文件 @
a4410a4
...
...
@@ -326,7 +326,7 @@ void SrsEncoder::encoder()
// reportable
if
(
pithy_print
->
can_print
())
{
// TODO: FIXME: show more info.
srs_trace
(
"-> time=%"
PRId64
", encoders=%d, input=%s"
,
srs_trace
(
"->
"
SRS_LOG_ID_ENCODER
"
time=%"
PRId64
", encoders=%d, input=%s"
,
pithy_print
->
age
(),
(
int
)
ffmpegs
.
size
(),
input_stream_name
.
c_str
());
}
}
...
...
trunk/src/app/srs_app_hls.cpp
查看文件 @
a4410a4
...
...
@@ -517,7 +517,7 @@ SrsHlsAacJitter::SrsHlsAacJitter()
SrsHlsMuxer
::
SrsHlsMuxer
()
{
hls_fragment
=
hls_window
=
0
;
file_index
=
0
;
_sequence_no
=
0
;
current
=
NULL
;
}
...
...
@@ -533,6 +533,11 @@ SrsHlsMuxer::~SrsHlsMuxer()
srs_freep
(
current
);
}
int
SrsHlsMuxer
::
sequence_no
()
{
return
_sequence_no
;
}
int
SrsHlsMuxer
::
update_config
(
string
_app
,
string
_stream
,
string
path
,
int
fragment
,
int
window
)
{
...
...
@@ -567,7 +572,7 @@ int SrsHlsMuxer::segment_open(int64_t segment_start_dts)
// new segment.
current
=
new
SrsHlsSegment
();
current
->
sequence_no
=
file_index
++
;
current
->
sequence_no
=
_sequence_no
++
;
current
->
segment_start_dts
=
segment_start_dts
;
// generate filename.
...
...
@@ -690,7 +695,7 @@ int SrsHlsMuxer::segment_close(string log_desc)
if
(
current
->
duration
*
1000
>=
SRS_AUTO_HLS_SEGMENT_MIN_DURATION_MS
)
{
segments
.
push_back
(
current
);
srs_
trace
(
"%s reap ts segment, sequence_no=%d, uri=%s, duration=%.2f, start=%"
PRId64
""
,
srs_
info
(
"%s reap ts segment, sequence_no=%d, uri=%s, duration=%.2f, start=%"
PRId64
""
,
log_desc
.
c_str
(),
current
->
sequence_no
,
current
->
uri
.
c_str
(),
current
->
duration
,
current
->
segment_start_dts
);
...
...
@@ -709,7 +714,7 @@ int SrsHlsMuxer::segment_close(string log_desc)
}
}
else
{
// reuse current segment index.
file_index
--
;
_sequence_no
--
;
srs_trace
(
"%s drop ts segment, sequence_no=%d, uri=%s, duration=%.2f, start=%"
PRId64
""
,
log_desc
.
c_str
(),
current
->
sequence_no
,
current
->
uri
.
c_str
(),
current
->
duration
,
...
...
@@ -1470,7 +1475,9 @@ void SrsHls::hls_mux()
{
// reportable
if
(
pithy_print
->
can_print
())
{
srs_trace
(
"-> time=%"
PRId64
""
,
pithy_print
->
age
());
srs_trace
(
"-> "
SRS_LOG_ID_HLS
" time=%"
PRId64
", dts=%"
PRId64
", sequence_no=%d"
,
pithy_print
->
age
(),
stream_dts
,
muxer
->
sequence_no
());
}
pithy_print
->
elapse
();
...
...
trunk/src/app/srs_app_hls.hpp
查看文件 @
a4410a4
...
...
@@ -147,7 +147,7 @@ private:
int
hls_fragment
;
int
hls_window
;
private
:
int
file_index
;
int
_sequence_no
;
std
::
string
m3u8
;
private
:
/**
...
...
@@ -162,6 +162,8 @@ public:
SrsHlsMuxer
();
virtual
~
SrsHlsMuxer
();
public
:
virtual
int
sequence_no
();
public
:
virtual
int
update_config
(
std
::
string
_app
,
std
::
string
_stream
,
std
::
string
path
,
int
fragment
,
int
window
);
/**
* open a new segment(a new ts file),
...
...
trunk/src/app/srs_app_log.cpp
查看文件 @
a4410a4
...
...
@@ -101,7 +101,7 @@ void SrsFastLog::verbose(const char* tag, int context_id, const char* fmt, ...)
}
int
size
=
0
;
if
(
!
generate_header
(
tag
,
context_id
,
"verb"
,
&
size
))
{
if
(
!
generate_header
(
false
,
tag
,
context_id
,
"verb"
,
&
size
))
{
return
;
}
...
...
@@ -121,7 +121,7 @@ void SrsFastLog::info(const char* tag, int context_id, const char* fmt, ...)
}
int
size
=
0
;
if
(
!
generate_header
(
tag
,
context_id
,
"debug"
,
&
size
))
{
if
(
!
generate_header
(
false
,
tag
,
context_id
,
"debug"
,
&
size
))
{
return
;
}
...
...
@@ -141,7 +141,7 @@ void SrsFastLog::trace(const char* tag, int context_id, const char* fmt, ...)
}
int
size
=
0
;
if
(
!
generate_header
(
tag
,
context_id
,
"trace"
,
&
size
))
{
if
(
!
generate_header
(
false
,
tag
,
context_id
,
"trace"
,
&
size
))
{
return
;
}
...
...
@@ -161,7 +161,7 @@ void SrsFastLog::warn(const char* tag, int context_id, const char* fmt, ...)
}
int
size
=
0
;
if
(
!
generate_header
(
tag
,
context_id
,
"warn"
,
&
size
))
{
if
(
!
generate_header
(
t
rue
,
t
ag
,
context_id
,
"warn"
,
&
size
))
{
return
;
}
...
...
@@ -181,7 +181,7 @@ void SrsFastLog::error(const char* tag, int context_id, const char* fmt, ...)
}
int
size
=
0
;
if
(
!
generate_header
(
tag
,
context_id
,
"error"
,
&
size
))
{
if
(
!
generate_header
(
t
rue
,
t
ag
,
context_id
,
"error"
,
&
size
))
{
return
;
}
...
...
@@ -245,7 +245,7 @@ int SrsFastLog::on_reload_log_file()
return
ret
;
}
bool
SrsFastLog
::
generate_header
(
const
char
*
tag
,
int
context_id
,
const
char
*
level_name
,
int
*
header_size
)
bool
SrsFastLog
::
generate_header
(
bool
error
,
const
char
*
tag
,
int
context_id
,
const
char
*
level_name
,
int
*
header_size
)
{
// clock time
timeval
tv
;
...
...
@@ -262,16 +262,30 @@ bool SrsFastLog::generate_header(const char* tag, int context_id, const char* le
// write log header
int
log_header_size
=
-
1
;
if
(
tag
)
{
log_header_size
=
snprintf
(
log_data
,
LOG_MAX_SIZE
,
"[%d-%02d-%02d %02d:%02d:%02d.%03d][%s][%s][%d][%d] "
,
1900
+
tm
->
tm_year
,
1
+
tm
->
tm_mon
,
tm
->
tm_mday
,
tm
->
tm_hour
,
tm
->
tm_min
,
tm
->
tm_sec
,
(
int
)(
tv
.
tv_usec
/
1000
),
level_name
,
tag
,
context_id
,
errno
);
if
(
error
)
{
if
(
tag
)
{
log_header_size
=
snprintf
(
log_data
,
LOG_MAX_SIZE
,
"[%d-%02d-%02d %02d:%02d:%02d.%03d][%s][%s][%d][%d] "
,
1900
+
tm
->
tm_year
,
1
+
tm
->
tm_mon
,
tm
->
tm_mday
,
tm
->
tm_hour
,
tm
->
tm_min
,
tm
->
tm_sec
,
(
int
)(
tv
.
tv_usec
/
1000
),
level_name
,
tag
,
context_id
,
errno
);
}
else
{
log_header_size
=
snprintf
(
log_data
,
LOG_MAX_SIZE
,
"[%d-%02d-%02d %02d:%02d:%02d.%03d][%s][%d][%d] "
,
1900
+
tm
->
tm_year
,
1
+
tm
->
tm_mon
,
tm
->
tm_mday
,
tm
->
tm_hour
,
tm
->
tm_min
,
tm
->
tm_sec
,
(
int
)(
tv
.
tv_usec
/
1000
),
level_name
,
context_id
,
errno
);
}
}
else
{
log_header_size
=
snprintf
(
log_data
,
LOG_MAX_SIZE
,
"[%d-%02d-%02d %02d:%02d:%02d.%03d][%s][%d][%d] "
,
1900
+
tm
->
tm_year
,
1
+
tm
->
tm_mon
,
tm
->
tm_mday
,
tm
->
tm_hour
,
tm
->
tm_min
,
tm
->
tm_sec
,
(
int
)(
tv
.
tv_usec
/
1000
),
level_name
,
context_id
,
errno
);
if
(
tag
)
{
log_header_size
=
snprintf
(
log_data
,
LOG_MAX_SIZE
,
"[%d-%02d-%02d %02d:%02d:%02d.%03d][%s][%s][%d] "
,
1900
+
tm
->
tm_year
,
1
+
tm
->
tm_mon
,
tm
->
tm_mday
,
tm
->
tm_hour
,
tm
->
tm_min
,
tm
->
tm_sec
,
(
int
)(
tv
.
tv_usec
/
1000
),
level_name
,
tag
,
context_id
);
}
else
{
log_header_size
=
snprintf
(
log_data
,
LOG_MAX_SIZE
,
"[%d-%02d-%02d %02d:%02d:%02d.%03d][%s][%d] "
,
1900
+
tm
->
tm_year
,
1
+
tm
->
tm_mon
,
tm
->
tm_mday
,
tm
->
tm_hour
,
tm
->
tm_min
,
tm
->
tm_sec
,
(
int
)(
tv
.
tv_usec
/
1000
),
level_name
,
context_id
);
}
}
if
(
log_header_size
==
-
1
)
{
...
...
trunk/src/app/srs_app_log.hpp
查看文件 @
a4410a4
...
...
@@ -84,7 +84,7 @@ public:
virtual
int
on_reload_log_level
();
virtual
int
on_reload_log_file
();
private
:
virtual
bool
generate_header
(
const
char
*
tag
,
int
context_id
,
const
char
*
level_name
,
int
*
header_size
);
virtual
bool
generate_header
(
bool
error
,
const
char
*
tag
,
int
context_id
,
const
char
*
level_name
,
int
*
header_size
);
virtual
void
write_log
(
int
&
fd
,
char
*
str_log
,
int
size
,
int
level
);
virtual
void
open_log_file
();
};
...
...
trunk/src/app/srs_app_rtmp_conn.cpp
查看文件 @
a4410a4
...
...
@@ -741,11 +741,11 @@ int SrsRtmpConn::process_publish_message(SrsSource* source, SrsMessage* msg, boo
srs_error
(
"source process onMetaData message failed. ret=%d"
,
ret
);
return
ret
;
}
srs_
trace
(
"process onMetaData message success."
);
srs_
info
(
"process onMetaData message success."
);
return
ret
;
}
srs_
trace
(
"ignore AMF0/AMF3 data message."
);
srs_
info
(
"ignore AMF0/AMF3 data message."
);
return
ret
;
}
...
...
trunk/src/kernel/srs_kernel_log.hpp
查看文件 @
a4410a4
...
...
@@ -158,5 +158,9 @@ extern ISrsThreadContext* _srs_context;
#define SRS_LOG_ID_WEB_PUBLISH "WPB"
// ingester for edge(play)/origin
#define SRS_LOG_ID_INGESTER "IGS"
// hls log id.
#define SRS_LOG_ID_HLS "HLS"
// encoder log id.
#define SRS_LOG_ID_ENCODER "ENC"
#endif
...
...
请
注册
或
登录
后发表评论