Transcoding recordings to HEVC

Hi!

I've been a happy Channels for a little over six months now. I was an early SageTV adopter and then ended up as a refugee on WMC, and I have to say that using modern DVR software with clients available on all the platforms I use is awesome. Plus it's written in Go which is one of my favorite languages.

I recently picked up a 10th generation i5 machine for a steal on eBay and set about building an automatic post-recording transcoder using ffmpeg's QSV support. Got that all sorted out (and written in Go too), but the one thing I'm not thrilled about is that if I want Channels to continue to recognize the transcoded recording I have to replace the recorded mpg with the new file (which is actually a Matroska container). Is it possible to make an API call back to Channels to tell it "hey, this recording now has a new filename"...? Something like that would be slick, as otherwise I have to maintain an index of previously transcoded recordings or enumerate them with ffprobe to see if they've been transcoded already on startup.

Thanks, and appreciate all the hard work that went in to this platform!

Not that I am aware of, but if you replace the original file with the newly encoded Matroska container using an .mpg extension, everything will work just as expected.

(Tvheadend offered an API call to update its database to point to a new/different file; I do not believe Channels offers a similar hook. Another option is to move the transcoded Matroska container into local content to be imported, and then use the API to delete the original and force a scan of the imports. The second option is cleaner, while the first (may) retain(s) the existing directory structure.)

Yep, that's exactly what I'm doing... it's just not as elegant as I'd like. :smiley: Maybe it's something that can be added to the Channels API eventually. One can hope!

Do most folks end up whipping up their own solution for this? I could dump mine on GitHub after I clean it up a bit. Just added transcode monitoring via ffmpeg's ability to stream progress to an HTTP endpoint.

1 Like

When I used TVH, I had a shell script that would handle everything. (Although my general use case was for replacing corrupted recordings with clean downloads, but the principle is the same.)

Personally, I never felt the need to reprocess and archive recordings; I consider recordings ephemeral, and archival videos are those I have ripped.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.