I have a specific DVR setup in mind that I'd like, and I'm trying to determine if MythTV will work for me.

* Have MythTV (or some kind of DVR software) be the backend service on a Linux server.

* The MythTV backend server would access OTA streams either via a tuner card installed on the server (e.g., a Hauppauge), or perhaps a SiliconDust HDHomeRun device that would be on the network somewhere and connected to the OTA coax.

* Program recordings from a web browser using any client on my network.

* Be able to access the recordings in some organized way from Roku (possibly Plex application - or something else?)

Is this setup achievable?

EDIT

I've included a diagram of what I'm describing:

Last edited by mbratch on Sat Jan 05, 2019 3:59 pm, edited 1 time in total.

Easy for a lan. For wan, you'd need lot's of bandwidth and preferably a static ip for the Mythtv server if you want to watch recordings over the wan. Sorry I no nothing about roku, but you don't need it for a server-client mythtv setup. Just run mythtv frontends on the clients. You can schedule recordings from all frontends, either in the frontend client or via a browser and mythweb.

Easy for a lan. For wan, you'd need lot's of bandwidth and preferably a static ip for the Mythtv server if you want to watch recordings over the wan. Sorry I no nothing about roku, but you don't need it for a server-client mythtv setup. Just run mythtv frontends on the clients. You can schedule recordings from all frontends, either in the frontend client or via a browser and mythweb.

This would all be on a LAN. I don't mind setting up recording schedules using a PC, but I do not want to watch movies on PC clients. I want to watch them on TVs without the need of a PC. Then I'd like to be able to tell MythTV to record the videos putting them into particular folder location on a server that is on the LAN.

Roku is a very popular streaming box that runs various apps. One of the apps is Plex, which will play videos I have on my server.

You will have to have a client of some kind to interface with the server with any server based solution to record programs. Call it a box, PC, smart tv, or something else. Doesn't matter. The best solution imo is a linux based fontend that will give each location control of everything of the server. As long as you can point the roku (or any other piece of equipment) to the server address and storage location, then you can play the recordings. But you probably won't be able to delete them or provide any of the other functions a true mythtv frontend will do. Good luck. Maybe others here have experience with the roku.

You will have to have a client of some kind to interface with the server with any server based solution to record programs. Call it a box, PC, smart tv, or something else. Doesn't matter. The best solution imo is a linux based font-end that will give each location control of everything of the server. As long as you can point the roku (or any other piece of equipment) to the server address and storage location, then you can play the recordings. But you probably won't be able to delete them or provide any of the other functions a true mythtv frontend will do. Good luck. Maybe others here have experience with the roku.

Of course, I do understand that. Nothing in my initial description of desired setup says I want to avoid using a client at any point in the process. I expect to configure recordings using a client (probably a PC). I desire the MythTV server to save recordings to a pre-configured location (again, setup by the PC client when I set up the recording). Then I will view recordings that have been saved to the server using a different client: a Plex app running on Roku. I don't think it's a complicated setup or anything special. My bottom line question after sorting through the details is whether I can setup MythTV to do this. I don't want to have to fire up a MythTV client on a PC just to view the previously recorded videos. If I need to use a PC client or mobile client just to view videos on a given PC in my house, then this is a non-starter.

I added a diagram to my original post to more clearly explain what I'm after.

