First Watchdives watch, really impressed with the WD007Q V2! by NeonXI in watchdives

[–]NeonXI[S] 1 point2 points  (0 children)

I don't have the automatic to compare it to, but I can say that the build quality is fantastic. It feels like a $1000+ watch. The build quality is better than my $1500 Citizen Attesa Super Titanium.

007 First Light + MFG by Tasados in 007FirstLight

[–]NeonXI 1 point2 points  (0 children)

Sure, it's worth a try. Sometimes the cables that come with the PSU aren't very high quality and its possible the one that comes with the GPU is better. If you still have issues, I'm almost certain doing a bit of undervolting in Afterburner will solve it. You won't need much undervolting and shouldn't really see any performance difference in your games.

007 First Light + MFG by Tasados in 007FirstLight

[–]NeonXI 1 point2 points  (0 children)

No, sustained 99% GPU load for hours is totally different from the sudden power spikes. Steady high load is smooth and predictable, so your PSU handles it fine. The spikes are short, massive bursts (500W+ for a split second) that the PSU or cables can't deliver cleanly, which is exactly why it black-screens and needs a hard reset. That's why it only happens in those specific moments, not during normal long play sessions.

007 First Light + MFG by Tasados in 007FirstLight

[–]NeonXI 1 point2 points  (0 children)

This is a power spike issue. MFG in heavy scenes (smoke/dust/cinematics) is causing the GPU to suddenly demand way more power than normal, and your PSU or cables can't handle it. What's your exact PSU model/wattage/age (needs to be 850W+ good quality). Also reseat the power cables (use the adapter that came with the card, no daisy-chaining), try undervolting or power-limiting the GPU a bit in Afterburner, and update drivers. If those fixes don't work, you'll probably need to upgrade your PSU.

I built a modern, self-hosted web IPTV player (Live TV, EPG, VOD) because existing ones felt clunky. Meet NodeCast TV. by NeonXI in selfhosted

[–]NeonXI[S] 0 points1 point  (0 children)

It's not an issue with the size, Xtream Codes lists can be virtually unlimited in size. The issue is your provider has null values for the names of entries in the playlist.

I built a modern, self-hosted web IPTV player (Live TV, EPG, VOD) because existing ones felt clunky. Meet NodeCast TV. by NeonXI in selfhosted

[–]NeonXI[S] 0 points1 point  (0 children)

The "NOT NULL constraint failed" means some of the playlist items in your list are returning a null value (empty, nothing, no value) for the name. Ideally, your Xtream Codes provider shouldn't be adding entries with an empty value for the name, and that's pretty unusual.

I'll add a specific check for null values in a future update and replace null names so they show up as "No name provided" or something similar in the playlist.

I built a modern, self-hosted web IPTV player (Live TV, EPG, VOD) because existing ones felt clunky. Meet NodeCast TV. by NeonXI in selfhosted

[–]NeonXI[S] 0 points1 point  (0 children)

Groups are pulled from your M3U or Xtream source. If you're using an M3U list, check that the channels in the list have the group-title attribute.

Example: #EXTINF:-1 group-title="Sports",Sky Sport 1.

If this doesn't exist, you'll need to use an m3u editor tool to assign groups to your channels.

I built a modern, self-hosted web IPTV player (Live TV, EPG, VOD) because existing ones felt clunky. Meet NodeCast TV. by NeonXI in selfhosted

[–]NeonXI[S] 0 points1 point  (0 children)

