Difference between revisions of "Main Page"

From HeadBackup
Jump to navigationJump to search
 
(125 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Welcome! This site is a place to document technical information and other stuff that I was not able to find easily.
+
__NOTOC__
 +
Welcome! This site is a place to document technical information and other stuff that I was not able to find easily and/or don't want to lose.
  
== Graph Wowza Connection Statistics ==
+
== Presentations ==
Problem: I wanted a way to trend connections to an Amazon EC2 Wowza streaming server instance even though we stop the server following each broadcast.<br>
+
* 2023 Introduction to Live Streaming [http://headbackup.com/images/d/dd/2023-05-17_Introduction_to_Livestreaming.pdf Slides]
<br>
+
* 2021 Technology 101 for Parents [http://headbackup.com/images/0/0f/2021_Technology_101_for_Parents_-_web.pdf Slides]
Solution: Create a script to retrieve and record the current connection count using http://ec2servername.com:1935 which is enabled by default on Wowza and use [http://www.melhuish.info/simon/projects/index.html#csv2png csv2png] to graph the recorded data.
+
* GAiN 2012 Webcasting on a Budget [http://headbackup.com/images/3/3b/GAiN_2012_Webcasting_on_a_Budget.pdf Slides]
  
=== Get Statistics ===
+
== Guam Info ==
This script creates a log file with the date/time and the number of connections to the Wowza server.  It then generates a graph from the log file.
+
* [[Shipping to Guam]]
<pre>
+
* [[Cabotage]] Why you could be denied boarding on foreign carrier flights to Guam.
/bin/date +%F\ %T | tr -d '\n' >> [fullpath]/stats/`/bin/date +%F`_connections.log
+
* [[Time Drift]] Why some clocks don't keep time very well in Guam.
wget -t 1 -T 9 -O - http://ec2servername.com:1935 | sed 's/server=/,/' >> [fullpath]/stats/`/bin/date +%F`_connections.log
+
* [[Christmas Events]]
echo >> [fullpath]/stats/`/bin/date +%F`_connections.log
+
* [[Guam Location Issues with Streaming Services, Websites & Smart TVs]]
[fullpath]/stats/csv2png [fullpath]/stats/`/bin/date +%F`_connections.log [fullpath]/stats/`/bin/date +%F`_connections.png 250 250 YmdHMS
+
* [[Google Voice]]
</pre>
+
* [[Cost of Living]]
  
=== Generate HTML ===
+
== Walla Walla Info ==
This script will generate HTML snippets for each month, then combine them into an overview page.  Uncomment and specify the date at the top and comment the next line if running this for something other than the current month.
+
* [[Walla Walla Fruit Info]]
<pre>
 
#date="2009-03"
 
date=`/bin/date +%Y-%m`
 
  
cd [fullpath]/stats/
+
== Technical Notes ==
list=`ls $date*.png`
+
=== Webcasting & Video Editing ===
 +
==== Full Workflows ====
 +
* [[Guam Video Studio for Production & Live Streaming]]
 +
* [[Guam Quality Low Budget PTZ Church Streaming]]
 +
* [[Collegedale Community Church Webcast]] Overview, History and Technical details
 +
==== Other Resources ====
 +
* https://www.adventistchurchconnect.com/help/knowledge-base/live-streaming
 +
* [https://www.yololiv.com/ Yolobox]
  
echo "<br><br><table><tr>" > $date-month.html
+
==== Technology Specific Notes ====
 +
* [[Low Latency RTSP Sources in OBS]]
 +
* [[Wowza Media Server]]
 +
* [[Amazon EC2]]
 +
* [[Newtek Tricaster]]
 +
* [[Newtek VT5]]
 +
* [[Wirecast]]
 +
* [[FFmpeg]]
 +
* [[Excel]]
  
for file in $list
+
=== Websites & Photo Management ===
do
+
* [[MovableType]]
echo "<td>$file</td>" | sed 's/_connections.png/:/' >> $date-month.html
+
* [[MediaWiki]]
done
+
* [[Picture Management]]
 +
* [[SmugMug]] Customization Tricks, etc
 +
* [[Google Calendar Tricks]]
 +
* [[Google Sheets Conditional Formatting]]
 +
* [[Working with HEIC files on Windows 10]]
 +
* [[Wordpress]]
  
echo "</tr><tr>" >> $date-month.html
+
=== Hardware ===
 +
* [[Western Digital Mybook World Edition II]]
 +
* [[WRT54GL Linksys Routers]]
 +
* [[Mustek PF-A700B Picture Frame]]
 +
* [[Verizon LG EnV Phone]]
 +
* [[Active Power Factor Correction (Power Supply) & Stepped Sinewave Approximation (UPS)]] = PC shutdown
 +
* [[Kindle Parental Controls]]
 +
* [[Samsung TV]]
 +
* [[Laptop GPU Performance]]
  
for file in $list
+
=== Software ===
do
+
* [[Pale Moon Browser Tweaks]]
echo "<td><img src=$file alt=$file></td>" >> $date-month.html
 
done
 
  
echo "</tr></table>" >> $date-month.html
+
== External Links ==
 +
* [[Free Tools]] Free software for use on your PC or server.
 +
* [[Free Website Software]] Handy packages and tools for use on a web server.
 +
* [[Free Online Services]] Useful and free.
 +
* [[Websites, Services & Products that I like]] Bookmarks, etc.
  
 
+
Need a pep talk? Dial PepToc at 707-998-8410
list2=`ls -r 2*month.html`
 
echo "<html><title>Webcast Stats</title><h2>Webcast Stats</h2>" > index.html
 
echo "Summary of max connections from each week:<br>" >> index.html
 
echo "<img src=summary.png alt=summary.png>" >> index.html
 
for file in $list2
 
do
 
cat $file >> index.html
 
done
 
echo "</html>" >> index.html
 
</pre>
 
 
 
=== Generate Summary ===
 
This script will generate HTML snippets for each month, then combine them into an overview page.  Uncomment and specify the date at the top and comment the next line if running this for something other than the current month
 
<pre>
 
cd [fullpath]/stats/
 
list=`ls *connections.log`
 
 
 
#echo "2009/02/28 12:52:00,0" > summary.log
 
echo > summary.log
 
 
 
for file in $list
 
do
 
sort -n -k 2 -t , $file | tail -1 >> summary.log
 
done
 
 
 
[fullpath]/stats/csv2png [fullpath]/stats/summary.log [fullpath]/stats/summary.png 800 250 YmdHMS
 
</pre>
 
 
 
=== Configure cronjobs ===
 
On linux use the following command to edit your cronjobs:
 
<pre>
 
crontab -e
 
</pre>
 
* In this example we gather statistics every minute on Saturdays between 10:00am and 12:59pm.
 
* At the start of the window we generate the HTML to include the current day.
 
* At the end of the window we update the summary graph to include the highest connection count from today.
 
<pre>
 
* 10-12 * * 6 [fullpath]/stats/getstats.sh
 
5 10 * * 6 [fullpath]/stats/genhtml.sh
 
5 13 * * 6 [fullpath]/stats/gensummary.sh
 
</pre>
 
 
 
=== Results ===
 
With the above configuration files will be created like this:
 
<pre>
 
2009-10-month.html
 
2009-10-31_connections.png
 
2009-10-31_connections.log
 
2009-11-07_connections.png
 
2009-11-07_connections.log
 
2009-11-14_connections.png
 
2009-11-14_connections.log
 
index.html
 
2009-11-month.html
 
2009-11-21_connections.png
 
2009-11-21_connections.log
 
summary.png
 
summary.log
 
</pre>
 
The resulting web page shown by browsing to index.html will look something like this:<br>
 
[[File:wowzastats.png]]
 
 
 
== Amazon EC2 instance start, status and stop batch files ==
 
I currently use these batch files to start a Wowza server EC2 instance on Vista 32 bit edition.  I have created shortcuts to the batch files using the following syntax so that the command prompts stay open after a user double clicks the shortcut.
 
<pre>
 
C:\Windows\System32\cmd.exe /k c:\ec2\start.bat
 
</pre>
 
 
 
=== Start ===
 
The following batch file will start an Amazon instance and automatically assign your elastic (static) IP address to it after the instance ID is assigned by Amazon.  Just replace any environment or instance preferences and change to your own elastic IP.  The most tricky part of this is the for command which first launches the instance and then extracts the instance id from line 2 (line 1 is skipped), field (token) 2 and assigns the elastic IP address to it.
 
<pre>
 
@echo off
 
set JAVA_HOME="c:\Program Files (x86)\Java\jre6"
 
set EC2_HOME=c:\ec2
 
set PATH=%PATH%;%EC2_HOME%\bin
 
set EC2_PRIVATE_KEY=c:\ec2\keys\private.pem
 
set EC2_CERT=c:\ec2\keys\509.pem
 
 
 
echo to check status run status.bat (startup usually take a couple of minutes)
 
 
 
for /f "skip=1 tokens=2" %%i in ('c:\ec2\bin\ec2-run-instances ami-413fd828 -k wowza-keypair -t m1.small -f c:\ec2\includes\live.zip') do c:\ec2\bin\ec2-associate-address -i %%i 123.123.123.123
 
</pre>
 
 
 
=== Status ===
 
This batch file simply checks the current instance status.
 
<pre>
 
@echo off
 
set JAVA_HOME="c:\Program Files (x86)\Java\jre6"
 
set EC2_HOME=c:\ec2
 
set PATH=%PATH%;%EC2_HOME%\bin
 
set EC2_PRIVATE_KEY=c:\ec2\keys\private.pem
 
set EC2_CERT=c:\ec2\keys\509.pem
 
 
 
echo The instance id is i-something
 
 
 
c:\ec2\bin\ec2-describe-instances
 
</pre>
 
=== Stop ===
 
This one finds the instance ID and then stops that instance.  If you have multiple instances running it will stop each of them one by one (it will also generate some errors, but worked when I tested it).
 
<pre>
 
@echo off
 
set JAVA_HOME="c:\Program Files (x86)\Java\jre6"
 
set EC2_HOME=c:\ec2
 
set PATH=%PATH%;%EC2_HOME%\bin
 
set EC2_PRIVATE_KEY=c:\ec2\keys\private.pem
 
set EC2_CERT=c:\ec2\keys\509.pem
 
 
 
echo After you stop the server verify that the status shows terminated with the status.bat command
 
 
 
for /f "skip=1 tokens=2" %%i in ('c:\ec2\bin\ec2-describe-instances') do c:\ec2\bin\ec2-terminate-instances %%i
 
</pre>
 
 
 
== MediaWiki Tips & Tricks ==
 
=== Enable word wrap for pre tags on MediaWiki ===
 
Add these lines to skins/monobook/main.css in the section which defines the formatting for the pre tags (search for pre):
 
<pre>
 
        white-space: pre-wrap;      /* css-3 */
 
        white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
 
        white-space: -pre-wrap;      /* Opera 4-6 */
 
        white-space: -o-pre-wrap;    /* Opera 7 */
 
        word-wrap: break-word;      /* Internet Explorer 5.5+ */
 
</pre>
 
 
 
=== Disable anonymous editing and new user registrations in MediaWiki ===
 
<pre>
 
# Disable anonymous editing
 
$wgGroupPermissions['*']['edit'] = false;
 
 
 
# Prevent new user registrations except by sysops
 
$wgGroupPermissions['*']['createaccount'] = false;
 
</pre>
 
 
 
== How to Create Livesets in VT5 ==
 
The most helpful explanation I came across on this topic was [[http://www.newtek.com/forums/showpost.php?p=800416&postcount=8 this forum post]].  I opted to install the Aura plugin and the included tutorial is extremely helpful for getting started.
 
=== Create a simple picture in picture using Aura ===
 
Here are the quick steps for creating an angled picture in picture view with blurred edges (from memory, may not be exactly right):
 
# Open a new project in Aura
 
# Name the first layer Input
 
# Open the liveset brush creator (Filters>LiveSet>LiveSet Brush Creator)
 
# Click on the Full Screen Layer button
 
# Create a new layer and name it FX
 
# In the brush generator set the size to what you want for your picture in picture window and then click Create Brush
 
# Optionally if you want to crop the brush follow this steps first
 
## Change the view to only show 1 layer (= sign)
 
## Stamp the brush onto the blank layer
 
## Press the b key to enable the rectangle select tool
 
## Select the new cropped brush space you want to use
 
## Type shift-k to clear the layer
 
# Open Filters>Motion>KeyFramer
 
# Check the Preview box
 
# Adjust parameters as needed (in this case the H A is changed to 45 degrees)
 
# Click Apply Filter
 
# Open the blur filter (Blut>Blur)
 
# Configure the blur amount (2 in this case)
 
# Click Apply Filter
 
# Open the LiveSet Generator (Filters>LiveSet>LiveSet Generator
 
# Set the Effects Warp Type to Complex (this is required to render the angled video I believe)
 
# Name the scene and the shot
 
# Click on Create LiveSet
 
# Open VT5 and you will now be able to select the LiveSet and shot (the effects bus will display within the pip window
 

Latest revision as of 23:55, 16 May 2023

Welcome! This site is a place to document technical information and other stuff that I was not able to find easily and/or don't want to lose.

Presentations

  • 2023 Introduction to Live Streaming Slides
  • 2021 Technology 101 for Parents Slides
  • GAiN 2012 Webcasting on a Budget Slides

Guam Info

Walla Walla Info

Technical Notes

Webcasting & Video Editing

Full Workflows

Other Resources

Technology Specific Notes

Websites & Photo Management

Hardware

Software

External Links

Need a pep talk? Dial PepToc at 707-998-8410