Skip to content

Instantly share code, notes, and snippets.

View leewardbound's full-sized avatar

Leeward Bound leewardbound

View GitHub Profile
@leewardbound
leewardbound / Dockerfile
Last active November 13, 2022 22:55
VNC container with Google Chrome (for Industry Idle)
FROM consol/ubuntu-xfce-vnc
USER 0
RUN apt-get update -yq
RUN wget -O /tmp/google-chrome.deb https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
RUN dpkg -i /tmp/google-chrome.deb || true
RUN apt-get install -fyq
USER 1000
@leewardbound
leewardbound / Dockerfile
Created July 27, 2022 23:35
Self-serve minio container, automatically creates bucket at container startup
# Self-service Minio container
# Automatically creates the $MINIO_BUCKET bucket and configures it for public downloads
FROM minio/mc AS mc
FROM minio/minio
RUN echo $'#!/usr/bin/env sh \n\
cat /bin/start-minio.sh \n\
AWAIT_STARTUP="sleep 5" \n\
CONFIGURE_ROOT="mc config host add local http://minio:9000 $MINIO_ROOT_USER $MINIO_ROOT_PASSWORD" \n\
did:3:kjzl6cwe1jw14acmxg1wwq9bmy49lod9jsqs4at0e6tv3fnpy5mq8lhcercmkp4
// Package join-from-screenshare contains an example of joining an ion instance
// and publishing the screenshare of your X server
package main
import (
"context"
"encoding/json"
"fmt"
"log"
// Package join-from-webcam contains an example of joining an ion instance and
// publishing a stream directly from a webcam device
package main
import (
"context"
"encoding/json"
"fmt"
"log"
GST_DEBUG=3 node gst.js [625c9e3]
{ headless: false,
args:
[ '--enable-usermedia-screen-capturing',
'--allow-http-screen-capture',
'--auto-select-desktop-capture-source=broadcast',
'--load-extension=/home/linked/Nextcloud/home/p/net-prophet/streamhuddle/standup/recorder_extension',
'--disable-extensions-except=/home/linked/Nextcloud/home/p/net-prophet/streamhuddle/standup/recorder_extension',
'--disable-infobars',
'--no-sandbox',
GST_DEBUG=3 gst-launch-1.0 filesrc location=/home/linked/movie.mov ! decodebin name=d ! queue ! videoconvert ! video/x-raw,format=I420 ! x264enc speed-preset=ultrafast tune=zerolatency key-int-max=20 ! flvmux name=flvmux ! rtmpsink location=rtmp://localhost:1935/publish/foobar d. ! queue ! audiorate ! audio/x-raw,channels=1 ! alawenc ! flvmux.
Setting pipeline to PAUSED ...
0:00:00.017335589 2015504 0x558df6d5fa30 WARN basesrc gstbasesrc.c:3600:gst_base_src_start_complete:<filesrc0> pad not activated yet
Pipeline is PREROLLING ...
0:00:00.020963675 2015504 0x558df6d67f00 WARN qtdemux qtdemux_types.c:239:qtdemux_type_get: unknown QuickTime node type chan
0:00:00.020984242 2015504 0x558df6d67f00 WARN qtdemux qtdemux.c:7790:qtdemux_parse_container:<qtdemux0> length too long (873924 > 17)
0:00:00.021007619 2015504 0x558df6d67f00 WARN qtdemux qtdemux.c:3237:qtdemux_parse_trex:<qtdemux0> failed to find fragment defaults for stream 1
0:00:00.021054080 2
> GST_DEBUG=3 gst-launch-1.0 filesrc location=/home/linked/movie.mov ! decodebin name=d ! queue ! videoconvert ! video/x-raw,format=I420 ! x264enc speed-preset=ultrafast tune=zerolatency key-int-max=20 ! flvmux name=flvmux ! rtmpsink location=rtmp://localhost:1935/publish/foobar d. ! queue ! audiorate ! audioconvert ! alawenc ! flvmux.
Setting pipeline to PAUSED ...
0:00:00.016766001 1985518 0x55568474b010 WARN basesrc gstbasesrc.c:3600:gst_base_src_start_complete:<filesrc0> pad not activated yet
Pipeline is PREROLLING ...
0:00:00.019906061 1985518 0x555684750f00 WARN qtdemux qtdemux_types.c:239:qtdemux_type_get: unknown QuickTime node type chan
0:00:00.019921827 1985518 0x555684750f00 WARN qtdemux qtdemux.c:7790:qtdemux_parse_container:<qtdemux0> length too long (873924 > 17)
0:00:00.019941892 1985518 0x555684750f00 WARN qtdemux qtdemux.c:3237:qtdemux_parse_trex:<qtdemux0> failed to find fragment defaults for stream 1
0:00:00.019987877 1985518 0
ffprobe version 4.2.2-1ubuntu1 Copyright (c) 2007-2019 the FFmpeg developers
built with gcc 9 (Ubuntu 9.3.0-3ubuntu1)
configuration: --prefix=/usr --extra-version=1ubuntu1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --
@leewardbound
leewardbound / README.md
Last active August 31, 2021 18:48
rtmp to ion room

Instructions

go run cmd/signal/allrpc/main.go -jaddr :7000 -gaddr :50051 -- in the ion-sfu project, to start the allrpc interface

go run main.go -- start RTMP server

gst-launch-1.0 videotestsrc ! video/x-raw,format=I420 ! x264enc speed-preset=ultrafast tune=zerolatency key-int-max=20 ! flvmux name=flvmux ! rtmpsink location=rtmp://localhost:1935/publish/foobar audiotestsrc ! alawenc ! flvmux. -- test RTMP feed