Skip to content

Instantly share code, notes, and snippets.

View rubikcuber's full-sized avatar

Jonny Dobson rubikcuber

View GitHub Profile
@rubikcuber
rubikcuber / stream-stable.sh
Last active January 6, 2026 15:51
Spawn script for tvheadend to transcode live TV in real-time using an Intel / vaapi hardware device. Used
#!/bin/bash
# Spawn script for tvheadend to transcode live TV in real-time using an Intel / vaapi hardware device.
# Create a new Profile in tvheadend called "pass", disable the built-in pass profile, and set this one as
# the default.
#
# This is specifically designed for UK DVB-T and DVB-S processing for Plex DVR. The script transcodes
# the incoming TV stream to 50hz video using field based deinterlacing. Plex enforces frame based
# deinterlacing at all times, so if you have a client that cannot direct play recordings reliably
# (e.g. Samsung and probably others) you will only be able to get 25hz "filmic" recordings. This
Sensirion SCD30
https://www.mouser.co.uk/ProductDetail/Sensirion/SCD30?qs=rrS6PyfT74fdywu4FxpYjQ%3D%3D
Raspberry Pi Pico (U1)
https://www.raspberrypi.org/products/raspberry-pi-pico/
0.96 OLED SSD1306 (U2)
https://www.amazon.co.uk/SSD1306-Self-Luminous-Display-Compatible-Raspberry-Blue-Yellow/dp/B08FD643VZ/
(other versions are available - make sure the pins are in the order: GND, VCC, SCL, SDA when viewed from the screen
# Requires the following micropython libraries - install these to the Pi Pico with Thonny
# errno, ffilib, os, scd30, signal, ssd1306, stat
# Rename this file to "main.py" and save to the Pico so that it runs automatically on power on.
import time
import math
from machine import Pin, I2C
from machine import WDT
from scd30 import SCD30
from ssd1306 import SSD1306_I2C