| 74 | | |
| 75 | | ruby nodeHandler.rb -s false test:exp:streaming-panasonic |
| 76 | | |
| 77 | | |
| 78 | | |
| 79 | | change test:exp portion if the script is being invoked from some other folder |
| 80 | | |
| 81 | | structure. After all nodes check in, it will take at most 10 seconds for the |
| 82 | | |
| 83 | | streaming to start on the node pairs, except first time. The first time run will |
| 84 | | |
| 85 | | involve an apt-get install command to install video clip debian package file. |
| 86 | | |
| 87 | | So, this adds at most 2 minutes. Subsequent runs should not have this additional |
| 88 | | |
| 89 | | delay. This delay is not a blocking delay for nodeHandler. So, experimenter |
| 90 | | |
| 91 | | needs to wait this amount of time after the nodeHandler start script is invoked. |
| 92 | | |
| 93 | | |
| 94 | | |
| 95 | | Step 3) |
| 96 | | |
| 97 | | |
| 98 | | |
| 99 | | Use display machine to run three instances of VLC player, and enter URL info of |
| 100 | | |
| 101 | | the stream into 'File->Open Network Stream->HTTP' text field. URL format is |
| 102 | | |
| 103 | | http://CTRL_IP_of_Node:80XY, where X and Y are coordinates of the node. In |
| 104 | | |
| 105 | | current setup, the URLs translate into: |
| 106 | | |
| 107 | | http://10.19.1.8:8018 |
| 108 | | |
| 109 | | http://10.19.2.5:8025 |
| 110 | | |
| 111 | | http://10.19.3.8:8038 |
| 112 | | |
| 113 | | Invoking these URLs should bring up three video streaming windows on display |
| 114 | | |
| 115 | | machine. With the current setup, there should be perceivable distortion on the |
| 116 | | |
| 117 | | streams, especially on the bigger one. |
| 118 | | |
| 119 | | |
| 120 | | |
| 121 | | Step 4) |
| 122 | | |
| 123 | | |
| 124 | | |
| 125 | | Log-into node3-2 with 'ssh root@node3-2' command. Execute 'pkill vlc' on the |
| 126 | | |
| 127 | | node to stop streaming of the video. After a few seconds, video should freeze on |
| 128 | | |
| 129 | | the corresponding VLC window on display machine. Stream can be restarted, if |
| 130 | | |
| 131 | | necessary, by executing 'sh execfile' on the node. |
| 132 | | |
| 133 | | |
| 134 | | |
| 135 | | Step 5) |
| 136 | | |
| 137 | | |
| 138 | | |
| 139 | | After stopping the stream on one pair, invoke monitor program on node3-8 (or |
| 140 | | |
| 141 | | node3-2), by executing 'lin/monitor2 ath1raw 3000 500'. Here, 3000 means that |
| 142 | | |
| 143 | | the link is supposed to support 3Mbps bandwidth, and 500 means that the |
| 144 | | |
| 145 | | application packet rate is 500 packets/sec. This command should run a process |
| 146 | | |
| 147 | | that updates /proc/pkt_rate periodically. After a few updates, re-invoke the |
| 148 | | |
| 149 | | streaming by executing 'sh execfile'. Streaming process should start, but |
| 150 | | |
| 151 | | pressing play button on the VLC software on display machine should not display |
| 152 | | |
| 153 | | the stream, since it is not accepted for routing on the wireless network. |
| 154 | | |
| 155 | | |
| 156 | | |
| 157 | | Step 6) |
| 158 | | |
| 159 | | |
| 160 | | |
| 161 | | Stop the monitor program, and manually enter 'echo 40X6000'>/proc/pkt_rate to |
| 162 | | |
| 163 | | tell the admission control algorithm that there is enough bandwidth for the |
| 164 | | |
| 165 | | video. Re-invoking the stream and trying to see it on display (as explained in |
| 166 | | |
| 167 | | Step5) should succeed this time. |
| 168 | | |
| 169 | | |
| 170 | | |
| 171 | | |
| 172 | | |
| 173 | | Troubleshooting |
| 174 | | |
| 175 | | |
| 176 | | |
| 177 | | If video is not visible on the display machine, check the following things to |
| 178 | | |
| 179 | | see what might have gone wrong by logging into a source and destination pair. |
| 180 | | |
| 181 | | |
| 182 | | |
| 183 | | - At the source and destination, do a 'ps aux'. There should be a group of vlc |
| 184 | | |
| 185 | | processes running (at least three or four). Run 'cat execfile' to check IP |
| 186 | | |
| 187 | | addresses for streaming client and server are produced correctly. If not, re-run |
| 188 | | |
| 189 | | the nodeHandler script to see if problem persists. |
| 190 | | |
| 191 | | |
| 192 | | |
| 193 | | - Make sure that video clip package is installed correctly by looking into |
| 194 | | |
| 195 | | /usr/streams directory. There should be MPEG files in that folder. If not, |
| 196 | | |
| 197 | | upload teststream_1.1-2_all.deb to source nodes and install it with |
| 198 | | |
| 199 | | 'dpkg -i teststream_1.1-2_all.deb' command. |
| 200 | | |
| 201 | | |
| 202 | | |
| 203 | | - Make sure that you can ping the destination node's lunar IP address |
| 204 | | |
| 205 | | (192.168.42.X) from the source node. If not, try restarting node, since lunar |
| 206 | | |
| 207 | | modules can not be reloaded in a healthy manner. |
| 208 | | |
| 209 | | |
| 210 | | |
| 211 | | - Make sure that display machine VLC client can connect to the stream |
| 212 | | |
| 213 | | destination node. Kill the destination vlc instance (at stream destination node) |
| 214 | | |
| 215 | | with 'pkill vlc' and invoke it the same way specified in execfile, without -d |
| 216 | | |
| 217 | | option. This will enable foreground mode and process should inform whenever |
| 218 | | |
| 219 | | display VLC client is connected to the destination node. |
| | 90 | If video is not visible on the display machine, check the following things to see what might have gone wrong by logging into a source and destination pair. |
| | 91 | * At the source and destination, do a {{{ps aux}}}. There should be a group of vlc processes running (at least three or four). Run {{{cat execfile}}} to check IP addresses for streaming client and server are produced correctly. If not, re-run the nodeHandler script to see if problem persists. |
| | 92 | * Make sure that video clip package is installed correctly by looking into /usr/streams directory. There should be MPEG files in that folder. If not, upload teststream_1.1-2_all.deb to source nodes and install it with {{{dpkg -i teststream_1.1-2_all.deb}}} command. |
| | 93 | * Make sure that you can ping the destination node's lunar IP address (192.168.42.X) from the source node. If not, try restarting node, since lunar modules can not be reloaded in a healthy manner. |
| | 94 | * Make sure that display machine VLC client can connect to the stream destination node. Kill the destination vlc instance (at stream destination node) with {{{pkill vlc}}} and invoke it the same way specified in execfile, without -d option. This will enable foreground mode and process should inform whenever display VLC client is connected to the destination node. |