达夫设备(Duff's Device)的详细说明
前几天在网上看见了一段代码,叫做“Duff's Device”,后经验证它曾出现在Bjarne的TC++ PL里面:
代码的结构显得非常巧妙,把一个switch语句和一个do-
怎么办?先看看它的汇编代码吧,
StartMulticast 命令所做的事情,就是根據某個已經設定好的 profile,啟動 multicast streaming,可能同時包含 video 與 audio。原文摘錄如下:
This command starts multicast streaming using a specified media profile of an NVT. Streaming continues until StopMulticastStreaming is called for the same Profile. The streaming shall continue after a reboot of the NVT until a StopMulticastStreaming request is received. The multicast address, port and TTL are configured in the VideoEncoderConfiguration, AudioEncoderConfiguration and MetadataConfiguration respectively. An NVT that supports video, audio or metadata multicast streaming shall support the starting of a multicast stream through the StartMulticastStreaming command.
av_read_frame(pFormatCtx, &packet);
avcodec_decode_video2(videoCodecCtx, DecodedFrame, &frameFinished, & packet);
a. UpgradeSystemFirmware
其作法是使用 HTTP Post 送出一個 UpgradeSystemFirmware Request,直接將 Firmware 以 MTOM 的編碼方式放在此 http 封包中,傳送給 IPCAM,進行韌體更新。MTOM簡介可參考這裡。
作法是在 SDP 內加以描述,範例如下:
m=video 49170/2 RTP/AVP 98
a=rtpmap:98 jpeg2000/90000
a=fmtp:98 sampling=YCbCr-4:2:0;width=128;height=128
在進行 NVR 互測時,發現彼此雙方對於 SOAP-ENV 的 namespace 認知不同。
NVR針對 SOAP-ENV 只能看懂 "http://schemas.xmlsoap.org/soap/envelope/" (以下簡稱 A),卻不允許 "http://www.w3.org/2003/05/soap-envelope" (以下簡稱 B)