Online audio and video using free software and open standards

Online audio and video using free software and open standards

The web as we know it today couldn’t exist without free software. However, the web also helped re-emergence of proprietary technologies and incompatible, closed systems. One of the areas where this shows is in web multimedia - video and audio streaming, both live and on demand. Publishing a video or hosting a live stream today is trivial. Publishing a video or hosting a live stream using free technologies and avoiding artificial limits posted by the popular platforms is a quite different experience.

This talk highlights challenges in publishing video and audio content using only free and open source software and unencumbered technologies, examines choices you have to make and walks through several examples of how to publish multimedia on the web with minimal use of proprietary and closed solutions.

382b18eebb1386e80ff7e20fd1eb784e?s=128

Senko Rašić

April 20, 2018
Tweet

Transcript

  1. Online Audio & Video using Free Software and Open Standards

    Senko Rašić <senko@senkorasic.com>
  2. Online video is everywhere 9% 2% 14% 75% Video Web,Email,Data

    Gaming File sharing Source: Cisco VNI-2016-2021
  3. Audio streaming is ubiquitous U.S. Music Industry Revenues 2017 15%

    17% 3% 65% Streaming Synch Physical Downloads Source: RIAA 2017 Revenue Statistics
  4. Producing video is trivial … … inside a walled garden

  5. Open Standards & Free Software

  6. Live & On Demand

  7. None
  8. None
  9. None
  10. Compatibility nightmare Source: MDN web docs

  11. 99% solution — H.264+AAC Source: MDN web docs

  12. Progressive freedom enhancement Source: MDN web docs

  13. A new hope: AV1 open, royalty-free video codec with patent

    grants 30% improvement on VP9 and HEVC 70% improvement on H.264
  14. Let’s stream!

  15. Internet Radio with Free Software IceCast ffmpeg mpd vlc ezstream

    gstreamer … HTML5 audio vlc mplayer omxplayer … Codecs AAC MP3 Vorbis Opus SHOUT HTTP
  16. Cheese VLC mencoder ffmpeg OBS Studio … nginx red5 ant

    media server … HTML5 video VLC GNOME/KDE media player mplayer gstreamer … Live Video Workflow with Free Software
  17. Recording ffmpeg -f v4l2 -framerate 25 -video_size 640x480 -i /dev/video0

    -f alsa -i hw:1,0 -c:v libvpx-vp9 -b:v 1800k -crf 31 -c:a libopus output.webm ffmpeg Cheese (GNOME)
  18. Transcoding Handbrake ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 1800k -crf

    31 -c:a libopus output.webm ffmpeg
  19. Live Streaming OBS Studio ffmpeg -f v4l2 -framerate 25 -video_size

    640x480 -i /dev/video0 -f alsa -i hw:1,0 -f flv rtmp://login:pass@example.com/app/stream ffmpeg (again!)
  20. Streaming Server nginx-rtmp-module, Red5, Ant Media Server

  21. Video Player VLC, Kodi, GNOME/KDE Media Player, mplayer, omxplayer, …

    <video src=“http://example.com/video.webm">
  22. Bandwidth & Compute Requirements

  23. LIVE H.264 + AAC in MPEG-TS over HLS (nginx) +

    JWPlayer
  24. Thank you! Senko Rašić <senko@senkorasic.com>