正在显示
4 个修改的文件
包含
27 行增加
和
13 行删除
@@ -15,6 +15,7 @@ RMB 500-999 | @@ -15,6 +15,7 @@ RMB 500-999 | ||
15 | * [2015-04-11 12:48] 丁一 | 15 | * [2015-04-11 12:48] 丁一 |
16 | 16 | ||
17 | RMB 100-499 | 17 | RMB 100-499 |
18 | +* [2015-05-07 23:56] 余世兵 | ||
18 | * [2015-05-07 11:34] 王隆萼 | 19 | * [2015-05-07 11:34] 王隆萼 |
19 | * [2015-05-06 22:04] 姜庆东 | 20 | * [2015-05-06 22:04] 姜庆东 |
20 | * [2015-04-10 19:52] 阳成飞 | 21 | * [2015-04-10 19:52] 阳成飞 |
@@ -256,6 +256,7 @@ int main(int argc, char** argv) | @@ -256,6 +256,7 @@ int main(int argc, char** argv) | ||
256 | } | 256 | } |
257 | } | 257 | } |
258 | 258 | ||
259 | + u_int32_t pre_timestamp = 0; | ||
259 | for (;;) { | 260 | for (;;) { |
260 | int size; | 261 | int size; |
261 | char type; | 262 | char type; |
@@ -267,10 +268,11 @@ int main(int argc, char** argv) | @@ -267,10 +268,11 @@ int main(int argc, char** argv) | ||
267 | goto rtmp_destroy; | 268 | goto rtmp_destroy; |
268 | } | 269 | } |
269 | 270 | ||
270 | - if (srs_human_print_rtmp_packet(type, timestamp, data, size) != 0) { | 271 | + if (srs_human_print_rtmp_packet2(type, timestamp, data, size, pre_timestamp) != 0) { |
271 | srs_human_trace("print rtmp packet failed."); | 272 | srs_human_trace("print rtmp packet failed."); |
272 | goto rtmp_destroy; | 273 | goto rtmp_destroy; |
273 | } | 274 | } |
275 | + pre_timestamp = timestamp; | ||
274 | 276 | ||
275 | // we only write some types of messages to flv file. | 277 | // we only write some types of messages to flv file. |
276 | int is_flv_msg = type == SRS_RTMP_TYPE_AUDIO | 278 | int is_flv_msg = type == SRS_RTMP_TYPE_AUDIO |
@@ -2313,29 +2313,39 @@ const char* srs_human_flv_audio_aac_packet_type2string(char aac_packet_type) | @@ -2313,29 +2313,39 @@ const char* srs_human_flv_audio_aac_packet_type2string(char aac_packet_type) | ||
2313 | 2313 | ||
2314 | return unknown; | 2314 | return unknown; |
2315 | } | 2315 | } |
2316 | - | 2316 | + |
2317 | int srs_human_print_rtmp_packet(char type, u_int32_t timestamp, char* data, int size) | 2317 | int srs_human_print_rtmp_packet(char type, u_int32_t timestamp, char* data, int size) |
2318 | { | 2318 | { |
2319 | + return srs_human_print_rtmp_packet2(type, timestamp, data, size, 0); | ||
2320 | +} | ||
2321 | + | ||
2322 | +int srs_human_print_rtmp_packet2(char type, u_int32_t timestamp, char* data, int size, u_int32_t pre_timestamp) | ||
2323 | +{ | ||
2319 | int ret = ERROR_SUCCESS; | 2324 | int ret = ERROR_SUCCESS; |
2320 | 2325 | ||
2326 | + int diff = 0; | ||
2327 | + if (pre_timestamp > 0) { | ||
2328 | + diff = (int)timestamp - (int)pre_timestamp; | ||
2329 | + } | ||
2330 | + | ||
2321 | u_int32_t pts; | 2331 | u_int32_t pts; |
2322 | if (srs_utils_parse_timestamp(timestamp, type, data, size, &pts) != 0) { | 2332 | if (srs_utils_parse_timestamp(timestamp, type, data, size, &pts) != 0) { |
2323 | - srs_human_trace("Rtmp packet type=%s, dts=%d, size=%d, DecodeError", | ||
2324 | - srs_human_flv_tag_type2string(type), timestamp, size | 2333 | + srs_human_trace("Rtmp packet type=%s, dts=%d, diff=%d, size=%d, DecodeError", |
2334 | + srs_human_flv_tag_type2string(type), timestamp, diff, size | ||
2325 | ); | 2335 | ); |
2326 | return ret; | 2336 | return ret; |
2327 | } | 2337 | } |
2328 | 2338 | ||
2329 | if (type == SRS_RTMP_TYPE_VIDEO) { | 2339 | if (type == SRS_RTMP_TYPE_VIDEO) { |
2330 | - srs_human_trace("Video packet type=%s, dts=%d, pts=%d, size=%d, %s(%s,%s)", | ||
2331 | - srs_human_flv_tag_type2string(type), timestamp, pts, size, | 2340 | + srs_human_trace("Video packet type=%s, dts=%d, pts=%d, diff=%d, size=%d, %s(%s,%s)", |
2341 | + srs_human_flv_tag_type2string(type), timestamp, pts, diff, size, | ||
2332 | srs_human_flv_video_codec_id2string(srs_utils_flv_video_codec_id(data, size)), | 2342 | srs_human_flv_video_codec_id2string(srs_utils_flv_video_codec_id(data, size)), |
2333 | srs_human_flv_video_avc_packet_type2string(srs_utils_flv_video_avc_packet_type(data, size)), | 2343 | srs_human_flv_video_avc_packet_type2string(srs_utils_flv_video_avc_packet_type(data, size)), |
2334 | srs_human_flv_video_frame_type2string(srs_utils_flv_video_frame_type(data, size)) | 2344 | srs_human_flv_video_frame_type2string(srs_utils_flv_video_frame_type(data, size)) |
2335 | ); | 2345 | ); |
2336 | } else if (type == SRS_RTMP_TYPE_AUDIO) { | 2346 | } else if (type == SRS_RTMP_TYPE_AUDIO) { |
2337 | - srs_human_trace("Audio packet type=%s, dts=%d, pts=%d, size=%d, %s(%s,%s,%s,%s)", | ||
2338 | - srs_human_flv_tag_type2string(type), timestamp, pts, size, | 2347 | + srs_human_trace("Audio packet type=%s, dts=%d, pts=%d, diff=%d, size=%d, %s(%s,%s,%s,%s)", |
2348 | + srs_human_flv_tag_type2string(type), timestamp, pts, diff, size, | ||
2339 | srs_human_flv_audio_sound_format2string(srs_utils_flv_audio_sound_format(data, size)), | 2349 | srs_human_flv_audio_sound_format2string(srs_utils_flv_audio_sound_format(data, size)), |
2340 | srs_human_flv_audio_sound_rate2string(srs_utils_flv_audio_sound_rate(data, size)), | 2350 | srs_human_flv_audio_sound_rate2string(srs_utils_flv_audio_sound_rate(data, size)), |
2341 | srs_human_flv_audio_sound_size2string(srs_utils_flv_audio_sound_size(data, size)), | 2351 | srs_human_flv_audio_sound_size2string(srs_utils_flv_audio_sound_size(data, size)), |
@@ -2343,8 +2353,8 @@ int srs_human_print_rtmp_packet(char type, u_int32_t timestamp, char* data, int | @@ -2343,8 +2353,8 @@ int srs_human_print_rtmp_packet(char type, u_int32_t timestamp, char* data, int | ||
2343 | srs_human_flv_audio_aac_packet_type2string(srs_utils_flv_audio_aac_packet_type(data, size)) | 2353 | srs_human_flv_audio_aac_packet_type2string(srs_utils_flv_audio_aac_packet_type(data, size)) |
2344 | ); | 2354 | ); |
2345 | } else if (type == SRS_RTMP_TYPE_SCRIPT) { | 2355 | } else if (type == SRS_RTMP_TYPE_SCRIPT) { |
2346 | - srs_human_verbose("Data packet type=%s, time=%d, size=%d", | ||
2347 | - srs_human_flv_tag_type2string(type), timestamp, size); | 2356 | + srs_human_verbose("Data packet type=%s, time=%d, diff=%d, size=%d", |
2357 | + srs_human_flv_tag_type2string(type), timestamp, diff, size); | ||
2348 | int nparsed = 0; | 2358 | int nparsed = 0; |
2349 | while (nparsed < size) { | 2359 | while (nparsed < size) { |
2350 | int nb_parsed_this = 0; | 2360 | int nb_parsed_this = 0; |
@@ -2360,8 +2370,8 @@ int srs_human_print_rtmp_packet(char type, u_int32_t timestamp, char* data, int | @@ -2360,8 +2370,8 @@ int srs_human_print_rtmp_packet(char type, u_int32_t timestamp, char* data, int | ||
2360 | srs_freep(amf0_str); | 2370 | srs_freep(amf0_str); |
2361 | } | 2371 | } |
2362 | } else { | 2372 | } else { |
2363 | - srs_human_trace("Rtmp packet type=%#x, dts=%d, pts=%d, size=%d", | ||
2364 | - type, timestamp, pts, size); | 2373 | + srs_human_trace("Rtmp packet type=%#x, dts=%d, pts=%d, diff=%d, size=%d", |
2374 | + type, timestamp, pts, diff, size); | ||
2365 | } | 2375 | } |
2366 | 2376 | ||
2367 | return ret; | 2377 | return ret; |
@@ -901,8 +901,9 @@ extern const char* srs_human_flv_audio_aac_packet_type2string(char aac_packet_ty | @@ -901,8 +901,9 @@ extern const char* srs_human_flv_audio_aac_packet_type2string(char aac_packet_ty | ||
901 | * print the rtmp packet, use srs_human_trace/srs_human_verbose for packet, | 901 | * print the rtmp packet, use srs_human_trace/srs_human_verbose for packet, |
902 | * and use srs_human_raw for script data body. | 902 | * and use srs_human_raw for script data body. |
903 | * @return an error code for parse the timetstamp to dts and pts. | 903 | * @return an error code for parse the timetstamp to dts and pts. |
904 | -*/ | 904 | + */ |
905 | extern int srs_human_print_rtmp_packet(char type, u_int32_t timestamp, char* data, int size); | 905 | extern int srs_human_print_rtmp_packet(char type, u_int32_t timestamp, char* data, int size); |
906 | +extern int srs_human_print_rtmp_packet2(char type, u_int32_t timestamp, char* data, int size, u_int32_t pre_timestamp); | ||
906 | 907 | ||
907 | // log to console, for use srs-librtmp application. | 908 | // log to console, for use srs-librtmp application. |
908 | extern const char* srs_human_format_time(); | 909 | extern const char* srs_human_format_time(); |
-
请 注册 或 登录 后发表评论