Feral HTPC: A Community Windows HTPC client

Tell me about your setup. What sources do you use for the channels in your collections? How many channels do you have in total? Did any of the previous releases work for your collections? If you look at movies or TV Shows, do they populate display?

Also, what Windows version are you on?

You may need to delete the settings and let them repopulate. Go to C:\Users\YOUR_USERNAME\AppData\Roaming\FeralHTPC\user_settings.json and delete the user_settings.json file. Restart the FeralHTPC app and see if it works.

That worked for me! Thank you! No need to bore you with the setup details I guess. :slight_smile:

I should have let everyone know that the changes made could cause a crash with the settings file. Thanks for reporting back.

[1.1.4]

New Features & Enhancements

  • Targeted Episode Fetching: Changed the TV Show library to only fetch episodes for a specific show when clicked, reducing memory usage and initial load times.
  • Recently Added: Added a new section for latest added Movies and TV Episodes in a single list.
  • Videos: Added a new section displaying the Videos library.
  • Multi HDHR Tuner Fix: Added a LINQ filter to prevent duplicate channels from showing up in your guide if you have multiple tuners.
1 Like

This release should address this issue.

Works perfectly, thanks!

Sorry it took so long.

v1.1.5 Released

New Features & Enhancements

  • Progress Tracking: The app now remembers exactly where you left off when closing a Movie or TV Show and saves it to the Channels DVR server.
  • Resume Prompts: Added custom, native UI pop-ups to the Movies, Shows, and Dashboard pages that ask if you want to "Resume" or "Start Over."
  • Auto-Mark as Watched: Automatically marks a video as "Watched" on the server if you stop it within 3 minutes of the end credits.
  • Accurate Progress Bars: Forced VLC to use the exact duration provided by the Channels API so the timeline slider no longer immediately jumps to 100% on the right side.
  • Fixed TV Show Scrubbing: Fixed the bug where fast-forwarding or scrubbing a recorded TV Show would bounce back.
  • Smart Commercial Skipping: Updated the commercial skip logic to support the new percentage-based seeking for TV Shows.
  • Improved Image Loading: Added safety checks to prevent the Player Window from crashing if the DVR server sends a broken or relative URL for a movie poster.
3 Likes

1.1.6 Released

Multiview Enhancements

1. Dynamic Screen Layouts

  • Added logic to dynamically draw the screens based on how many channels are active:
    • 4 Channels: Standard 2x2 grid.
    • 3 Channels: 1 large screen on the left, 2 smaller screens stacked on the right.
    • 2 Channels: Picture-in-Picture (PiP) mode (1 full-screen background, 1 small foreground box).

2. Web Remote Syncing

  • Built an API and background syncing loop so the phone remote redraws its buttons to match the layout showing on the TV.

3. FFmpeg Proxy Integration

  • Added support for running up to 4 simultaneous FFmpeg background proxies (_ffmpegProcesses array).
  • Multiview now respects the ForceLocalRemux and ForceLocalTranscode settings from your Live TV config, allowing it to fix broken timestamps on problematic channels just like the single player.
  • Added a cleanup loop in OnClosed to ensure all 4 background proxy processes are safely killed when you exit Multiview.

Under The Hood

  • Updated LibVLCSharp.WPF: to Version 3.9.7.1
  • Updated VideoLAN.LibVLC.Windows: to Version 3.0.23.1
1 Like

couple things i noticed:

search only searches channel numbers and names, not the guide itself.

trying to type an F in the search immediately toggles fullscreen without actually putting an F in the search box. Im sure there are other keys that so the same.

Thanks for the heads up.

I will have them both addressed either later today or tomorrow morning.

No hurry. Take your time.

[1.1.7]

  • Stop 'F' from toggling Fullscreen while typing in a TextBox.
  • Make the Search include Guide Data (Currently Airing Shows).
1 Like

fixes work great.

Stream File videos don't play and actually crash the program. Nothing special showed up in the logs, though.

[2026-05-05 15:38:59.344] PlayMovie: Method invoked.
[2026-05-05 15:38:59.345] PlayMovie: _mediaPlayer.Play() called.
[2026-05-05 15:38:59.402] VLC CALLBACK: MediaPlayer_Playing Fired!
[2026-05-05 15:38:59.404] VLC CALLBACK: MediaPlayer_EndReached Fired!
[2026-05-05 15:38:59.442] PlayerWindow_Closed: Cleaning up resources.

No issue with server-side videos, and no issue with Stream Files episodes and movies.

If you have the time, would you provide me with the json response for a couple of the StreamLinks/StreamFiles you are using? I think the endpoints are /dvr/files/{FILE_ID} and /api/v1/video_groups/{GROUP_ID}/videos. Thanks