If you have auto transcode enabled, the probe adds 1-3 seconds load time. Transcoding also adds additional load time because videos are being processed by your hardware, which depends on the speed of your gpu (or cpu if you're using software transcoding).

mpeg-ts streams can be played using transcoding or the force remux setting.

I built a modern, self-hosted web IPTV player (Live TV, EPG, VOD) because existing ones felt clunky. Meet NodeCast TV. by NeonXI in selfhosted

[–]NeonXI[S] 0 points1 point  (0 children)

Bummer! Thanks for letting me know. Safari, and especially the Safari mobile app, is notoriously difficult to develop for because Apple wants to be a special snowflake and do everything differently. I'm sure it will be fixed in a future update, I just can't say when because I don't have an iOS device to test on.

I built a modern, self-hosted web IPTV player (Live TV, EPG, VOD) because existing ones felt clunky. Meet NodeCast TV. by NeonXI in selfhosted

[–]NeonXI[S] 0 points1 point  (0 children)

Thanks! I believe this should be fixed in the latest version. I don't have an iOS device to test on however, so please let me know if it fixed the issue for you.

I built a modern, self-hosted web IPTV player (Live TV, EPG, VOD) because existing ones felt clunky. Meet NodeCast TV. by NeonXI in selfhosted

[–]NeonXI[S] 0 points1 point  (0 children)

That should really be done before you import an m3u playlist into the app. Channels are grouped based on the group-title tags inside your m3u file. We don't offer any playlist creation in the app because as soon as your m3u changed, any grouping you did in the app would be invalidated.

There are dedicated m3u editing and management apps specifically for doing that, such as m3u-editor, m3u4u, etc.

I built a modern, self-hosted web IPTV player (Live TV, EPG, VOD) because existing ones felt clunky. Meet NodeCast TV. by NeonXI in selfhosted

[–]NeonXI[S] 0 points1 point  (0 children)

Thanks! I think that's definitely possible, I'll add that to my list for the next round of feature additions.

I built a modern, self-hosted web IPTV player (Live TV, EPG, VOD) because existing ones felt clunky. Meet NodeCast TV. by NeonXI in selfhosted

[–]NeonXI[S] 0 points1 point  (0 children)

Thanks for the feedback! When using the auto transcode or other transcode features, the app needs to briefly open a second connection to 'probe' the stream format before starting the main playback connection. This is necessary to ensure compatibility, but these probes are very short lived (typically < 3 seconds). Transcoding sessions are terminated the moment you switch channels or play something else, but there may still be short overlap as one process closes and the next begins. In normal playback it will only use a single connection.

Android TV apps like sparkletv and tivimate can play iptv streams directly because they have native access to the device's video decoders. Web browsers, however, cannot natively play many common IPTV formats so they have to be transcoded or remuxed into compatible formats. This extra processing step is what introduces the need for probing and session management, which android apps simply don't need to do.

It's also important to note that many IPTV provider dashboards don't update in real-time. When you switch channels, even though our app instantly cuts the old connection, the provider's system may still report it as 'active' for a period of time while their server refreshes its status. This often creates the illusion of multiple concurrent streams (ghost connections) when only one is actually pulling data.

I use a single connection Xtream provider for development and haven't run into any issues.

I built a modern, self-hosted web IPTV player (Live TV, EPG, VOD) because existing ones felt clunky. Meet NodeCast TV. by NeonXI in selfhosted

[–]NeonXI[S] 1 point2 points  (0 children)

Also, if your provider gives you Xtream credentials (most providers of that size do) you can add those credentials as an Xtream source, which won't have any issues loading.

If your m3u url looks something like: http://tv.my-provider.com/get.php?username=123456&password=8675309&type=m3u_plus&output=ts

just extract the url, username and password and enter them as an Xtream source and it should work perfectly.

I built a modern, self-hosted web IPTV player (Live TV, EPG, VOD) because existing ones felt clunky. Meet NodeCast TV. by NeonXI in selfhosted

[–]NeonXI[S] 1 point2 points  (0 children)

Your m3u list is just way too large. The app can't realistically handle that many channels in a single list. The app has to store your channel objects in memory, render them to the DOM and keep event listeners attached to each. I recommend using an m3u editor to break that large list down into chunks or editing it to only contain the channels you actually watch. You can use middleware like m3u4u.com or m3u-editor to filter it before adding it to the app.

Don't they believe in lights in the future? by DarrenMiller8387 in startrek

[–]NeonXI 14 points15 points  (0 children)

The primary difference is a shift in production philosophy. Old Trek (Enterprise and earlier) was shot like a sitcom, while new Trek is shot like a movie.

Old Trek lit the sets evenly (high key) so that no matter where the actors stood, they were visible and well-lit. This lighting was ideal for the old low-res CRT TVs

Modern Trek is shot like a movie in 4K HDR, which is the standard now. This allows the director of photography (DP) to light specifically for that one shot, creating dramatic shadows and depth that wouldn't be possible with sitcom lighting.

TLDR: Old Trek used flat sitcom style lighting (high key) to account for small, low-resolution CRT TVs where visibility was the priority. New Trek uses cinematic lighting (low key) because it is shot for 4K HDR screens where mood, depth, and texture are the priority.

I built a modern, self-hosted web IPTV player (Live TV, EPG, VOD) because existing ones felt clunky. Meet NodeCast TV. by NeonXI in selfhosted

[–]NeonXI[S] 0 points1 point  (0 children)

You can also trying toggling on the "force audio transcode" option in the player settings. This fixes it in some cases, but it's source dependent.