But first we need to some background music for our work

Gaming Machine (OBS Studio)

  • Stream > Stream Type: Custom streaming Sever rtmp://encodingserver:1935/live/
  • Output > Streaming
  • Encoder: H264/AVC Encoder (AMD Advanced Media Framework)
  • Preset: Reset to Default
  • Target Bitrate: 25000 (25mbps)

Gaming Machine (AMD Relive)

  • Relive > Streaming
  • Custom Stream Enabled
  • Server URL rtmp://encodingserver:1935/live/
  • Connection Key blank
  • Streaming Profile Custom
  • Streaming Resolution 1080p
  • Streaming Bitrate 20 Mbps
  • Streaming FPS 60
  • Audio Bitrate 192 kbps

Rant@AMD why cant people with non-16:9 display have a crop/pan option!
so that we can crop 1920x1200 to 1920x1080?

with ffmpeg you can do -vf "crop=1920:1080:60:60"

panning would also been nice...

Windows Encoding Server (Nginx/FFMPEG Simulcast)

Recommended Hardware for 1080p: Ryzen 1700/1600
Recommended Hardware for 720p: Ryzen 1500X

if your using a server on the intertubes please add auth or restrict by ip
http://nginx-rtmp.blogspot.no/2013/06/secure-links-in-nginx-rtmp.html
https://helping-squad.com/nginx-rtmp-secure-your-nginx-server/

  • Download: https://github.com/nwgat/ninjastreamer/archive/master.zip
  • Open conf/nginx.conf in notepad
  • Change push urls under liveout
  • Run ninjastreamer.1080p.bat for 1080p 6mbps
  • Run ninjastreamer.720p.bat for 720p 3mbps
  • in OBS Studio click start streaming
  • Run stop nginx.bat to stop nginx
  • Run kill nginx and ffmpeg.bat to taskkill if it hangs

Linux Encoding Server (Nginx/FFMPEG Simulcast)

Recommended Hardware for 1080p: Ryzen 1700/1600
Recommended Hardware for 720p: Ryzen 1500X

if your using a server on the intertubes please add auth or restrict by ip
http://nginx-rtmp.blogspot.no/2013/06/secure-links-in-nginx-rtmp.html
https://helping-squad.com/nginx-rtmp-secure-your-nginx-server/

  • sudo apt-get install ffmpeg nano git
  • git clone https://github.com/nwgat/ninjastreamer && cd ninjastreamer
  • nano conf/nginx.conf
  • Change push urls under liveout
  • chmod 777 nginx
  • chmod 777 ninjastreamer.*
  • Run sh ninjastreamer.1080p.sh for 1080p 6mbps
  • Run sh ninjastreamer.720p.sh for 720p 3mbps
  • in OBS Studio click start streaming
  • Run pkill -9 nginx && pkill -9 ffmpeg to kill if it hangs

Notes

  • Depending on your CPU you can change x264 quality with preset from ultrafast,superfast, veryfast, faster, fast, medium
  • You can even use hardware encoders like h264_amf, h264_nvenc or h264_qs

*because i was bored





The Fire Escape is a 4K benchmark that measure the time it takes to encode a 4K file to x264 using open souce video editor OpenShot

uses a shotcut project file with a raw 4k video file, flac music by GUNSHIP, Text Overlay

above scores are average of 5 runs
please note that these systems are not benchmark systems and are real world

  • bench.x264.py Encoding 3840x2160p24 4K Shotcut Project using qmelt to x264 with Slow Preset and 16 CRF
  • bench.x265.py Encoding 3840x2160p24 4K Shotcut Project using qmelt to x265 with Slow Preset and 16 CRF
  • bench.vp9.py whenever google gets around to implementing proper multi-threading
  • bench.av1.py whenever aomedia gets around to finalizing spec and implementing multi-threading

Install

Tests cpu/ram and ssd/hdd and the results are in seconds

Special Thanks to

  • iWalkingCorpse for 1500X
  • Vegetables for 1700 3.8Ghz
  • Xplode for Threadripper 1950X
  • T-Nan for 7800X
  • shillzude for 5820K

This Benchmark is based on Shotcut and MLT open source project https://www.shotcut.org/

list of my current tools for video editing

Adobe Premiere Replacement

Adobe After Effects Replacement

Adobe Audition Replacement

Adobe Illustrator Replacement

Adobe Photoshop Replacement

Other

save to mkv ~10mbps

  • raspivid -hf -vf -t 0 -b 10000000 -o - | ffmpeg -i - -vcodec copy test.mkv

explanation

Raspvid

  • -hf flip horizontal
  • -vf flip vertical
  • -t 0 indefinetly
  • -b 10000000 10mbps bitrate
  • -o -output to ffmpeg

ffmpeg

  • -i - reads from raspivid
  • -vcodec copy simple copying of video data
  • test.mkv file name and the output matroska format

Computer Hope

Install Packages

  • sudo eopkg it -c system.devel
  • sudo eopkg it gperf bison flex autoconf automake make texinfo help2man ncurses-devel yasm fribidi fribidi-devel fontconfig fontconfig-devel mesalib mesalib-devel gnutls samba samba-devel pulseaudio pulseaudio-devel libbluray libbluray-devel libdvdread-devel libdvdread luajit luajit-devel libjpeg-turbo libjpeg-turbo-devel v4l-utils v4l-utils-devel libcdio libcdio-devel libcdio-paranoia libcdio-paranoia-devel gettext gettext-devel m4 libtool libtool-devel libvdpau-devel libvdpau libguess libguess-devel libva libva-devel libdvdnav libdvdnav-devel

Build mpv, libass and ffmpeg

  • git clone https://github.com/mpv-player/mpv-build.git
  • cd mpv-build
  • ./use-mpv-release
  • ./use-ffmpeg-release
  • ./update
  • ./rebuild -j8
  • sudo ./install

test

  • mpv file
Receive $10 in credit at DigitalOcean for your VPS Hosting
€1.24 VPS from Time4VPs
Proudly published with Ghost | Theme based on Draugur | Header Image by GUWEIZ@DeviantArt
Creative Commons Licence