| Description | Command |
|---|---|
| Start a new session with session name | screen -S <session_name> |
| List running sessions / screens | screen -ls |
| Attach to a running session | screen -x |
| Attach to a running session with name | screen -r |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| var config = { | |
| hosts: { | |
| domain: 'meet.example.loc', | |
| focus: 'focus.meet.example.loc', | |
| muc: 'conference.meet.example.loc' | |
| }, | |
| // BOSH URL. FIXME: use XEP-0156 to discover it. | |
| bosh: '//meet.example.loc/http-bind', | |
| // Websocket URL |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import React, {useState} from 'react'; | |
| import {SafeAreaView, StyleSheet, View, Button} from 'react-native'; | |
| import { | |
| RTCView, | |
| mediaDevices, | |
| MediaStream, | |
| MediaStreamConstraints, | |
| } from 'react-native-webrtc'; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| private Bitmap toBitmap(Image image) { | |
| Image.Plane[] planes = image.getPlanes(); | |
| ByteBuffer yBuffer = planes[0].getBuffer(); | |
| ByteBuffer uBuffer = planes[1].getBuffer(); | |
| ByteBuffer vBuffer = planes[2].getBuffer(); | |
| int ySize = yBuffer.remaining(); | |
| int uSize = uBuffer.remaining(); | |
| int vSize = vBuffer.remaining(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #user nobody; | |
| worker_processes 1; | |
| #error_log logs/error.log; | |
| #error_log logs/error.log notice; | |
| #error_log logs/error.log info; | |
| pid /var/run/nginx.pid; | |
| events { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| sudo apt install curl gnupg2 ca-certificates lsb-release | |
| echo "deb http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list | |
| curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add - | |
| sudo apt update | |
| NGINX_VERSION=$(apt show nginx | grep "^Version" | cut -d " " -f 2 | cut -d "-" -f 1) | |
| # take note of the nginx version in the "stable" release. e.g. 1.14.2 | |
| echo NGINX version $NGINX_VERSION | |
| wget https://hg.nginx.org/pkg-oss/raw-file/default/build_module.sh | |
| chmod a+x build_module.sh |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| class EventEmitter | |
| /// Shared Instance. | |
| public static var sharedInstance = EventEmitter() | |
| // ReactNativeEventEmitter is instantiated by React Native with the bridge. | |
| private static var eventEmitter: ReactNativeEventEmitter! | |
| private init() {} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| {url:'stun:stun01.sipphone.com'}, | |
| {url:'stun:stun.ekiga.net'}, | |
| {url:'stun:stun.fwdnet.net'}, | |
| {url:'stun:stun.ideasip.com'}, | |
| {url:'stun:stun.iptel.org'}, | |
| {url:'stun:stun.rixtelecom.se'}, | |
| {url:'stun:stun.schlund.de'}, | |
| {url:'stun:stun.l.google.com:19302'}, | |
| {url:'stun:stun1.l.google.com:19302'}, | |
| {url:'stun:stun2.l.google.com:19302'}, |
- compile ffmpeg for arm https://github.com/fiorix/ffmpeg-arm
- create youtube 'live event'. get rtmp url + session id
- run this:
raspivid -o - -t 0 -vf -hf -fps 30 -b 6000000 | ffmpeg -re -ar 44100 -ac 2 -acodec pcm_s16le -f s16le -ac 2 -i /dev/zero -f h264 -i - -vcodec copy -acodec aac -ab 128k -g 50 -strict experimental -f flv rtmp://a.rtmp.youtube.com/live2/<SESSION>
you can tweak -b and -fps to your liking. the settings above work well for 1080p. by not specifying width or height we get the full 1920x1080 resolution from the raspi camera