Here's some examples of a video Stream Files...
{
  "ID": "137220",
  "GroupID": "videos-d1aee709f3568d3812088119b90982540ec5bdd5570dfd94cdbfbe7f56faf59d",
  "Path": "slm\\YouTube 010 - BTG Live Streams (2016)\\Playing your Super Mario Maker 2 levels LIVE! - Blue Television Games (Channel Blue Television Games).strm",
  "Checksum": "Hyu4noqtnyi1RfXSXPoCkWwFYMk1dKld5MVqcUxfGF0",
  "CreatedAt": 1777835000,
  "FileSize": 97,
  "Duration": 10902,
  "Completed": true,
  "Processed": true,
  "Airing": {
    "Source": "",
    "OriginalDate": "2026-05-03",
    "Time": 0,
    "Duration": 0,
    "Title": "YouTube 010 - BTG Live Streams (2016)",
    "EpisodeTitle": "Playing your Super Mario Maker 2 levels LIVE! - Blue Television Games",
    "Summary": "✪ Submit levels here: https://forms.gle/GNL9px4ERAar7fJG8\n✪ BTG Members check the community tab for a link to submit your levels: https://www.youtube.com/channel/UCw5YkWj0TfjZrQEgG8u9JjQ/community\n\nBTG Live Stream Playlist: https://www.youtube.com/playlist?list=PLjA9gF9YbBHxpb7n7C8QlxhaATvybtv8K\n\n✪ Subscribe for more content: https://www.youtube.com/c/BlueTelevisionGames\n✪ Become a BTG Member: https://www.youtube.com/channel/UCw5YkWj0TfjZrQEgG8u9JjQ/join\n\n🎨 Mario in thumbnail render by: Nintega-Dario\n👉 Check out Nintega-Dario here: www.youtube.com/NintegaDario\n\n✪ Discord: http://discord.gg/bluetelevisiongames\n✪ Twitter: https://twitter.com/bluetvgames\n✪ Instagram: https://www.instagram.com/bluetelevisiongames/\n✪ Facebook: https://www.facebook.com/bluetelevisiongames\n\n✪ Send fan mail here:\[email protected]\n\n🔴 Super Mario Maker 2 - Playing your levels! - BTG LIVE \n#mario #supermario #supermariobros #livestream #mariomaker #supermariomaker #supermariomaker2 #live #livestream #livestreaming",
    "Image": "https://i.ytimg.com/vi/XfFxyN6FvOc/maxresdefault.jpg",
    "Categories": [
      "Video"
    ],
    "Tags": [
      "Stream"
    ]
  },
  "UpdatedAt": 1777835073419,
  "Version": 23,
  "Labels": [
    "Half Hour Comedy",
    "User: JP"
  ],
  "ImportPath": "Imports\\Videos",
  "ImportQuery": "YouTube 010 - BTG Live Streams (2016)",
  "ImportGroup": "videos-d1aee709f3568d3812088119b90982540ec5bdd5570dfd94cdbfbe7f56faf59d",
  "ImportedAt": 1777835039572,
  "VideoURL": "http://10.255.1.144:7901/playlists/streams/stream?url=https://www.youtube.com/watch?v=XfFxyN6FvOc",
  "MediaRegions": [
    {
      "Start": 0,
      "End": 10902,
      "Type": "content",
      "Sources": null
    }
  ]
}
{
  "ID": "137555",
  "GroupID": "videos-20128ebb54c5c475353544db10f03c749ca4e225fb7439e4842ed4af058075fa",
  "Path": "slm\\YouTube 002 - JP Watch Later (2025)\\Why it's been so quiet around here lately... (Channel Space Quest Historian).strm",
  "Checksum": "y7rg0aM2S1SyQojkeg5UTLPBRZ4qOvQPCRsQrPEcXxI",
  "CreatedAt": 1778139808,
  "FileSize": 97,
  "Duration": 260,
  "Completed": true,
  "Processed": true,
  "Airing": {
    "Source": "",
    "OriginalDate": "2026-05-06",
    "Time": 0,
    "Duration": 0,
    "Title": "YouTube 002 - JP Watch Later (2025)",
    "EpisodeTitle": "Why it's been so quiet around here lately...",
    "Summary": "TL;DR: I'm mainly going to be livestreaming in the future because I'm sick of video editing.\n\nBluesky: https://bsky.app/profile/spacequesthistorian.com\nMastodon: https://dosgame.club/@sqhistorian \nThe SQH Discord: https://discord.gg/9mcCQt2\nSupport me via Patreon: https://patreon.com/spacequesthistorian\n(Or LiberaPay, if you don't like Patreon: https://liberapay.com/spacequesthistorian)",
    "Image": "https://i.ytimg.com/vi/WtMdULk8jjE/maxresdefault.jpg",
    "Categories": [
      "Video"
    ],
    "Tags": [
      "Stream"
    ]
  },
  "UpdatedAt": 1778139930276,
  "Version": 23,
  "Labels": [
    "Half Hour Comedy",
    "User: JP"
  ],
  "ImportPath": "Imports\\Videos",
  "ImportQuery": "YouTube 002 - JP Watch Later (2025)",
  "ImportGroup": "videos-20128ebb54c5c475353544db10f03c749ca4e225fb7439e4842ed4af058075fa",
  "ImportedAt": 1778139879031,
  "VideoURL": "http://10.255.1.144:7901/playlists/streams/stream?url=https://www.youtube.com/watch?v=WtMdULk8jjE",
  "MediaRegions": [
    {
      "Start": 0,
      "End": 260,
      "Type": "content",
      "Sources": null
    }
  ]
}

I don't have any Stream Link videos, though.

I installed beta 1.1.7 and it won't even start. No setup screen, no splash screen, nothing. I uninstalled & reinstalled - no difference. It doesn't show in Task Manager. Running Windows 10. I also tried 1.1.6 - no difference.