I run both Channels DVR and Plex. I’ve found it convenient to automatically transcode to an h.264 format under Plex for streaming that avoids the need for live transcoding, which requires a more powerful processing. I figured it might be appreciated to share my work with you. This is current housed at GitHub, here:
together with any documentation that used to be on this post.
Please note that this has not been thoroughly tested on all systems, and that it is to be used at your own risk. It has been confirmed to work on Ubuntu 16.04 Xenial (arm64) and Mac OS 10.12 Sierra (intel), after installing the necessary open-source pre-requisites. It should work on any reasonably modern unix-like system, including Linux.
This is sub-beta quality right now! I will do what I can to address any bugs, but my free time is erratic some please forgive slow responses. Feel free to take it and make it your own, or to contribute directly to the code base.
- An installation script, for ease of use.
- Can be run on the same machine as Channels DVR, or remotely on a different machine.
- Command-line or daemon operation (mac-friendly LaunchAgent provided).
- Fully configurable via command-line arguments or editing the script header.
- Uses ffmpeg for transcoding, and so little need to install extra software.
- Primary code is portable bash script.
- File renaming as per Plex conventions, and direct deposit into Plex file structure.
- Optional phone notifications via IFTTT (iPhone or Android at least).
- Optional (actually, preferred) execution via GNU Parallel: send the transcoding job to another machine.
- iTunes-style tagging, with enhanced tagging via AtomicParsley.
Default settings are produce efficient, fast, flexible, high quality outputs compatible with most modern devices, but tuned for excellent reproduction on Apple TV 4, iPhone 4+, iPad 3+. Transcodes are also backwards compatible with Apple TV 3, and can be added to iTunes directly if desired.
Code and documentation can be found on the github repository, or you can install from a terminal by following the instructions below.
Pre-requisites and installation
sudo port selfupdate; sudo port upgrade outdated; sudo port install curl jq wget
brew install curl jq wget
For Linux users, similar will work, but you should add realpath too if it doesn’t exist, e.g.
sudo apt-get update; sudo apt-get upgrade; sudo apt-get install curl jq realpath wget for Debian or Ubuntu.
Once this is done, you should be able to install by running:
curl https://raw.githubusercontent.com/karllmitchell/Channels-DVR-to-Plex/master/install.sh > install.sh && bash install.sh
- Splat those bugs.
- More explicit instructions for GNU Parallel.
- Improve handling of tags so that the pre-forked version of AtomicParsley also works.