Mythtv uses the DB to store all the info about a recording, and everything else. The raw recording files is not all there is to it. As long as the plex clients don't try and delete or change the recording files, there shouldn't be a problem. If it deletes the file then it will still be in the mytv DB (mythconverg) and the backend will still think it's there giving a can't find recording error if you try and access it with a mythtv compatible frontend client. And I don't know how plex client identify a recordinsa name, as that's stored in the mythtv DB also, not in the filename. Here's what the recording files look like.
wes@mythfe0:~$ ls /sdb/recordings/*
/sdb/recordings/1051_20190105020000.ts /sdb/recordings/1111_20190105020000.ts
/sdb/recordings/1051_20190105020000.ts.png /sdb/recordings/1111_20190105020000.ts.png
/sdb/recordings/1051_20190105210000.ts /sdb/recordings/1111_20190105030000.ts
/sdb/recordings/1081_20190105020000.ts /sdb/recordings/1111_20190105030000.ts.png
/sdb/recordings/1081_20190105020000.ts.png /sdb/recordings/1556_20190105210000.ts

Note the filename format is by channel number and date and time it starts. There is no program name in it. The png files or a snapshot of the recording.

... I don't know how plex client identify a recordinsa name, as that's stored in the mythtv DB also, not in the filename. Here's what the recording files look like.

The Plex server is just told what folder(s) to look in for video files and it tracks them there. It's a lot like using MS Media Player on Windows I suppose. You tell it where all the files are, you tell it to build a library accordingly, and off it goes. Then when you want to play a video, you run the Plex client and you can browse by folder or title or date or whatever and play a video. The nice thing is I don't need to be hauling out a laptop or PC to play a video. I just use the streaming app on Roku or on my smart TV.

What is the .ts file format? Is it proprietary to MythTV or is it a video standard file format? The naming doesn't bother me. That's pretty much what my current PVR box does: the file is the name of the channel plus a time/date stamp.

If I use MythTV to record videos, I want to have them automatically be deposited somewhere in a standard video format (e.g., mp4, mts, etc) so that I can tell the Plex server to update its library after a recording and then I can just play them as usual. I don't want to have to run a MythTV client on a PC to play a video.

I think what I'm after here should be achievable. It would be nice if MythTV could support it. Plex has a DVR capability but it requires a subscription. A satisfactory compromise for me would be for it to be a manual process. Have the MythTV server do the recording per the schedule, then I could occasionally go in with the MythTV client and tell it to export the videos (in a standard format) to a particular server location that Plex would pick up. Can I do that with MythTV?

AFAIK, all ota atsc 1.0 are transmitted in mpeg2 format. If you want them in another format, you can transcode them to whatever you want. ATSC 3.0 will be H265 iirc, but that won't happen for at least 2years imo. The file extension in linux means nothing. Earlier versions had extensions of .mpeg iirc. The files are exactly the same. I think it was changed to the .ts extension to simply reflect a transport steam. BTW, I don't haul out pc's to watch my recordings, I just leave the pc's connected to the tv's.

AFAIK, all ota atsc 1.0 are transmitted in mpeg2 format. If you want them in another format, you can transcode them to whatever you want. ATSC 3.0 will be H265 iirc, but that won't happen for at least 2years imo. The file extension in linux means nothing. Earlier versions had extensions of .mpeg iirc. The files are exactly the same. I think it was changed to the .ts extension to simply reflect a transport steam.

Yes, I understand the file extension doesn't necessarily mean anything. I just didn't know what the format was. So it's mpeg2, that's great.

BTW, I don't haul out pc's to watch my recordings, I just leave the pc's connected to the tv's.

That's cool. I have a Roku on each TV and don't really want to keep a PC connected to each of them.

If I've understood what you want correctly then I don't see why it couldn't be done.

You would need a server to run mythbackend to do the recordings and store them. It would also run the plex server that your Roku's will connect to to play stuff. You could also have the frontend on there to administer MythTV to setup recordings and delete them when no longer needed. You would at least have to run mythtv-setup on this system to setup your tuners and storage groups etc.

If you wanted to you could use another PC to run mythfrontend on separate from the server to administer recordings etc if that is more convenient. Another option would be to use MythWeb then you can use anything with a web browser to do the admin work.

In order for plex to see the recordings you would either have to run a user job after each recording to move it to a suitable location that plex can see it or I believe a lot of people use mythlink.pl to create a suitable directory tree that plex can scan. It just creates symlinks to the recordings using a more human readable format that you choose. That way only one copy of the files exists but both mythbackend and plex can see them. I've only played with plex once and it seemed very picky about the file names and directory structure it wanted so you will have to do this to get plex to scan the recordings properly.

I don't know about a Roku device, but my Android based Sony TV just magically found my MythTV-backend server and can play back all the material saved on the Myth system. Clearly there is some app for Android devices that understands the DLNA and
UPnP (Universal Plug-and-Play). I didn't specifically enable this feature and was totally surprised when I started playing around with my 2016 Sony Bravia TV. I see that there is a project to provide a "real" MythTV-frontend on Android devices (smart phones I presume), but it indicates that your desired arrangement can be useful. My current system is MythTV 27 because the backend also supports a MS WIndows PC front end as well as a MAC OS front end. I am in the process of upgrading to MythTV 28 which will eliminate the WIndow PC as a front end, but there is a pre-built MAC OS front end that I am hoping to use. (Compiling a Windows program is well beyond where I want to go. )