Werner's Miscellanea
Sign in or create your account | Project List | Help
Werner's Miscellanea Git Source Tree
Root/
| 1 | #!/bin/sh |
| 2 | # |
| 3 | # Edit the wpan-ipv4 demo clip |
| 4 | # |
| 5 | # Written 2011 by Werner Almesberger |
| 6 | # Copyright 2011 Werner Almesberger |
| 7 | # |
| 8 | # This program is free software; you can redistribute it and/or modify |
| 9 | # it under the terms of the GNU General Public License as published by |
| 10 | # the Free Software Foundation; either version 2 of the License, or |
| 11 | # (at your option) any later version. |
| 12 | # |
| 13 | |
| 14 | |
| 15 | F=MVI_1374.MOV |
| 16 | |
| 17 | debug=false |
| 18 | |
| 19 | seg=1 |
| 20 | pos=0 |
| 21 | |
| 22 | seg() |
| 23 | { |
| 24 | echo '' -video-track -blank $pos $F in=$1 out=$2 \\ |
| 25 | $debug && echo -attach watermark:+#$seg.txt \\ |
| 26 | start=$pos |
| 27 | pos=`expr $pos + $2 - $1` |
| 28 | end=$pos |
| 29 | seg=`expr $seg + 1` |
| 30 | } |
| 31 | |
| 32 | |
| 33 | say() |
| 34 | { |
| 35 | echo '' -track -blank $1 pango text="\"$3\"" in=$1 out=$2 \\ |
| 36 | echo '' align=1 fgcolour=0xffffffff bgcolour=0x00000040 weight=400 \\ |
| 37 | echo '' -transition composite out=$end geometry=0%,50%:100%x10% \\ |
| 38 | echo '' halign=c a_track=0 \\ |
| 39 | } |
| 40 | |
| 41 | |
| 42 | overlay() |
| 43 | { |
| 44 | echo '' -track -blank $1 pango text="\"$3\"" in=$1 out=$2 \\ |
| 45 | echo '' align=1 fgcolour=0x00000030 weight=600 \\ |
| 46 | echo '' -transition composite out=$end geometry=-1%,94%:100%x6% \\ |
| 47 | echo '' halign=r \\ |
| 48 | [ "$4" ] && echo a_track=$4 \\ |
| 49 | } |
| 50 | |
| 51 | |
| 52 | endtitle() |
| 53 | { |
| 54 | echo '' -track -blank $1 pango text="\"$3\"" in=$1 out=$2 \\ |
| 55 | echo '' align=1 fgcolour=0x000000ff weight=600 \\ |
| 56 | echo '' -transition composite out=$end geometry=0%,50%:100%x10% \\ |
| 57 | echo '' halign=c a_track=$4 \\ |
| 58 | } |
| 59 | |
| 60 | |
| 61 | cmd() |
| 62 | { |
| 63 | e=`expr $2 - 1` |
| 64 | echo '' -track -blank $1 pango text="\"$3\"" in=$1 out=$e \\ |
| 65 | echo '' align=1 fgcolour=0xffff40ff weight=600 \\ |
| 66 | echo '' -transition composite out=$end geometry=0%,83%:100%x7% \\ |
| 67 | echo '' halign=c a_track=0 \\ |
| 68 | } |
| 69 | |
| 70 | |
| 71 | explain() |
| 72 | { |
| 73 | echo '' -track -blank $1 pango text="\"$3\"" in=$1 out=$2 \\ |
| 74 | echo '' align=1 fgcolour=0x000000ff bgcolour=0xc0c0ffc0 weight=400 \\ |
| 75 | echo '' -transition composite out=$end geometry=$4%,90%:100%x7% \\ |
| 76 | echo '' a_track=0 \\ |
| 77 | } |
| 78 | |
| 79 | |
| 80 | label() |
| 81 | { |
| 82 | echo '' -track -blank $1 pango text="\"$3\"" in=$1 out=$2 \\ |
| 83 | echo '' align=1 fgcolour=0xff2020ff weight=600 \\ |
| 84 | echo '' -transition composite out=$end geometry=$4%,$5%:100%x10% \\ |
| 85 | echo '' a_track=0 \\ |
| 86 | } |
| 87 | |
| 88 | |
| 89 | echo melt \\ |
| 90 | echo colour:black out=50 \\ |
| 91 | seg 0 470 # 1 |
| 92 | echo '' -transition luma in=0 out=50 \\ |
| 93 | |
| 94 | echo '' -audio-track p97-3fast.wav in=60 \\ |
| 95 | # "resample" sux - do this in SOX |
| 96 | #echo '' -filter resample frequency=47000 \\ |
| 97 | |
| 98 | seg 486 517 # 2 |
| 99 | seg 712 1864 # 3 |
| 100 | seg 1897 2785 # 4 |
| 101 | seg 2874 3082 # 5 |
| 102 | seg 3164 3300 # 6 |
| 103 | seg 3450 3889 # 7 |
| 104 | seg 4019 4703 # 8 |
| 105 | seg 4764 5595 # 9 |
| 106 | seg 5731 6103 # 10 |
| 107 | seg 0 580 # filler |
| 108 | |
| 109 | echo '' -track -blank 5130 colour:white in=5130 out=5200 \\ |
| 110 | echo '' -transition luma in=5130 out=5200 a_track=0 \\ |
| 111 | echo '' -track -blank 5200 colour:white in=5200 out=5800 \\ |
| 112 | overlay 5200 5600 "2011 by Werner Almesberger, CC-BY-SA" |
| 113 | |
| 114 | endtitle 5250 5600 "THE BEGINNING" 13 |
| 115 | |
| 116 | overlay 10 100 "2011 by Werner Almesberger, CC-BY-SA" 0 |
| 117 | overlay 5150 5200 "2011 by Werner Almesberger, CC-BY-SA" 0 |
| 118 | |
| 119 | label 70 150 "ben1" 35 59 |
| 120 | label 110 150 "ben2" 63 66 |
| 121 | say 230 280 "We won't need that" |
| 122 | label 415 447 "OpenWRT" 20 51 |
| 123 | |
| 124 | cmd 487 620 "iz add wpan-phy0" |
| 125 | say 530 620 "Add WPAN interface" |
| 126 | |
| 127 | cmd 630 730 "ip link set wpan0 ..." |
| 128 | cmd 730 840 "... address ca:fe:ca:fe:ca:fe:ca:fe" |
| 129 | say 680 840 "Set MAC address" |
| 130 | |
| 131 | cmd 850 960 "ifconfig wpan0 up" |
| 132 | say 900 960 "Enable WPAN interface" |
| 133 | |
| 134 | cmd 970 1140 "izcoordinator -d 1 -l lease -i wpan0 ..." |
| 135 | explain 1020 1140 "Debug" 33 |
| 136 | explain 1040 1140 "Lease file" 48 |
| 137 | explain 1060 1140 "Interface" 70 |
| 138 | cmd 1140 1290 "... -p 0x777 -s 1 -c 11 &" |
| 139 | explain 1190 1290 "PAN" 35 |
| 140 | explain 1210 1290 "Self" 51 |
| 141 | explain 1230 1290 "Chan" 62 |
| 142 | explain 1250 1290 "Fork" 75 |
| 143 | say 1100 1290 "WPAN coordinator" |
| 144 | |
| 145 | label 1660 1710 "Jlime" 55 53 |
| 146 | |
| 147 | cmd 1770 1930 "iz add wpan-phy0" |
| 148 | say 1800 1930 "Add WPAN interface" |
| 149 | |
| 150 | cmd 1940 2040 "ip link set wpan0 ..." |
| 151 | cmd 2040 2170 "... address be:e2:be:e2:be:e2:b2:e2" |
| 152 | # don't explain the joke :-) |
| 153 | #cmd 2040 2140 "... address be:e2:be:e2:be:e2:b2:e2" |
| 154 | #cmd 2141 2170 "... address be:eR:be:eR:be:eR:be:eR" |
| 155 | say 2000 2170 "Set MAC address" |
| 156 | |
| 157 | cmd 2180 2277 "ifconfig wpan0 up" |
| 158 | say 2230 2277 "Enable WPAN interface" |
| 159 | |
| 160 | cmd 2280 2520 "iz assoc wpan0 777 1 11 short" |
| 161 | explain 2300 2370 "PAN" 52 |
| 162 | explain 2320 2370 "Coordinator" 62 |
| 163 | explain 2400 2520 "Chan" 58 |
| 164 | explain 2420 2520 "Short addr" 73 |
| 165 | say 2340 2520 "Get WPAN address" |
| 166 | |
| 167 | label 2550 2600 "<-- Request" 40 50 |
| 168 | label 2620 2670 "Response -->" 20 55 |
| 169 | |
| 170 | cmd 2780 2880 "Received short address 8001" |
| 171 | |
| 172 | say 2950 3040 "Set up IP tunnel" |
| 173 | |
| 174 | cmd 3000 3150 "dirtpan 777 1 8001 ifconfig ..." |
| 175 | explain 3050 3150 "PAN" 32 |
| 176 | explain 3070 3150 "Self" 41.2 |
| 177 | explain 3090 3150 "Peer" 50 |
| 178 | cmd 3150 3300 "... $ITF 10.0.0.1 dstaddr 10.0.0.2 up" |
| 179 | explain 3200 3300 "Local" 24 |
| 180 | explain 3220 3300 "Remote" 63 |
| 181 | |
| 182 | say 3330 3400 "The other end ..." |
| 183 | say 3410 3500 "... of the tunnel" |
| 184 | |
| 185 | cmd 3410 3550 "dirtpan 777 8001 1 ifconfig ..." |
| 186 | explain 3450 3550 "PAN" 33 |
| 187 | explain 3470 3550 "Self" 45.5 |
| 188 | explain 3490 3550 "Peer" 56 |
| 189 | cmd 3550 3700 "... $ITF 10.0.0.1 dstaddr 10.0.0.2 up" |
| 190 | explain 3600 3700 "Local" 24 |
| 191 | explain 3620 3700 "Remote" 63 |
| 192 | |
| 193 | cmd 3700 3960 "ping -c 10 10.0.0.1" |
| 194 | say 3750 3960 "Test the connection" |
| 195 | |
| 196 | cmd 4170 4380 "ssh 10.0.0.1" |
| 197 | cmd 4403 4470 "root@10.0.0.1 password:" |
| 198 | |
| 199 | cmd 4475 4605 "echo hello >/dev/tty0" |
| 200 | explain 4500 4605 "Console" 56 |
| 201 | |
| 202 | cmd 4770 4825 "hello" |
| 203 | |
| 204 | cmd 4870 4950 "pstree" |
| 205 | |
| 206 | cmd 4970 5070 "exit" |
| 207 | |
| 208 | if $debug; then |
| 209 | echo '' -consumer sdl audio_off=1 |
| 210 | else |
| 211 | echo '' -consumer avformat f=ogg vcodec=libtheora \\ |
| 212 | echo b=600k acodec=libvorbis '>wpan-ipv4.ogg' |
| 213 | fi |
| 214 |
Branches:
master
