First of all install update and upgrade your system:
$ sudo apt update
$ sudo apt upgrade
Then, install required libraries:
| brew install pandoc | |
| brew tap homebrew/cask | |
| brew cask install basictex | |
| eval "$(/usr/libexec/path_helper)" | |
| # Update $PATH to include `/usr/local/texlive/2020basic/bin/x86_64-darwin` | |
| sudo tlmgr update --self | |
| sudo tlmgr install texliveonfly | |
| sudo tlmgr install xelatex | |
| sudo tlmgr install adjustbox | |
| sudo tlmgr install tcolorbox |
| import csv | |
| import tweepy | |
| # get credentials at developer.twitter.com | |
| auth = tweepy.OAuthHandler('API Key', 'API Secret') | |
| auth.set_access_token('Access Token', 'Access Token Secret') | |
| api = tweepy.API(auth) | |
| # update these for whatever tweet you want to process replies to |
Preamble:
In this post I will explore how to stream a video and audio capture from one computer to another using ffmpeg and netcat, with a latency below 100ms, which is good enough for presentations and general purpose remote display tasks on a local network.
The problem:
Streaming low-latency live content is quite hard, because most software-based video codecs are designed to achieve the best compression and not best latency. This makes sense, because most movies are encoded once and decoded often, so it is a good trade-off to use more time for the encoding than the decoding.
Streaming your Linux desktop to Youtube and Twitch via Nvidia's NVENC and VAAPI:
Considerations to take when live streaming:
The following best practice observations apply when using a hardware-based encoder for live streaming to any platform:
Set the buffer size (-bufsize:v) equal to the target bitrate (-b:v). You want to ensure that you're encoding in CBR mode.
Set up the encoders as shown:
| # | |
| # This is a little script to populate Firefox Sync with | |
| # fake password records. Use it like so: | |
| # | |
| # $> pip install PyFxA syncclient cryptography | |
| # $> python ./upload_fake_passwords.py 20 | |
| # | |
| # It will prompt for your Firefox Account email address and | |
| # password, generate and upload 20 fake password records, then | |
| # sync down and print all password records stored in sync. |
| { | |
| "7 Pot Brain Strain Red Pepper": "Capsicum Chinense", | |
| "7 Pot Bubble Gum Pepper": "Capsicum Chinense", | |
| "7 Pot Pepper Barrackpore": "Capsicum Chinense", | |
| "7 Pot Pepper Brain Strain Yellow": "Capsicum Chinense", | |
| "7 Pot Pepper Orange": "Capsicum Chinense", | |
| "7 Pot Pepper Yellow": "Capsicum Chinense", | |
| "7 Pot Pink Pepper": "Capsicum Chinense", | |
| "7 Pot Rust Pepper": "Capsicum Chinense", | |
| "Abe Lincoln Tomato": "Solanum Lycopersicum", |
| # Usage: | |
| # source iterm2.zsh | |
| # iTerm2 window/tab color commands | |
| # Requires iTerm2 >= Build 1.0.0.20110804 | |
| # http://code.google.com/p/iterm2/wiki/ProprietaryEscapeCodes | |
| tab-color() { | |
| echo -ne "\033]6;1;bg;red;brightness;$1\a" | |
| echo -ne "\033]6;1;bg;green;brightness;$2\a" | |
| echo -ne "\033]6;1;bg;blue;brightness;$3\a" |
| // Use Gists to store code you would like to remember later on | |
| console.log(window); // log the "window" object to the console |