﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-to myself 的分类学习日志</title><link>http://www.cppblog.com/toMyself/</link><description>做自己想做的事</description><language>zh-cn</language><lastBuildDate>Thu, 23 Apr 2026 10:14:13 GMT</lastBuildDate><pubDate>Thu, 23 Apr 2026 10:14:13 GMT</pubDate><ttl>60</ttl><item><title>项目管理的知识体系——9个知识领域</title><link>http://www.cppblog.com/toMyself/archive/2013/09/16/203254.html</link><dc:creator>kongkongzi</dc:creator><author>kongkongzi</author><pubDate>Mon, 16 Sep 2013 04:34:00 GMT</pubDate><guid>http://www.cppblog.com/toMyself/archive/2013/09/16/203254.html</guid><wfw:comment>http://www.cppblog.com/toMyself/comments/203254.html</wfw:comment><comments>http://www.cppblog.com/toMyself/archive/2013/09/16/203254.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/toMyself/comments/commentRss/203254.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/toMyself/services/trackbacks/203254.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp; &nbsp; 项目管理的知识体系（Project Management Body of Knowledge，PMBOK），是美国项目管理学会PMI（Project Management Institute）在20世纪70年代末提出的，并于1996、2000、2004年三次修订。在这个知识体系指南中，把项目管理划分为9个知识领域。目录:1. 项目整体管理2. 项目范围管理3. 项目时间...&nbsp;&nbsp;<a href='http://www.cppblog.com/toMyself/archive/2013/09/16/203254.html'>阅读全文</a><img src ="http://www.cppblog.com/toMyself/aggbug/203254.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/toMyself/" target="_blank">kongkongzi</a> 2013-09-16 12:34 <a href="http://www.cppblog.com/toMyself/archive/2013/09/16/203254.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Introduction to OpenCV and FFmpeg</title><link>http://www.cppblog.com/toMyself/archive/2013/08/30/202873.html</link><dc:creator>kongkongzi</dc:creator><author>kongkongzi</author><pubDate>Fri, 30 Aug 2013 09:25:00 GMT</pubDate><guid>http://www.cppblog.com/toMyself/archive/2013/08/30/202873.html</guid><wfw:comment>http://www.cppblog.com/toMyself/comments/202873.html</wfw:comment><comments>http://www.cppblog.com/toMyself/archive/2013/08/30/202873.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/toMyself/comments/commentRss/202873.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/toMyself/services/trackbacks/202873.html</trackback:ping><description><![CDATA[<br /><div><div style="font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"><ul><li><span style="text-align: -webkit-auto; font-family: Arial; font-size: 10pt;">opencv</span></li><li style="list-style: none; display: inline;"><ul><li><span style="font-family: Arial; font-size: 10pt;">The Open Source Computer Vision Library has &gt;2500 algorithms, extensive documentation and sample code for real-time computer vision.</span></li></ul></li><li style="list-style: none; display: inline;"><ul><li><span style="font-family: Arial; font-size: 10pt;">libs after compiled</span></li><li style="list-style: none; display: inline;"><ul><li><span style="font-family: Arial; font-size: 10pt;">opencv_calib3d241.dll &nbsp; &nbsp; &nbsp; -&gt; Camera calibration and 3D reconstruction</span></li><li><span style="font-family: Arial; font-size: 10pt;">opencv_contrib241.dll</span></li><li><strong style="font-family: Arial; font-size: 10pt;">opencv_core241.dll</strong>&nbsp; &nbsp; &nbsp; &nbsp;<span style="font-family: Arial; font-size: 10pt;">-&gt; The Core Functionality</span></li><li><span style="font-family: Arial; font-size: 10pt;">opencv_features2d241.dll &nbsp;-&gt; 2D Features framework</span></li><li><strong style="font-family: Arial; font-size: 10pt;">opencv_ffmpeg241.dll</strong></li><li><span style="font-family: Arial; font-size: 10pt;">opencv_flann241.dll</span></li><li><span style="font-family: Arial; font-size: 10pt;">opencv_gpu241.dll &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -&gt; GPU-Accelerated Computer Vision</span></li><li><strong style="font-family: Arial; font-size: 10pt;">opencv_highgui241.dll</strong>&nbsp; <span style="font-family: Arial; font-size: 10pt;">-&gt; High Level GUI and Media</span></li><li><strong style="font-family: Arial; font-size: 10pt;">opencv_imgproc241.dll</strong>&nbsp;<span style="font-family: Arial; font-size: 10pt;">-&gt; Image Processing</span></li><li><span style="font-family: Arial; font-size: 10pt;">opencv_legacy241.dll</span></li><li><span style="font-family: Arial; font-size: 10pt;">opencv_ml241.dll &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; -&gt; Machine Learning</span></li><li><span style="font-family: Arial; font-size: 10pt;">opencv_nonfree241.dll</span></li><li><span style="font-family: Arial; font-size: 10pt;">opencv_objdetect241.dll &nbsp; -&gt; Object Detection</span></li><li><span style="font-family: Arial; font-size: 10pt;">opencv_photo241.dll</span></li><li><span style="font-family: Arial; font-size: 10pt;">opencv_stitching241.dll</span></li><li><span style="font-family: Arial; font-size: 10pt;">opencv_ts241.dll</span></li><li><span style="font-family: Arial; font-size: 10pt;">opencv_video241.dll &nbsp; &nbsp; &nbsp; &nbsp;-&gt; Video analysis</span></li><li><span style="font-family: Arial; font-size: 10pt;">opencv_videostab241.dll</span></li></ul></li><li><span style="font-family: Arial; font-size: 10pt;">Reference</span></li><li style="list-style: none; display: inline;"><ul><li><span style="font-family: Arial; font-size: 10pt;">opencv_tutorials.pdf &nbsp;or&nbsp;&nbsp;</span><a href="http://docs.opencv.org/doc/tutorials/tutorials.html"><span style="font-family: Arial; font-size: 10pt;">http://docs.opencv.org/doc/tutorials/tutorials.html</span></a></li><li><a href="http://opencv.org/"><span style="font-family: Arial; font-size: 10pt;">http://opencv.org/</span></a></li><li><a href="http://sourceforge.net/projects/opencvlibrary/"><span style="font-family: Arial; font-size: 10pt;">http://sourceforge.net/projects/opencvlibrary/</span></a></li><li><span style="font-family: Arial; font-size: 10pt;">OpenCV(开源计算机视觉库介绍)：&nbsp;</span><a href="http://www.usidcbbs.com/read-htm-tid-5134.html"><span style="font-family: Arial; font-size: 10pt;">http://www.usidcbbs.com/read-htm-tid-5134.html</span></a></li></ul></li></ul></li></ul></div><div style="font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"><ul><li><span style="font-family: Arial; font-size: 10pt;">ffmpeg</span></li><li style="list-style: none; display: inline;"><ul><li><span style="font-family: Arial; font-size: 10pt;">FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created.</span></li><li><span style="font-family: Arial; font-size: 10pt;">libs after compiled</span></li><li style="list-style: none; display: inline;"><ul><li><strong style="font-family: Arial; font-size: 10pt;">avcodec-54.dll &nbsp;</strong>-&gt;&nbsp;<span style="color: #202020; font-family: Simsun; text-align: justify; background-color: #ffffff;">FFmpeg encoders and decoders (codecs)</span></li><li><span style="font-family: Arial; font-size: 10pt;">avdevice-54.dll</span></li><li><span style="font-family: Arial; font-size: 10pt;">avfilter-2.dll</span></li><li><strong style="font-family: Arial; font-size: 10pt;">avformat-54.dll</strong>&nbsp;-&gt;&nbsp;<span style="color: #202020; font-family: Simsun; text-align: justify; background-color: #ffffff;">FFmpeg muxers and demuxers (formats)</span></li><li><strong style="font-family: Arial; font-size: 10pt;">avutil-51.dll &nbsp; &nbsp; &nbsp;&nbsp;</strong>-&gt;&nbsp;<span style="color: #202020; font-family: Simsun; text-align: justify; background-color: #ffffff;">FFmpeg utilities</span></li><li><em style="font-family: Arial; font-size: 10pt;">pthreadGC2.dll</em></li><li><em style="font-family: Arial; font-size: 10pt;">postproc-52.dll</em></li><li><span style="font-family: Arial; font-size: 10pt;">swresample-0.dll</span></li><li><strong style="font-family: Arial; font-size: 10pt;">swscale-2.dll &nbsp; &nbsp; &nbsp;</strong>-&gt;&nbsp;<span style="color: #202020; font-family: Simsun; text-align: justify; background-color: #ffffff;">FFmpeg video scaling and pixel format converter</span></li><li><em style="font-family: Arial; font-size: 10pt;">xvidcore.dll</em></li></ul></li><li><span style="font-family: Arial; font-size: 10pt;">Reference</span></li><li style="list-style: none; display: inline;"><ul><li><a href="http://www.ffmpeg.org/"><span style="font-family: Arial; font-size: 10pt;">http://www.ffmpeg.org/</span></a></li></ul></li></ul></li></ul></div><div style="font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"></div><div style="font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"></div><div style="font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"></div></div><img src ="http://www.cppblog.com/toMyself/aggbug/202873.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/toMyself/" target="_blank">kongkongzi</a> 2013-08-30 17:25 <a href="http://www.cppblog.com/toMyself/archive/2013/08/30/202873.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>RTSP/RTP Protocol</title><link>http://www.cppblog.com/toMyself/archive/2013/08/26/202771.html</link><dc:creator>kongkongzi</dc:creator><author>kongkongzi</author><pubDate>Mon, 26 Aug 2013 04:09:00 GMT</pubDate><guid>http://www.cppblog.com/toMyself/archive/2013/08/26/202771.html</guid><wfw:comment>http://www.cppblog.com/toMyself/comments/202771.html</wfw:comment><comments>http://www.cppblog.com/toMyself/archive/2013/08/26/202771.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/toMyself/comments/commentRss/202771.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/toMyself/services/trackbacks/202771.html</trackback:ping><description><![CDATA[<h1>1.<span style="font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';">&nbsp;&nbsp; </span>Overview</h1>  <p><span style="font-size: 7pt; font-family: Arial, sans-serif; background-color: white; background-position: initial initial; background-repeat: initial initial;">RTSP / RTP protocol is composed by the three sub-protocols -- RTSP, RTP and RTCP.</span></p>  <h1>2.<span style="font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';">&nbsp;&nbsp; </span>RTSP</h1>  <p><span style="font-size: 7pt; font-family: Arial, sans-serif; background-color: white; background-position: initial initial; background-repeat: initial initial;">The&nbsp;Real Time Streaming Protocol&nbsp;(RTSP) is a network control&nbsp;protocol&nbsp;designed for use in entertainment and communications systems to control streaming media&nbsp;servers. The protocol is used for establishing and controlling media sessions between end points.</span></p>  <p><span style="font-size: 7pt; font-family: Arial, sans-serif; background-color: white; background-position: initial initial; background-repeat: initial initial;">RTSP uses TCP to maintain an end-to-end connection</span>.</p>  <p><span style="font-size: 7pt; font-family: Arial, sans-serif; background-color: white; background-position: initial initial; background-repeat: initial initial;">Presented here are the basic RTSP requests.</span> The default transport layer&nbsp;port number&nbsp;is 554.</p>  <p><span style="font-size: 7pt; font-family: Arial, sans-serif; background-color: white;">OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER.<br /><img src="http://www.cppblog.com/images/cppblog_com/tomyself/rtsp1.jpg" width="696" height="495" alt="" /><br /><img src="http://www.cppblog.com/images/cppblog_com/tomyself/rtsp2.jpg" width="989" height="437" alt="" /><br /><img src="http://www.cppblog.com/images/cppblog_com/tomyself/rtsp3.jpg" width="691" height="202" alt="" /><br /><img src="http://www.cppblog.com/images/cppblog_com/tomyself/rtsp4.jpg" width="564" height="99" alt="" /><br /><br /></span></p>  <h1>3.<span style="font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';">&nbsp;&nbsp; </span>RTP</h1>  <p><span style="font-size: 7pt; font-family: Arial, sans-serif; background-color: white; background-position: initial initial; background-repeat: initial initial;">The&nbsp;</span><strong>Real-time Transport Protocol</strong>&nbsp;(<strong>RTP</strong>) defines a standardized packet format for delivering audio and video over&nbsp;<span style="font-size:7.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;;background:white">IP networks.</span></p>  <p style="margin-bottom:6.0pt;"><span style="font-size: 7pt; font-family: Arial, sans-serif; background-color: white; background-position: initial initial; background-repeat: initial initial;">RTP is used in conjunction with the&nbsp;RTP Control Protocol&nbsp;(RTCP). While RTP carries the media streams (e.g., audio and video), RTCP is used to monitor transmission statistics and&nbsp;quality of service&nbsp;(QoS) and aids synchronization of multiple streams. RTP is originated and received on even</span> port numbers&nbsp;and the associated RTCP communication uses the next higher odd port number.</p>  <table border="1" cellspacing="0" cellpadding="0" style="background-color: #f9f9f9; border-collapse: collapse; border: none;">  <tbody><tr>   <td colspan="8" style="border: none; background-color: #f2f2f2; padding: 2.4pt;">   <p align="center" style="margin-top:12.0pt;margin-right:0cm;   margin-bottom:12.0pt;margin-left:0cm;text-align:center;line-height:10.3pt"><strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">RTP packet header</span></strong><strong></strong></p>   </td>  </tr>  <tr>   <td style="border: 1pt solid #aaaaaa; background-color: #f2f2f2; padding: 2.4pt;">   <p align="center" style="margin-top:12.0pt;margin-right:0cm;   margin-bottom:12.0pt;margin-left:0cm;text-align:center;line-height:10.3pt"><strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">bit offset</span></strong><strong></strong></p>   </td>   <td style="border-style: solid solid solid none; border-top-color: #aaaaaa; border-right-color: #aaaaaa; border-bottom-color: #aaaaaa; border-top-width: 1pt; border-right-width: 1pt; border-bottom-width: 1pt; background-color: #f2f2f2; padding: 2.4pt; background-position: initial initial; background-repeat: initial initial;">   <p align="center" style="margin-top:12.0pt;margin-right:0cm;   margin-bottom:12.0pt;margin-left:0cm;text-align:center;line-height:10.3pt"><strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">0-1</span></strong><strong></strong></p>   </td>   <td style="border-style: solid solid solid none; border-top-color: #aaaaaa; border-right-color: #aaaaaa; border-bottom-color: #aaaaaa; border-top-width: 1pt; border-right-width: 1pt; border-bottom-width: 1pt; background-color: #f2f2f2; padding: 2.4pt; background-position: initial initial; background-repeat: initial initial;">   <p align="center" style="margin-top:12.0pt;margin-right:0cm;   margin-bottom:12.0pt;margin-left:0cm;text-align:center;line-height:10.3pt"><strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">2</span></strong><strong></strong></p>   </td>   <td style="border-style: solid solid solid none; border-top-color: #aaaaaa; border-right-color: #aaaaaa; border-bottom-color: #aaaaaa; border-top-width: 1pt; border-right-width: 1pt; border-bottom-width: 1pt; background-color: #f2f2f2; padding: 2.4pt; background-position: initial initial; background-repeat: initial initial;">   <p align="center" style="margin-top:12.0pt;margin-right:0cm;   margin-bottom:12.0pt;margin-left:0cm;text-align:center;line-height:10.3pt"><strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">3</span></strong><strong></strong></p>   </td>   <td style="border-style: solid solid solid none; border-top-color: #aaaaaa; border-right-color: #aaaaaa; border-bottom-color: #aaaaaa; border-top-width: 1pt; border-right-width: 1pt; border-bottom-width: 1pt; background-color: #f2f2f2; padding: 2.4pt; background-position: initial initial; background-repeat: initial initial;">   <p align="center" style="margin-top:12.0pt;margin-right:0cm;   margin-bottom:12.0pt;margin-left:0cm;text-align:center;line-height:10.3pt"><strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">4-7</span></strong><strong></strong></p>   </td>   <td style="border-style: solid solid solid none; border-top-color: #aaaaaa; border-right-color: #aaaaaa; border-bottom-color: #aaaaaa; border-top-width: 1pt; border-right-width: 1pt; border-bottom-width: 1pt; background-color: #f2f2f2; padding: 2.4pt; background-position: initial initial; background-repeat: initial initial;">   <p align="center" style="margin-top:12.0pt;margin-right:0cm;   margin-bottom:12.0pt;margin-left:0cm;text-align:center;line-height:10.3pt"><strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">8</span></strong><strong></strong></p>   </td>   <td style="border-style: solid solid solid none; border-top-color: #aaaaaa; border-right-color: #aaaaaa; border-bottom-color: #aaaaaa; border-top-width: 1pt; border-right-width: 1pt; border-bottom-width: 1pt; background-color: #f2f2f2; padding: 2.4pt; background-position: initial initial; background-repeat: initial initial;">   <p align="center" style="margin-top:12.0pt;margin-right:0cm;   margin-bottom:12.0pt;margin-left:0cm;text-align:center;line-height:10.3pt"><strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">9-15</span></strong><strong></strong></p>   </td>   <td style="border-style: solid solid solid none; border-top-color: #aaaaaa; border-right-color: #aaaaaa; border-bottom-color: #aaaaaa; border-top-width: 1pt; border-right-width: 1pt; border-bottom-width: 1pt; background-color: #f2f2f2; padding: 2.4pt; background-position: initial initial; background-repeat: initial initial;">   <p align="center" style="margin-top:12.0pt;margin-right:0cm;   margin-bottom:12.0pt;margin-left:0cm;text-align:center;line-height:10.3pt"><strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">16-31</span></strong><strong></strong></p>   </td>  </tr>  <tr>   <td style="border-style: none solid solid; border-right-color: #aaaaaa; border-bottom-color: #aaaaaa; border-left-color: #aaaaaa; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; background-color: #f2f2f2; padding: 2.4pt; background-position: initial initial; background-repeat: initial initial;">   <p align="center" style="margin-top:12.0pt;margin-right:0cm;   margin-bottom:12.0pt;margin-left:0cm;text-align:center;line-height:10.3pt"><strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">0</span></strong><strong></strong></p>   </td>   <td style="border-top:none;border-left:none;border-bottom:solid #AAAAAA 1.0pt;   border-right:solid #AAAAAA 1.0pt;   padding:2.4pt 2.4pt 2.4pt 2.4pt">   <p align="center" style="margin-top:12.0pt;margin-right:0cm;   margin-bottom:12.0pt;margin-left:0cm;text-align:center;line-height:10.3pt"><span style="font-size: 7pt; font-family: Arial, sans-serif;">Version</span></p>   </td>   <td style="border-top:none;border-left:none;border-bottom:solid #AAAAAA 1.0pt;   border-right:solid #AAAAAA 1.0pt;   padding:2.4pt 2.4pt 2.4pt 2.4pt">   <p align="center" style="margin-top:12.0pt;margin-right:0cm;   margin-bottom:12.0pt;margin-left:0cm;text-align:center;line-height:10.3pt"><span style="font-size: 7pt; font-family: Arial, sans-serif;">P</span></p>   </td>   <td style="border-top:none;border-left:none;border-bottom:solid #AAAAAA 1.0pt;   border-right:solid #AAAAAA 1.0pt;   padding:2.4pt 2.4pt 2.4pt 2.4pt">   <p align="center" style="margin-top:12.0pt;margin-right:0cm;   margin-bottom:12.0pt;margin-left:0cm;text-align:center;line-height:10.3pt"><span style="font-size: 7pt; font-family: Arial, sans-serif;">X</span></p>   </td>   <td style="border-top:none;border-left:none;border-bottom:solid #AAAAAA 1.0pt;   border-right:solid #AAAAAA 1.0pt;   padding:2.4pt 2.4pt 2.4pt 2.4pt">   <p align="center" style="margin-top:12.0pt;margin-right:0cm;   margin-bottom:12.0pt;margin-left:0cm;text-align:center;line-height:10.3pt"><span style="font-size: 7pt; font-family: Arial, sans-serif;">CC</span></p>   </td>   <td style="border-top:none;border-left:none;border-bottom:solid #AAAAAA 1.0pt;   border-right:solid #AAAAAA 1.0pt;   padding:2.4pt 2.4pt 2.4pt 2.4pt">   <p align="center" style="margin-top:12.0pt;margin-right:0cm;   margin-bottom:12.0pt;margin-left:0cm;text-align:center;line-height:10.3pt"><span style="font-size: 7pt; font-family: Arial, sans-serif;">M</span></p>   </td>   <td style="border-top:none;border-left:none;border-bottom:solid #AAAAAA 1.0pt;   border-right:solid #AAAAAA 1.0pt;   padding:2.4pt 2.4pt 2.4pt 2.4pt">   <p align="center" style="margin-top:12.0pt;margin-right:0cm;   margin-bottom:12.0pt;margin-left:0cm;text-align:center;line-height:10.3pt"><span style="font-size: 7pt; font-family: Arial, sans-serif;">PT</span></p>   </td>   <td style="border-top:none;border-left:none;border-bottom:solid #AAAAAA 1.0pt;   border-right:solid #AAAAAA 1.0pt;   padding:2.4pt 2.4pt 2.4pt 2.4pt">   <p align="center" style="margin-top:12.0pt;margin-right:0cm;   margin-bottom:12.0pt;margin-left:0cm;text-align:center;line-height:10.3pt"><span style="font-size: 7pt; font-family: Arial, sans-serif;">Sequence Number</span></p>   </td>  </tr>  <tr>   <td style="border-style: none solid solid; border-right-color: #aaaaaa; border-bottom-color: #aaaaaa; border-left-color: #aaaaaa; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; background-color: #f2f2f2; padding: 2.4pt; background-position: initial initial; background-repeat: initial initial;">   <p align="center" style="margin-top:12.0pt;margin-right:0cm;   margin-bottom:12.0pt;margin-left:0cm;text-align:center;line-height:10.3pt"><strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">32</span></strong><strong></strong></p>   </td>   <td colspan="7" style="border-top:none;border-left:none;border-bottom:solid #AAAAAA 1.0pt;   border-right:solid #AAAAAA 1.0pt;   padding:2.4pt 2.4pt 2.4pt 2.4pt">   <p align="center" style="margin-top:12.0pt;margin-right:0cm;   margin-bottom:12.0pt;margin-left:0cm;text-align:center;line-height:10.3pt"><span style="font-size: 7pt; font-family: Arial, sans-serif;">Timestamp</span></p>   </td>  </tr>  <tr>   <td style="border-style: none solid solid; border-right-color: #aaaaaa; border-bottom-color: #aaaaaa; border-left-color: #aaaaaa; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; background-color: #f2f2f2; padding: 2.4pt; background-position: initial initial; background-repeat: initial initial;">   <p align="center" style="margin-top:12.0pt;margin-right:0cm;   margin-bottom:12.0pt;margin-left:0cm;text-align:center;line-height:10.3pt"><strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">64</span></strong><strong></strong></p>   </td>   <td colspan="7" style="border-top:none;border-left:none;border-bottom:solid #AAAAAA 1.0pt;   border-right:solid #AAAAAA 1.0pt;   padding:2.4pt 2.4pt 2.4pt 2.4pt">   <p align="center" style="margin-top:12.0pt;margin-right:0cm;   margin-bottom:12.0pt;margin-left:0cm;text-align:center;line-height:10.3pt"><span style="font-size: 7pt; font-family: Arial, sans-serif;">SSRC identifier</span></p>   </td>  </tr>  <tr>   <td style="border-style: none solid solid; border-right-color: #aaaaaa; border-bottom-color: #aaaaaa; border-left-color: #aaaaaa; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; background-color: #f2f2f2; padding: 2.4pt; background-position: initial initial; background-repeat: initial initial;">   <p align="center" style="margin-top:12.0pt;margin-right:0cm;   margin-bottom:12.0pt;margin-left:0cm;text-align:center;line-height:10.3pt"><strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">96</span></strong><strong></strong></p>   </td>   <td colspan="7" style="border-top:none;border-left:none;border-bottom:solid #AAAAAA 1.0pt;   border-right:solid #AAAAAA 1.0pt;   background:#FFBBBB;padding:2.4pt 2.4pt 2.4pt 2.4pt">   <p align="center" style="margin-top:12.0pt;margin-right:0cm;   margin-bottom:12.0pt;margin-left:0cm;text-align:center;line-height:10.3pt"><span style="font-size: 7pt; font-family: Arial, sans-serif;">CSRC identifiers<br />   ...</span></p>   </td>  </tr>  <tr>   <td style="border-style: none solid solid; border-right-color: #aaaaaa; border-bottom-color: #aaaaaa; border-left-color: #aaaaaa; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; background-color: #f2f2f2; padding: 2.4pt; background-position: initial initial; background-repeat: initial initial;">   <p align="center" style="margin-top:12.0pt;margin-right:0cm;   margin-bottom:12.0pt;margin-left:0cm;text-align:center;line-height:10.3pt"><strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">96+32&#215;CC</span></strong><strong></strong></p>   </td>   <td colspan="6" style="border-top:none;border-left:none;border-bottom:solid #AAAAAA 1.0pt;   border-right:solid #AAAAAA 1.0pt;   background:#FFBBBB;padding:2.4pt 2.4pt 2.4pt 2.4pt">   <p align="center" style="margin-top:12.0pt;margin-right:0cm;   margin-bottom:12.0pt;margin-left:0cm;text-align:center;line-height:10.3pt"><span style="font-size: 7pt; font-family: Arial, sans-serif;">Profile-specific extension header ID</span></p>   </td>   <td style="border-top:none;border-left:none;border-bottom:solid #AAAAAA 1.0pt;   border-right:solid #AAAAAA 1.0pt;   background:#FFBBBB;padding:2.4pt 2.4pt 2.4pt 2.4pt">   <p align="center" style="margin-top:12.0pt;margin-right:0cm;   margin-bottom:12.0pt;margin-left:0cm;text-align:center;line-height:10.3pt"><span style="font-size: 7pt; font-family: Arial, sans-serif;">Extension header length</span></p>   </td>  </tr>  <tr>   <td style="border-style: none solid solid; border-right-color: #aaaaaa; border-bottom-color: #aaaaaa; border-left-color: #aaaaaa; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; background-color: #f2f2f2; padding: 2.4pt; background-position: initial initial; background-repeat: initial initial;">   <p align="center" style="margin-top:12.0pt;margin-right:0cm;   margin-bottom:12.0pt;margin-left:0cm;text-align:center;line-height:10.3pt"><strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">128+32&#215;CC</span></strong><strong></strong></p>   </td>   <td colspan="7" style="border-top:none;border-left:none;border-bottom:solid #AAAAAA 1.0pt;   border-right:solid #AAAAAA 1.0pt;   background:#FFBBBB;padding:2.4pt 2.4pt 2.4pt 2.4pt">   <p align="center" style="margin-top:12.0pt;margin-right:0cm;   margin-bottom:12.0pt;margin-left:0cm;text-align:center;line-height:10.3pt"><span style="font-size: 7pt; font-family: Arial, sans-serif;">Extension header<br />   ...</span></p>   </td>  </tr> </tbody></table>  <p style="margin: 4.8pt 0cm 6pt; line-height: 10.3pt; background-color: white; background-position: initial initial; background-repeat: initial initial;"><span style="font-size: 7pt; font-family: Arial, sans-serif;">The RTP header has a minimum size of 12 bytes. After the header, optional header extensions may be present. This is followed by the RTP payload, the format of which is determined by the particular class of application. The fields in the header are as follows:</span></p>  <p align="left" style="margin-bottom: 1.2pt; margin-left: 19.2pt; text-indent: -18pt; line-height: 10.3pt; background-color: white; background-position: initial initial; background-repeat: initial initial;"><span style="font-size: 10pt; font-family: Symbol;">&#183;<span style="font-size: 7pt; line-height: normal; font-family: 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">Version</span></strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">: (2 bits) Indicates the version of the protocol. Current version is 2.</span></p>  <p align="left" style="margin-bottom: 1.2pt; margin-left: 19.2pt; text-indent: -18pt; line-height: 10.3pt; background-color: white; background-position: initial initial; background-repeat: initial initial;"><span style="font-size: 10pt; font-family: Symbol;">&#183;<span style="font-size: 7pt; line-height: normal; font-family: 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">P (Padding)</span></strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">: (1 bit) Used to indicate if there are extra padding bytes at the end of the RTP packet. A padding might be used to fill up a block of certain size, for example as required by an encryption algorithm. The last byte of the padding contains the number of padding bytes that were added (including itself).</span></p>  <p align="left" style="margin-bottom: 1.2pt; margin-left: 19.2pt; text-indent: -18pt; line-height: 10.3pt; background-color: white; background-position: initial initial; background-repeat: initial initial;"><span style="font-size: 10pt; font-family: Symbol;">&#183;<span style="font-size: 7pt; line-height: normal; font-family: 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">X (Extension)</span></strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">: (1 bit) Indicates presence of an&nbsp;<em>Extension header</em>&nbsp;between standard header and payload data. This is application or profile specific.</span></p>  <p align="left" style="margin-bottom: 1.2pt; margin-left: 19.2pt; text-indent: -18pt; line-height: 10.3pt; background-color: white; background-position: initial initial; background-repeat: initial initial;"><span style="font-size: 10pt; font-family: Symbol;">&#183;<span style="font-size: 7pt; line-height: normal; font-family: 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">CC (CSRC Count)</span></strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">: (4 bits) Contains the number of CSRC identifiers (defined below) that follow the fixed header.</span></p>  <p align="left" style="margin-bottom: 1.2pt; margin-left: 19.2pt; text-indent: -18pt; line-height: 10.3pt; background-color: white; background-position: initial initial; background-repeat: initial initial;"><span style="font-size: 10pt; font-family: Symbol;">&#183;<span style="font-size: 7pt; line-height: normal; font-family: 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">M (Marker)</span></strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">: (1 bit) Used at the application level and defined by a profile. If it is set, it means that the current data has some special relevance for the application.</span></p>  <p align="left" style="margin-bottom: 1.2pt; margin-left: 19.2pt; text-indent: -18pt; line-height: 10.3pt; background-color: white; background-position: initial initial; background-repeat: initial initial;"><span style="font-size: 10pt; font-family: Symbol;">&#183;<span style="font-size: 7pt; line-height: normal; font-family: 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">PT (Payload Type)</span></strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">: (7 bits) Indicates the format of the payload and determines its interpretation by the application. This is specified by an RTP profile. For example, see&nbsp;<em>RTP Profile for audio and video conferences with minimal control</em>&nbsp;(<a href="http://tools.ietf.org/html/rfc3551" style="background-repeat:no-repeat; background-position-x:100%;background-position-y:50%"><span style="color:#663366; text-decoration:none;text-underline:none">RFC 3551</span></a>).</span></p>  <p align="left" style="margin-bottom: 1.2pt; margin-left: 19.2pt; text-indent: -18pt; line-height: 10.3pt; background-color: white; background-position: initial initial; background-repeat: initial initial;"><span style="font-size: 10pt; font-family: Symbol;">&#183;<span style="font-size: 7pt; line-height: normal; font-family: 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">Sequence Number</span></strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">: (16 bits) The sequence number is incremented by one for each RTP data packet sent and is to be used by the receiver to detect packet loss and to restore packet sequence. The RTP does not specify any action on packet loss; it is left to the application to take appropriate action. For example, video applications may play the last known frame in place of the missing frame. According to&nbsp;<a href="http://tools.ietf.org/html/rfc3550" style="background-repeat:no-repeat; background-position-x:100%;background-position-y:50%"><span style="color:#663366; text-decoration:none;text-underline:none">RFC 3550</span></a>, the initial value of the sequence number should be random to make&nbsp;known-plaintext attacks&nbsp;on&nbsp;encryption&nbsp;more difficult.&nbsp;RTP provides no guarantee of delivery, but the presence of sequence numbers makes it possible to detect missing packets.</span></p>  <p align="left" style="margin-bottom: 1.2pt; margin-left: 19.2pt; text-indent: -18pt; line-height: 10.3pt; background-color: white; background-position: initial initial; background-repeat: initial initial;"><span style="font-size: 10pt; font-family: Symbol;">&#183;<span style="font-size: 7pt; line-height: normal; font-family: 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">Timestamp</span></strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">: (32 bits) Used to enable the receiver to play back the received samples at appropriate intervals. When several media streams are present, the timestamps are independent in each stream, and may not be relied upon for media synchronization. The granularity of the timing is application specific. For example, an audio application that samples data once every 125&nbsp;&#181;s (8&nbsp;kHz, a common sample rate in digital telephony) could use that value as its clock resolution. The clock granularity is one of the details that is specified in the RTP profile for an application.</span></p>  <p align="left" style="margin-bottom: 1.2pt; margin-left: 19.2pt; text-indent: -18pt; line-height: 10.3pt; background-color: white; background-position: initial initial; background-repeat: initial initial;"><span style="font-size: 10pt; font-family: Symbol;">&#183;<span style="font-size: 7pt; line-height: normal; font-family: 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">SSRC</span></strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">: (32 bits) Synchronization source identifier uniquely identifies the source of a stream. The synchronization sources within the same RTP session will be unique.</span></p>  <p align="left" style="margin-bottom: 1.2pt; margin-left: 19.2pt; text-indent: -18pt; line-height: 10.3pt; background-color: white; background-position: initial initial; background-repeat: initial initial;"><span style="font-size: 10pt; font-family: Symbol;">&#183;<span style="font-size: 7pt; line-height: normal; font-family: 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">CSRC</span></strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">: Contributing source IDs enumerate contributing sources to a stream which has been generated from multiple sources.</span></p>  <p align="left" style="margin-bottom: 1.2pt; margin-left: 19.2pt; text-indent: -18pt; line-height: 10.3pt; background-color: white; background-position: initial initial; background-repeat: initial initial;"><span style="font-size: 10pt; font-family: Symbol;">&#183;<span style="font-size: 7pt; line-height: normal; font-family: 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">Extension header</span></strong><span style="font-size: 7pt; font-family: Arial, sans-serif;">: (optional) The first 32-bit word contains a profile-specific identifier (16 bits) and a length specifier (16 bits) that indicates the length of the extension (EHL=extension header length) in 32-bit units, excluding the 32 bits of the extension header.</span></p><p align="left" style="margin-bottom: 1.2pt; line-height: 10.3pt; background-color: white;"><span style="font-size: 7pt; font-family: Arial, sans-serif;">Examples of RTP header:<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0 &nbsp; 1 &nbsp; &nbsp;2 &nbsp; 3 &nbsp; &nbsp;4 &nbsp; &nbsp;5 &nbsp; 6 &nbsp; &nbsp;7 &nbsp; 8 &nbsp; 9 &nbsp; &nbsp;a &nbsp; b &nbsp; &nbsp; c &nbsp; d &nbsp; e &nbsp; f<br />00h: 80 60 C6 C6 01 49 A5 10 00 00 00 00 &nbsp;00 00 01 BA <br />10h: 44 14 &nbsp;9C C8 E4 01 00 5F 6B F8 00 00 01 E0 5F 8C<br /><br />=&gt; 0x80=1000 0000 &nbsp;=&gt; Version=10bit, P=0bit, X=0bit, CC=0000bit<br />=&gt; 0x60=0110 0000 &nbsp;=&gt; M=0bit, PT=1100000bit=0x60<br />=&gt; 0xC6C6=50886dec &nbsp;=&gt; SequenceNumber=50886dec<br />=&gt; 0x0149A510=21603600dec &nbsp;=&gt; Timestamp=21603600dec<br />=&gt; 0x00000000 &nbsp;=&gt; &nbsp;SSRC=0x00<br />=&gt; 0x000001BA &nbsp;=&gt; &nbsp;CSRC=0x01BA<br /><br /><br />Reference</span><span style="font-size: 7pt; font-family: 宋体; background-position: initial initial; background-repeat: initial initial;">：</span></p><p align="left" style="margin-left: 0cm; line-height: 10.3pt; background-color: white; background-position: initial initial; background-repeat: initial initial;"><span style="font-size: 7pt; font-family: Wingdings;">&#216;<span style="font-size: 7pt; line-height: normal; font-family: 'Times New Roman';">&nbsp;&nbsp; </span></span><span style="font-size: 7pt; font-family: Arial, sans-serif; background-position: initial initial; background-repeat: initial initial;"><a href="http://www.cppblog.com/toMyself/archive/2013/08/26/202772.html">RTP Payload Format for H.264 Video</a></span></p>  <p align="left" style="margin-left: 0cm; line-height: 10.3pt; background-color: white; background-position: initial initial; background-repeat: initial initial;"><span style="font-size: 7pt; font-family: Wingdings;">&#216;<span style="font-size: 7pt; line-height: normal; font-family: 'Times New Roman';">&nbsp;&nbsp; </span></span><span style="font-size: 7pt; font-family: Arial, sans-serif; background-position: initial initial; background-repeat: initial initial;"><a href="http://tools.ietf.org/html/rfc3016">RTP Payload Format for MPEG-4 Audio/Visual Streams</a></span></p><p align="left" style="margin-left: 0cm; line-height: 10.3pt; background-color: white; background-position: initial initial; background-repeat: initial initial;"><span style="font-size: 7pt; font-family: Arial, sans-serif; background-position: initial initial; background-repeat: initial initial;"><a href="http://www.cppblog.com/toMyself/archive/2013/08/26/202772.html"><br /><br /></a></span></p>  <h1>4.<span style="font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';">&nbsp;&nbsp; </span>RTCP</h1>  <p><span style="font-size: 7pt; font-family: Arial, sans-serif; background-color: white; background-position: initial initial; background-repeat: initial initial;">The&nbsp;RTP Control Protocol&nbsp;(RTCP) is a sister protocol of the&nbsp;Real-time Transport Protocol&nbsp;(RTP).</span></p>  <p><span style="font-size: 7pt; font-family: Arial, sans-serif; background-color: white; background-position: initial initial; background-repeat: initial initial;">RTCP provides out-of-band statistics and control information for an RTP flow. It partners RTP in the delivery and packaging of multimedia data, but does not transport any media streams itself. Typically RTP will be sent on an even-numbered&nbsp;UDP&nbsp;port, with RTCP messages being sent over the next higher odd-numbered port.&nbsp;The primary function of RTCP is to provide feedback on the&nbsp;quality of service&nbsp;(QoS) in media distribution by periodically sending statistics information to participants in a streaming multimedia session.</span></p>  <p><span style="font-size: 7pt; font-family: Arial, sans-serif; background-color: white; background-position: initial initial; background-repeat: initial initial;">RTCP gathers statistics for a media connection and information such as transmitted&nbsp;octet&nbsp;and packet counts, lost packet counts,&nbsp;jitter, and&nbsp;round-trip delay time. An application may use this information to control quality of service parameters, perhaps by limiting flow, or using a different codec.</span></p>  <p><span style="font-size: 7pt; font-family: Arial, sans-serif; background-color: white; background-position: initial initial; background-repeat: initial initial;">RTCP distinguishes several types of packets: sender report, receiver report, source description, and bye. In addition, the protocol is extensible and allows application-specific RTCP packets. A standards-based extension of RTCP is the Extended Report packet type introduced by&nbsp;<a href="http://tools.ietf.org/html/rfc3611"><span style="color:black; text-decoration:none;text-underline:none">RFC 3611</span></a>.<br /><br /></span><strong><span style="font-size: 14pt; font-family: Arial; background-color: white;">附1. </span><span style="font-size: 7pt; font-family: Arial, sans-serif; background-color: white;">&nbsp;&nbsp;</span></strong><strong style="font-family: Arial; font-size: 14pt;">RTSP Interleaved Frame</strong></p><p><span style="font-size: 7pt; font-family: Arial, sans-serif; background-color: white; background-position: initial initial; background-repeat: initial initial;">参考：<a title="Real Time Streaming Protocol (RTSP)" href="http://www.ietf.org/rfc/rfc2326.txt">Real Time Streaming Protocol (RTSP)</a></span></p><pre style="line-height: normal; word-wrap: break-word; white-space: pre-wrap;"><span style="font-family: verdana, 'courier new'; line-height: 21px;"></span></pre><p align="left"><span style="font-family: Arial;">rfc2326 10.12 Embedded (Interleaved) Binary Data</span></p>  <p align="left"><span style="font-family: 宋体;">Interleaved binary data SHOULD only be used if RTSP is carried over TCP.</span></p>  <p align="left"><span style="font-family: 宋体;">Stream data such as RTP packets is encapsulated by <u>an ASCII dollar sign (24 hexadecimal)</u>, followed by <em><u>a </u></em><u>one-byte channel identifier</u>, followed by <u>the length of the encapsulated binary data as a binary, two-byte integer in network byte order</u>. The stream data follows immediately afterwards, without a CRLF, but including the upper-layer protocol headers. Each $ block contains exactly one upper-layer protocol data unit, e.g., one RTP packet. </span></p>  <p align="left"><span style="font-family: 宋体;">The channel identifier is defined in the Transport header with the interleaved parameter(Section 12.39).</span></p>  <p align="left"><span style="font-family: 宋体;">When the transport choice is RTP, RTCP messages are also interleaved by the server over the TCP connection. As a default, RTCP packets are sent on the first available channel higher than the RTP channel. The client MAY explicitly request RTCP packets on another channel. This is done by specifying two channels in the interleaved parameter of the Transport header(Section 12.39)</span><span style="font-family: 宋体;">.</span></p>  <p><span style="font-family: Arial;">Example:</span></p>  <pre><span style="font-size: 10.5pt;">SETUP Transport: RTP/AVP/TCP;interleaved=0-1</span></pre><pre><span style="font-size: 10.5pt;">Then the channel identifier of RTP is 0, 1 for RTCP.</span></pre><pre style="line-height: normal; word-wrap: break-word; white-space: pre-wrap;"></pre><p><span style="font-size: 7pt; font-family: Arial, sans-serif; background-color: white; background-position: initial initial; background-repeat: initial initial;"><br /><br /></span></p><img src ="http://www.cppblog.com/toMyself/aggbug/202771.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/toMyself/" target="_blank">kongkongzi</a> 2013-08-26 12:09 <a href="http://www.cppblog.com/toMyself/archive/2013/08/26/202771.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《安全防范视频监控联网系统信息传输、交换、控制技术要求》</title><link>http://www.cppblog.com/toMyself/archive/2013/08/23/202717.html</link><dc:creator>kongkongzi</dc:creator><author>kongkongzi</author><pubDate>Fri, 23 Aug 2013 09:31:00 GMT</pubDate><guid>http://www.cppblog.com/toMyself/archive/2013/08/23/202717.html</guid><wfw:comment>http://www.cppblog.com/toMyself/comments/202717.html</wfw:comment><comments>http://www.cppblog.com/toMyself/archive/2013/08/23/202717.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/toMyself/comments/commentRss/202717.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/toMyself/services/trackbacks/202717.html</trackback:ping><description><![CDATA[<br /><br /><div><ul style="font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"><li><span style="background-color: #ffffff; font-family: Arial; line-height: 21px; font-size: 10pt;">安全防范视频监控联网系统信息传输、交换、控制技术要求 &nbsp;</span><span style="font-size: 10pt; font-family: Arial;">GB/T 28181-2011<br /></span><div><span style="font-family: Arial; font-size: 10pt;">Security and protection video monitoring network system technical specification for information transport, switch and control<br /><div><span style="font-family: Arial; font-size: 10pt;">通过GB/T28181-2011标准检测的平台软件：&nbsp;</span><a href="http://www.tcspbj.com/other/Zxtg1.aspx" style="font-family: Tahoma; text-align: -webkit-auto; font-size: medium;"><span style="font-family: Arial; font-size: 10pt;">http://www.tcspbj.com/other/Zxtg1.aspx</span></a><br /><div><span style="font-family: Arial; text-align: -webkit-auto; font-size: 10pt;">安防标准GB/T28181-2011的推广与反思：&nbsp;</span><a href="http://news.cecb2b.com/info/20130325/518666.shtml" style="font-family: Tahoma; text-align: -webkit-auto; font-size: medium;"><span style="font-family: Arial; font-size: 10pt;">http://news.cecb2b.com/info/20130325/518666.shtml</span></a></div></div></span></div><img src="file:///C:/Users/Lan070/AppData/Local/Temp/enhtmlclip/Image(2).png" style="cursor: default;" alt="" /><img src="http://www.cppblog.com/images/cppblog_com/tomyself/sip_interconnected.jpg" width="633" height="393" alt="" /></li><li style="list-style: none; display: inline;"><ul><li><span style="font-size: 10pt; font-family: Arial;">下载：&nbsp;</span><a href="http://www.bzko.com/std/192172.html"><span style="font-size: 10pt; font-family: Arial;">http://www.bzko.com/std/192172.html</span></a></li><li><span style="font-size: 10pt; font-family: Arial;">协议规范A：平台之间</span></li><li style="list-style: none; display: inline;"><ol><li><span style="font-size: 10pt; font-family: Arial;">注册和注销 &nbsp; &nbsp;&nbsp;=&gt; 同规范B&nbsp;&nbsp;=&gt; 下级平台向上级平台注册：Register&nbsp;类型编码，200，中心信令控制服务器编码。</span></li><li><span style="font-size: 10pt; font-family: Arial;">状态信息报送（保活）&nbsp;=&gt; 同规范B</span></li><li><span style="font-size: 10pt; font-family: Arial;">校时 &nbsp; &nbsp; &nbsp;=&gt; 同规范B</span></li><li><span style="font-size: 10pt; font-family: Arial;">实时视音频点播 &nbsp; &nbsp;=&gt; 同规范B</span></li><li><span style="font-size: 10pt; font-family: Arial;">设备视音频文件检索（录像文件查询） &nbsp;&nbsp;=&gt; 同规范B</span></li><li><span style="font-size: 10pt; font-family: Arial;">历史视音频的回放（录像回放） &nbsp;&nbsp;=&gt; 同规范B</span></li><li><span style="font-size: 10pt; font-family: Arial;">视音频文件的下载（录像下载） &nbsp;&nbsp;=&gt; 同规范B</span></li><li><span style="font-size: 10pt; font-family: Arial;">设备控制 &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;=&gt; 同规范B</span></li><li><span style="font-size: 10pt; font-family: Arial;">设备重启 &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;=&gt; 同规范B</span></li><li><span style="font-size: 10pt; font-family: Arial;">手工录像 &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;=&gt; 同规范B</span></li><li><span style="font-size: 10pt; font-family: Arial;">布撤防 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;=&gt; 同规范B</span></li><li><span style="font-size: 10pt; font-family: Arial;">设备信息查询 &nbsp;=&gt; 同规范B</span></li><li><span style="font-size: 10pt; font-family: Arial;">设备状态查询 &nbsp;=&gt; 同规范B</span></li><li><span style="font-size: 10pt; font-family: Arial;">报警 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;=&gt; 同规范B</span></li><li><span style="font-size: 10pt; font-family: Arial;">报警复位 &nbsp; &nbsp; &nbsp; &nbsp;=&gt; 同规范B</span></li><li><span style="font-size: 10pt; font-family: Arial;">语音对讲 &nbsp; &nbsp; &nbsp; &nbsp;=&gt; 同规范B</span></li><li><span style="font-size: 10pt; font-family: Arial;">事件订阅 &nbsp; &nbsp; &nbsp; &nbsp;SUBSCRIBE, &nbsp;Query -&gt;&nbsp;CmdType:&nbsp;Catalog (Alarm)</span></li><li><span style="font-size: 10pt; font-family: Arial;">事件通知 &nbsp; &nbsp; &nbsp; &nbsp;NOTIFY, &nbsp;Notify -&gt;&nbsp;CmdType: Catalog (Alarm)</span></li></ol></li><li><span style="font-size: 10pt; font-family: Arial;">协议规范B：平台与前端之间</span></li><li style="list-style: none; display: inline;"><ol><li><span style="font-size: 10pt; font-family: Arial;">注册和注销 &nbsp;REGISTER, &nbsp; Note: &nbsp;&nbsp; </span><div><span style="font-size: 10pt; font-family: Arial;">&nbsp;Authorization + Capability, algorithm(非对称算法RSA,摘要算法MD5/SHA-1/SHA-256,对称算法DES/3DES/SM1)</span><br /><span style="font-size: 10pt; font-family: Arial;"> &nbsp;WWW_Authenticate + Asymmetric, nonce + algorithm</span><br /><span style="font-size: 10pt; font-family: Arial;"> &nbsp;Expires: 0, SIP代理要注销</span></div><span style="font-size: 10pt; font-family: Arial;"> =&gt; 前端向平台注册：111, DVR; 112,视频服务器; 131,摄像机; 132,网络摄像机（IPC）&nbsp;</span></li><li><span style="font-size: 10pt; font-family: Arial;">状态信息报送（保活） &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MESSAGE, &nbsp; Notify -&gt; CmdType: Keepalive</span></li><li><span style="font-size: 10pt; font-family: Arial;">校时 &nbsp; &nbsp; &nbsp;联网内设备支持基于SIP方式或NTP方式(见RFC 2030)的网络校时功能，标准时间为北京时间。 &nbsp; </span><div><span style="font-size: 10pt; font-family: Arial;">SIP方式：&nbsp;在注册成功情况下，注册流程的最后一个SIP应答消息200 OK中的Date头域中携带时间信息。</span></div></li><li><span style="font-size: 10pt; font-family: Arial;">实时视音频点播（实时视频） &nbsp;a)&nbsp;INVITE&nbsp;+ Subject, &nbsp;&nbsp;s=Play &nbsp; &nbsp;&nbsp;c=IN IP4 172.20.16.3 &nbsp; &nbsp;m=video 6000 RTP/AVP 96 98 97 &nbsp;=&gt; &nbsp;视频流接收者的IP和Port</span><br /><div><span style="font-size: 10pt; font-family: Arial;">b) 200 OK (with SDP), &nbsp; &nbsp;s=Embedded Net DVR &nbsp; &nbsp;c=IN IP4 172.24.18.44 &nbsp;&nbsp;m=video 8412 RTP/AVP 96 98 &nbsp;a=sendonly &nbsp;&nbsp;</span><br /><span style="font-size: 10pt; font-family: Arial;"> &nbsp; &nbsp; a=username:64010000041110000044 &nbsp;a=password:12345678</span><br /><span style="font-size: 10pt; font-family: Arial;"> c) ACK</span><br /><span style="font-size: 10pt; font-family: Arial;"> d) 开始接收视频流</span></div></li><li><span style="font-size: 10pt; font-family: Arial;">设备视音频文件检索（录像文件查询） &nbsp; MESSAGE, &nbsp; Query -&gt; CmdType: RecordInfo</span></li><li><span style="font-size: 10pt; font-family: Arial;">历史视音频的回放（录像回放） &nbsp; INVITE, &nbsp;&nbsp;s=Playback &nbsp; &nbsp;c=IN IP4 192.168.14.7 &nbsp; m=video 6000 RTP/AVP 96 98 97 &nbsp;=&gt; 视频流接收者的IP和Port</span></li><li><span style="font-size: 10pt; font-family: Arial;">视音频文件的下载（录像下载） &nbsp;&nbsp;INVITE, &nbsp;&nbsp;s=Download &nbsp;c=IN IP4 172.20.16.3 &nbsp; &nbsp;&nbsp;m=video 6000 RTP/AVP 96 98 97 &nbsp;=&gt;&nbsp;视频流接收者的IP和Port</span></li><li><span style="font-size: 10pt; font-family: Arial;">设备控制 &nbsp; &nbsp; &nbsp; &nbsp; MESSAGE, &nbsp;Control -&gt; CmdType: DeviceControl, &nbsp;PTZCmd</span></li><li><span style="font-size: 10pt; font-family: Arial;">设备重启 &nbsp; &nbsp; &nbsp; &nbsp; MESSAGE, &nbsp;Control -&gt; CmdType: DeviceControl,&nbsp;TeleBoot:&nbsp;Boot</span></li><li><span style="font-size: 10pt; font-family: Arial;">手工录像 &nbsp; &nbsp; &nbsp; &nbsp; MESSAGE, &nbsp;Control -&gt; CmdType: DeviceControl, &nbsp;RecordCmd: Record &nbsp;(StopRecord, 停止手动录像)</span></li><li><span style="font-size: 10pt; font-family: Arial;">布撤防 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MESSAGE, &nbsp;Control -&gt; CmdType: DeviceControl, &nbsp;GuardCmd: SetGuard (ResetGuard)</span></li><li><span style="font-size: 10pt; font-family: Arial;">设备信息查询 &nbsp;MESSAGE, &nbsp;Query -&gt;&nbsp;CmdType:&nbsp;DeviceInfo</span></li><li><span style="font-size: 10pt; font-family: Arial;">设备状态查询 &nbsp;MESSAGE, &nbsp;Query -&gt;&nbsp;CmdType:DeviceStatus</span></li><li><span style="font-size: 10pt; font-family: Arial;">报警 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MESSAGE, &nbsp;Notify -&gt;&nbsp;CmdType:&nbsp;Alarm (ResetAlarm), &nbsp;AlarmMethod</span></li><li><span style="font-size: 10pt; font-family: Arial;">报警复位 &nbsp; &nbsp; &nbsp; &nbsp;MESSAGE, &nbsp;Control -&gt; CmdType:&nbsp;ResetAlarm,&nbsp;AlarmMethod</span></li><li><span style="font-size: 10pt; font-family: Arial;">语音对讲 &nbsp; &nbsp; &nbsp; &nbsp;INVITE, &nbsp; s=Play &nbsp; &nbsp;c=IN IP4 192.168.14.7 &nbsp; &nbsp;&nbsp;t=0 0 &nbsp; &nbsp;=&gt; &nbsp;视频流接收者的IP</span><br /><span style="font-size: 10pt; font-family: Arial;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;m=audio 20518 RTP/AVP 8 &nbsp; &nbsp;a=recvonly &nbsp; &nbsp;a=rtpmap:8 G711/8000/1/8</span><br /><span style="font-size: 10pt; font-family: Arial;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;m=audio 24882 RTP/AVP 8 &nbsp; &nbsp;a=sendonly &nbsp;&nbsp;a=rtpmap:8 G711/8000/1/8</span><br /><span style="font-size: 10pt; font-family: Arial;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;INVITE 200 OK, &nbsp;&nbsp;s=BroadCast &nbsp;(BroadCast,&nbsp;广播; Dialog, 对讲) &nbsp;c=IN IP4 10.1.1.9 &nbsp;&nbsp;t=0 0</span><br /><span style="font-size: 10pt; font-family: Arial;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;m=audio 20518 RTP/AVP 8 &nbsp; &nbsp;a=recvonly &nbsp; &nbsp;a=rtpmap:8 G711/8000/1/8</span><br /><span style="font-size: 10pt; font-family: Arial;"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;m=audio 24882 RTP/AVP 8 &nbsp; &nbsp;a=sendonly &nbsp;&nbsp;a=rtpmap:8 G711/8000/1/8</span></li></ol></li><li><span style="font-size: 10pt; font-family: Arial;">统一编码：</span></li><li style="list-style: none; display: inline"><ul><li><span style="font-size: 10pt; font-family: Arial;">20位：64010000 00 200 0 000001</span></li><li style="list-style: none; display: inline"><ul><li><span style="font-size: 10pt; font-family: Arial;">640100，银川市。 00，基层接入单位编号。</span><br /><span style="font-size: 10pt; font-family: Arial;"> 00，行业编码，社会治安路面接入。</span><br /><span style="font-size: 10pt; font-family: Arial;"> 200，类型编码，中心信令控制服务器编码。</span><br /><span style="font-size: 10pt; font-family: Arial;"> 0，网络标识，为监控报警专网。</span><br /><span style="font-size: 10pt; font-family: Arial;"> 000001，6位，设备、用户序号。&nbsp;</span></li></ul></li></ul></li><li><span style="font-size: 10pt; font-family: Arial;">基于RTP的视音频数据封装</span></li><li style="list-style: none; display: inline"><ul><li><span style="font-size: 10pt; font-family: Arial;">基于RTP的视音频数据PS封装：基于RTP的PS封装首先按照ISO/IEC 13818-1:2000将视音频流封装成PS包，再将PS包以负载</span><br /><span style="font-size: 10pt; font-family: Arial;"> 的方式封装成RTP 包。</span></li><li><span style="font-size: 10pt; font-family: Arial;">基于RTP的视音频基本流封装：该方式直接将视音频数据以负载的方式封装成RTP包。</span></li></ul></li></ul></li></ul></div><br /><span style="font-family: Arial; font-size: 10pt;">说明：</span><br /><span style="font-family: Arial; font-size: 10pt;">1. 该文档规范同时定义了平台内的一些元素，而没有将平台看做一个黑盒整体，有点多余。 但如果有公司想现在实现一个监控平台，可以参考这些元素来实现。</span><img src ="http://www.cppblog.com/toMyself/aggbug/202717.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/toMyself/" target="_blank">kongkongzi</a> 2013-08-23 17:31 <a href="http://www.cppblog.com/toMyself/archive/2013/08/23/202717.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《电网视频监控系统及接口  第一部分：技术要求》</title><link>http://www.cppblog.com/toMyself/archive/2013/08/01/202280.html</link><dc:creator>kongkongzi</dc:creator><author>kongkongzi</author><pubDate>Thu, 01 Aug 2013 08:17:00 GMT</pubDate><guid>http://www.cppblog.com/toMyself/archive/2013/08/01/202280.html</guid><wfw:comment>http://www.cppblog.com/toMyself/comments/202280.html</wfw:comment><comments>http://www.cppblog.com/toMyself/archive/2013/08/01/202280.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/toMyself/comments/commentRss/202280.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/toMyself/services/trackbacks/202280.html</trackback:ping><description><![CDATA[<br /><br /><br />&nbsp; &nbsp; &nbsp; <img src="http://www.cppblog.com/images/cppblog_com/tomyself/electric_power_vms.jpg" width="416" height="309" alt="" /><br /><div><ul style="font-family: Tahoma; line-height: normal; orphans: 2; text-align: -webkit-auto; widows: 2; font-size: medium;"><li><span style="font-size: 10pt;">接口A协议规范：平台之间</span></li><li style="list-style: none; display: inline;"><ul><li><span style="font-size: 10pt;">定义：</span><br /><span style="font-size: 10pt;"> A.1.1 系统上下线通知 &nbsp;POST /Request_Update_Status &nbsp;&nbsp;&lt;HTTP_XML EventType=&#8221;Request_Update_Status&#8221;&gt;</span><br /><span style="font-size: 10pt;"> A.1.2 系统连接保活 &nbsp; &nbsp;POST /KeepAlive &nbsp; &nbsp;&lt;HTTP_XML EventType=&#8221;KeepAlive&#8221;&gt;</span><br /><span style="font-size: 10pt;"> A.2 系统资源获取 &nbsp; &nbsp; &nbsp;&nbsp;POST /Request_Resource &nbsp; &nbsp;&lt;HTTP_XML EventType=&#8221;Request_Resource&#8221;&gt;</span><br /><span style="font-size: 10pt;"> A.3 历史告警查询 &nbsp; &nbsp; &nbsp;&nbsp;POST /Request_History_Alarm &nbsp;&lt;HTTP_XML EventType=&#8221;Request_History_Alarm&#8221;&gt;</span><br /><span style="font-size: 10pt;"> A.4 录像检索 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; POST /Request_History_Video &nbsp;&nbsp;&lt;HTTP_XML EventType=&#8221;Response_History_Video&#8221;&gt;</span><br /><span style="font-size: 10pt;"> A.5 调阅实时视频 &nbsp; &nbsp; &nbsp;INVITE &nbsp; Content-type: application/SDP &nbsp; s=- &nbsp; m=video 13578 RTP/AVP 110 &nbsp; &nbsp;a=rtpmap:110 HIK264/90000</span><br /><span style="font-size: 10pt;"> A.6 语音对讲和广播 &nbsp;&nbsp;INVITE &nbsp; Content-type: application/SDP &nbsp; s=- &nbsp; m=audio 38564 RTP/AVP 8 &nbsp; &nbsp; &nbsp; a=rtpmap:8 PCMA/8000</span><br /><span style="font-size: 10pt;"> A.7 客户端/用户间音视频会话 &nbsp;INVITE &nbsp;Content-type: application/SDP &nbsp;&nbsp;s=Sip Call &nbsp; &nbsp; m=audio 38564 RTP/AVP 8 &nbsp;&nbsp;a=rtpmap:100 H.264/90000</span><br /><span style="font-size: 10pt;"> A.8 云镜控制 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;MESSAGE &nbsp;&nbsp;&lt;SIP_XML EventType=&#8221;Control_Camera&#8221;&gt;</span><br /><span style="font-size: 10pt;"> A.9.1 告警事件订阅 &nbsp; &nbsp;SUBSCRIBE &nbsp;&nbsp;&lt;SIP_XML EventType=&#8221;Subscribe_Alarm&#8221;&gt;</span><br /><span style="font-size: 10pt;"> A.9.2 状态事件订阅 &nbsp; &nbsp;SUBSCRIBE &nbsp;&nbsp;&lt;SIP_XML EventType=&#8221;Subscribe_Status&#8221;&gt;</span><br /><span style="font-size: 10pt;"> A.9.3 事件通知 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;NOTIFY &nbsp;&nbsp;Call-ID: 40107 &nbsp; &nbsp;Content-Length: 0</span><br /><span style="font-size: 10pt;"> A.10 流量查询 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MESSAGE &nbsp;&nbsp;&lt;SIP_XML EventType=&#8221;Request_Flow&#8221;&gt;</span><br /><span style="font-size: 10pt;"> A.11 录像回放 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;RTSP: &nbsp;OPTIONS,&nbsp;DESCRIBE, SETUP, TEARDOWN, PLAY, GET_PARAMETER, OPTIONS, PAUSE, ANNOUNCE</span></li></ul></li><li><span style="font-size: 10pt;">接口B协议规范：平台与前端之间</span></li><li style="list-style: none; display: inline;"><ul><li><span style="font-size: 10pt;">SIP：信令控制协议&nbsp;</span><a href="http://baike.baidu.cn/view/51013.htm"><span style="font-size: 10pt;">http://baike.baidu.cn/view/51013.htm</span></a></li><li><span style="font-size: 10pt;">SDP：会话描述协议，用来定义SIP消息体的内容。</span></li></ul></li><li style="list-style: none; display: inline;"><ul><li><span style="font-size: 10pt;">SIP MESSAGE 通过消息体中的某个字段的值来区分&nbsp;&lt;=&gt; HTTP POST 通过消息头中的URI的值来区分，例如：</span><br /><span style="font-size: 10pt;"> B.1 注册 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;REGISTER</span><br /><span style="font-size: 10pt;"> B.2 资源上报 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NOTIFY &nbsp; &nbsp; &nbsp;&lt;SIP_XML EventType=Push_Resourse&gt; </span><div><span style="font-size: 10pt;">B.3 资源信息获取 &nbsp; &nbsp; &nbsp;MESSAGE &nbsp;&lt;SIP_XML EventType=Request_Resource&gt;</span><br /><span style="font-size: 10pt;"> B.4&nbsp;历史告警查询 &nbsp; &nbsp; &nbsp;MESSAGE &nbsp;&lt;SIP_XML EventType="Request_History_Alarm"&gt;</span></div><div><span style="font-size: 10pt;">B.5 录像检索 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MESSAGE &nbsp;&lt;SIP_XML EventType="Request_History_Video"&gt;</span><br /><span style="font-size: 10pt;"> B.6 调阅实时视频 &nbsp; &nbsp;&nbsp;INVITE &nbsp; &nbsp; &nbsp; m=video 13578 RTP/AVP 100 &nbsp;&nbsp;a=rtpmap:100 HIK-H.264/90000</span><br /><span style="font-size: 10pt;"> B.7 语音对讲和广播 &nbsp;INVITE &nbsp; &nbsp; &nbsp; m=audio 38564 RTP/AVP 8 &nbsp; &nbsp; &nbsp;a=rtpmap:8 PCMA/8000</span></div><span style="font-size: 10pt;"> B.8 云镜控制 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MESSAGE &nbsp;&lt;SIP_XML EventType="Control_Camera"&gt;</span><br /><span style="font-size: 10pt;"> B.9.1 告警事件订阅 &nbsp; SUBSCRIBE&nbsp;&lt;SIP_XML EventType="Subscribe_Status"&gt;</span><br /><span style="font-size: 10pt;"> B.9.2 状态事件订阅 &nbsp;&nbsp;SUBSCRIBE&nbsp;&lt;SIP_XML EventType="Subscribe_Status"&gt;</span><br /><span style="font-size: 10pt;"> B.9.3 告警事件通知 &nbsp; NOTIFY &nbsp; &nbsp; &nbsp;&nbsp;&lt;SIP_XML EventType="Notify_Alarm"&gt;</span><br /><span style="font-size: 10pt;"> B.9.4 状态事件通知 &nbsp;&nbsp;NOTIFY &nbsp; &nbsp; &nbsp;&nbsp;&lt;SIP_XML EventType="Notify_Status"&gt;</span><br /><span style="font-size: 10pt;"> B.10 录像回放 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;RTSP: &nbsp;OPTIONS,&nbsp;DESCRIBE, SETUP, TEARDOWN, PLAY, GET_PARAMETER, OPTIONS, PAUSE, ANNOUNCE</span></li></ul></li></ul></div><br /><br /><img src ="http://www.cppblog.com/toMyself/aggbug/202280.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/toMyself/" target="_blank">kongkongzi</a> 2013-08-01 16:17 <a href="http://www.cppblog.com/toMyself/archive/2013/08/01/202280.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>常用工具命令</title><link>http://www.cppblog.com/toMyself/archive/2011/11/08/159823.html</link><dc:creator>kongkongzi</dc:creator><author>kongkongzi</author><pubDate>Tue, 08 Nov 2011 07:23:00 GMT</pubDate><guid>http://www.cppblog.com/toMyself/archive/2011/11/08/159823.html</guid><wfw:comment>http://www.cppblog.com/toMyself/comments/159823.html</wfw:comment><comments>http://www.cppblog.com/toMyself/archive/2011/11/08/159823.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/toMyself/comments/commentRss/159823.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/toMyself/services/trackbacks/159823.html</trackback:ping><description><![CDATA[抓包<br />tcpdump -i eth1 -w platgate.pcap tcp port 6001 and dst 192.168.5.232<br />Wireshark<br />smsniff<br />Ethereal<br /><br /><img src ="http://www.cppblog.com/toMyself/aggbug/159823.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/toMyself/" target="_blank">kongkongzi</a> 2011-11-08 15:23 <a href="http://www.cppblog.com/toMyself/archive/2011/11/08/159823.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>养成学用计算机英语的良好习惯</title><link>http://www.cppblog.com/toMyself/archive/2010/05/20/115934.html</link><dc:creator>kongkongzi</dc:creator><author>kongkongzi</author><pubDate>Thu, 20 May 2010 09:29:00 GMT</pubDate><guid>http://www.cppblog.com/toMyself/archive/2010/05/20/115934.html</guid><description><![CDATA[<pre>  如果你有一定的英语基础，并希望突破计算机英语的障碍并成为高手，从现在起就养成一个学用计算机英语的良好习惯吧。 <br><br>1、 给自己起一个英文名字。并用作网名和登录名。 <br>2、 选一本适合自己的计算机英语教材。 <br>3、 保证一年至少读1-2本原版影印的计算机书，并坚持读完。 <br>4、 上网尽量多访问英文的技术论坛和网站，不使用汉化的帮助。 <br>5、 在程序中使用英文注释，坚决不用中文或汉语拼音作变量名、字段名、文件和文件夹名。 <br>6、 每月至少看1-2部原版电影(VCD/DVD)，尽量不看字幕，提高语感和听力。 <br>7、 不看中英文对照读物，但可以看注释读物；多使用英英字典，少使用英汉字典。 <br>8、 每天坚持记录和复习遇到的生词，对于缩略语，一定搞清每个字母的英文含义。 </pre>
<br><img src ="http://www.cppblog.com/toMyself/aggbug/115934.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/toMyself/" target="_blank">kongkongzi</a> 2010-05-20 17:29 <a href="http://www.cppblog.com/toMyself/archive/2010/05/20/115934.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux命令小记</title><link>http://www.cppblog.com/toMyself/archive/2010/05/06/114670.html</link><dc:creator>kongkongzi</dc:creator><author>kongkongzi</author><pubDate>Thu, 06 May 2010 08:46:00 GMT</pubDate><guid>http://www.cppblog.com/toMyself/archive/2010/05/06/114670.html</guid><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; width: 98%; font-size: 13px;"><span style="color: #000000;">lsof&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">i</span><span style="color: #000000;">:&lt;</span><span style="color: #000000;">port</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br>ps&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">Lf&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">pid</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;可以查看进程的线程数</span></div>
<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; width: 98%; font-size: 13px;"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align="top"><span style="color: #000000;">查看自己的外网ip（公网ip）<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align="top">方法一：&nbsp;wget&nbsp;http://whatismyip.org<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align="top">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cat&nbsp;index.html&nbsp;<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align="top">方法二：&nbsp;curl&nbsp;http://whatismyip.org</span></div>
<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; width: 98%; font-size: 13px;"><span style="color: #000000;">netstat&nbsp;-anp|grep&nbsp;7898&nbsp;|sort&nbsp;-rnk2&nbsp;|head&nbsp;-n&nbsp;5&nbsp;<br>Netstat&nbsp;&#8211;ano|findstr&nbsp;&#8220;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">端口号</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&#8221;,<br>tasklist|findstr&nbsp;&#8220;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">PID</span><span style="color: #ff0000;">号</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">&#8221;</span></div>
<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; width: 98%; font-size: 13px;"><span style="color: #000000;">同时修改日期时间,注意要加双引号,日期与时间之间有一空格,输入:date&nbsp;-s&nbsp;"2010-07-20&nbsp;16:30:00"<br>修改完后,记得输入:clock&nbsp;-w&nbsp;<br>把系统时间写入CMOS&nbsp;</span></div>
<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; width: 98%; font-size: 13px;"><span style="color: #000000;">减少shell窗口开启的个数：</span><span style="color: #000000;"><br>&amp; 将指令丢到后台中去执行<br>[ctrl]+z 將前台任务丟到后台中暂停<br>jobs 查看后台的工作状态<br>fg %jobnumber 将后台的任务拿到前台来处理<br>bg %jobnumber 将任务放到后台中去处理<br>kill 管理后台的任务.</span></div>
<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; width: 98%; font-size: 13px;"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align="top"><span style="color: #000000;">硬链接(Hard&nbsp;</span><span style="color: #0000ff;">Link</span><span style="color: #000000;">)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align="top">硬链接说白了是一个指针，指向文件索引节点，系统并不为它重新分配inode。<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align="top">可以用：ln命令来建立硬链接。<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align="top">引用<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align="top">ln&nbsp;[options]&nbsp;existingfile&nbsp;newfile<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align="top">ln&nbsp;[options]&nbsp;existingfile</span><span style="color: #000000;">-</span><span style="color: #000000;">list&nbsp;directory<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align="top"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align="top">用法：<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align="top">第一种为&#8221;existingfile&#8221;创建硬链接，文件名为&#8221;newfile&#8221;。<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align="top">第二种在&#8221;directory&#8221;目录中，为&#8221;&nbsp;existingfile</span><span style="color: #000000;">-</span><span style="color: #000000;">list&#8221;中包含的所有文件创建一个同名的硬链接。<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align="top">常用可选[options]：</span><span style="color: #000000;">-</span><span style="color: #000000;">f&nbsp;无论&#8221;newfile&#8221;存在与否，都创建链接。</span><span style="color: #000000;">-</span><span style="color: #000000;">n&nbsp;如果&#8221;newfile&#8221;已存在，就不创建链接。<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align="top"><br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align="top">软链接(Soft&nbsp;</span><span style="color: #0000ff;">Link</span><span style="color: #000000;">)<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align="top">软链接又叫符号链接，这个文件包含了另一个文件的路径名。可以是任意文件或目录，可以链接不同文件系统的文件。和win下的快捷方式差不多。<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align="top">可以用：ln&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">s&nbsp;命令来建立软链接。<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align="top">引用<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align="top">ln&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">s&nbsp;existingfile&nbsp;newfile<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align="top">ln&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">s&nbsp;existingfile</span><span style="color: #000000;">-</span><span style="color: #000000;">list&nbsp;directory<br><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align="top"></span></div>
<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; width: 98%; font-family: 新宋体; font-size: 13px;"><span style="color: #000000;">ls&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">l&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;out</span><span style="color: #000000;">.</span><span style="color: #000000;">file&nbsp;</span><span style="color: #800000;">2</span><span style="color: #000000;">&gt;&amp;</span><span style="color: #800000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;"><br>解释</span><span style="color: #000000;">:</span><span style="color: #000000;"><br>ls&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">l&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;out</span><span style="color: #000000;">.</span><span style="color: #000000;">file&nbsp;</span><span style="color: #000000;">//</span><span style="color: #000000;">将ls的输出重定向到文件out</span><span style="color: #000000;">.</span><span style="color: #000000;">file<br></span><span style="color: #800000;">2</span><span style="color: #000000;">&gt;&amp;</span><span style="color: #800000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">//</span><span style="color: #000000;">在shell中</span><span style="color: #000000;">,</span><span style="color: #000000;">文件描述符通常是</span><span style="color: #000000;">:</span><span style="color: #000000;">STDIN</span><span style="color: #000000;">,</span><span style="color: #000000;">STDOUT</span><span style="color: #000000;">,</span><span style="color: #000000;">STDERR</span><span style="color: #000000;">,</span><span style="color: #000000;">即</span><span style="color: #000000;">:</span><span style="color: #800000;">0</span><span style="color: #000000;">,</span><span style="color: #800000;">1</span><span style="color: #000000;">,</span><span style="color: #800000;">2</span><span style="color: #000000;">,</span><span style="color: #000000;">由此可以看出</span><span style="color: #000000;">,</span><span style="color: #000000;">它将ls&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">l&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;out</span><span style="color: #000000;">.</span><span style="color: #000000;">file在输出过程中产生的错误信息也放在了STDOUT</span><span style="color: #000000;">,</span><span style="color: #000000;">即</span><span style="color: #000000;">:</span><span style="color: #000000;">1中</span><span style="color: #000000;">.</span><span style="color: #000000;"><br>最后的</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">,</span><span style="color: #000000;">不用说</span><span style="color: #000000;">,</span><span style="color: #000000;">是放在后台运行</span><span style="color: #000000;">.</span></div>
<br>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; width: 98%; font-size: 13px;"><span style="color: #000000;">nohup&nbsp;ssh&nbsp;root@</span><span style="color: #800000;">192.168</span><span style="color: #000000;">.</span><span style="color: #800000;">0.175</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000; font-weight: bold;">'</span><span style="color: #000000; font-weight: bold;">cmd</span><span style="color: #000000; font-weight: bold;">'</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">/</span><span style="color: #000000;">dev</span><span style="color: #000000;">/</span><span style="color: #000000;">null&nbsp;</span><span style="color: #800000;">2</span><span style="color: #000000;">&gt;&amp;</span><span style="color: #800000;">1</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">&amp;</span></div>
<br><img src ="http://www.cppblog.com/toMyself/aggbug/114670.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/toMyself/" target="_blank">kongkongzi</a> 2010-05-06 16:46 <a href="http://www.cppblog.com/toMyself/archive/2010/05/06/114670.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Linux下删除文件行末尾的^M符号方法</title><link>http://www.cppblog.com/toMyself/archive/2009/09/15/96241.html</link><dc:creator>kongkongzi</dc:creator><author>kongkongzi</author><pubDate>Tue, 15 Sep 2009 09:19:00 GMT</pubDate><guid>http://www.cppblog.com/toMyself/archive/2009/09/15/96241.html</guid><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">在Linux下删除文件行末尾的</span><span style="color: #000000;">^</span><span style="color: #000000;">M符号方法:<br>在Vim中解决这个问题，很简单，在Vim中利用替换功能就可以将&#8220;</span><span style="color: #000000;">^</span><span style="color: #000000;">M&#8221;都干掉，键入如下替换命令行：<br>:</span><span style="color: #000000;">%</span><span style="color: #000000;">s</span><span style="color: #000000;">/^</span><span style="color: #000000;">M</span><span style="color: #008000;">//</span><span style="color: #008000;">g</span><span style="color: #008000;"><br></span><span style="color: #000000;">注意：上述命令行中的&#8220;</span><span style="color: #000000;">^</span><span style="color: #000000;">M&#8221;符，不是&#8220;</span><span style="color: #000000;">^</span><span style="color: #000000;">&#8221;再加上&#8220;M&#8221;，而是由&#8220;Ctrl</span><span style="color: #000000;">+</span><span style="color: #000000;">v&#8221;、&#8220;Ctrl</span><span style="color: #000000;">+</span><span style="color: #000000;">M&#8221;键生成的</span></div>
<br><img src ="http://www.cppblog.com/toMyself/aggbug/96241.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/toMyself/" target="_blank">kongkongzi</a> 2009-09-15 17:19 <a href="http://www.cppblog.com/toMyself/archive/2009/09/15/96241.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>scp，复制远程机器上的文件到本地</title><link>http://www.cppblog.com/toMyself/archive/2009/09/15/96237.html</link><dc:creator>kongkongzi</dc:creator><author>kongkongzi</author><pubDate>Tue, 15 Sep 2009 09:11:00 GMT</pubDate><guid>http://www.cppblog.com/toMyself/archive/2009/09/15/96237.html</guid><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: #000000;">scp&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">P&nbsp;port&nbsp;ip:</span><span style="color: #000000;">/</span><span style="color: #000000;">data</span><span style="color: #000000;">/</span><span style="color: #000000;">filename&nbsp;&nbsp;.&nbsp;</span></div>
<br> <img src ="http://www.cppblog.com/toMyself/aggbug/96237.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/toMyself/" target="_blank">kongkongzi</a> 2009-09-15 17:11 <a href="http://www.cppblog.com/toMyself/archive/2009/09/15/96237.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>