Status of "100% complete" recording bug

@gadgetgeek2000 said:
What does that say for me, however, that is using only HD HomeRun Prime with Comcast Cable? I have no antennas in my system. Do you believe I have a signal strength problem with my Comcast Cable?

You"re right, that doesn’t apply to you since you’re not doing OTA. There could be more than one issue here.

I didn’t have trouble with a single channel in my system…it would fail on many different channels. Is there some diagnostic information I could provide about channel strength to the developers? 1.6.1 is rock solid. If segmenting is causing this is there an option that we could enable/disable in the newer version to turn off this segmenting? Disable the newer features that require segmenting in favor of more reliable recordings? On 1.6.1, I have what seems to be about 60 successful television show recordings in the last week.

I do believe segmentation might have something to do with it. I’ll see if I can find out more, but no this is not something you can toggle.

@gadgetgeek2000 said:
I didn’t have trouble with a single channel in my system…it would fail on many different channels. Is there some diagnostic information I could provide about channel strength to the developers? 1.6.1 is rock solid. If segmenting is causing this is there an option that we could enable/disable in the newer version to turn off this segmenting? Disable the newer features that require segmenting in favor of more reliable recordings? On 1.6.1, I have what seems to be about 60 successful television show recordings in the last week.

I’d like to look into seeing if there’s anything consistent. Is it a particular show, or time, or channel, or anything? A raw capture from the HDHR alongside some logs would help to see what happens.

@gadgetgeek2000 @kinoCharlino

SNR is very important, for QAM256, you need at least 30dB to get a lock on the modulation. But it’s recommended to have at least 33dB. For QAM64, you need at least 24dB, but it’s recommended to have at least 27dB.

But it’s not the only factor that can affect reception. The second is the channel power level. You need to be between -15dBmV and +15 dBmV (That apply to QAM, for OTA, the ATSC specs is different). Normally, cable operators wants it to be right in the middle. There is also a third one, the total power entering your tuner (too much power will cause the tuner to overload). This one is more difficult to calculate without a spectrum analyzer. But if the cable operator installer did his job properly, it shouldn’t be a problem.

I would recommend also that you inspect your cable. Make sure that the shielding is not exposed. Also, make sure that the connectors are all well tighten. Loose connector can cause brief signal breaks and let RFI in. Also, RFI can comes from the cable operator network. MSOs track down those interference, but sometimes it can take time to find.

For OTA reception, well that can get difficult quickly. OTA needs to deal with multipath interference, adjacent channel interference, co-channel interference, impulse RFI caused by appliances like refrigerator, air conditioning, LED light, etc. You can have a perfect signal, but your air conditioning unit starts or stops and creates RFI for a split second. This is called impulse noise interference. Those are a nightmare to track down and eliminate.

Sure, RF issues are the most common problem causing errors in the transport stream. But there are several other causes that can create errors in the transport stream that we, as an user, have no control over. It could be cause by the cable operator and the broadcaster itself. For example, the other day I was recording with plex and an Amber Alert message cause plex to abort the recording. The alert message insertion caused several issues in the transport stream. there were discontinuity counters errors, PCR errors, in the TS stream.

In the broadcast world, errors in the transport streams happen all the times. The system was designed to be errors tolerant and mpeg-ts has been designed that way. PlexDVR must be error tolerant also. You can tell your users to get better hardware, to track down interference, to position the antenna to another position. That are great advises. We need to have the best reception as possible. But all that is not enough if plexDVR is not error tolerant. Even with the best RF reception possible, errors will happen. It could be a thunder storm, it could be a bad advertisement insertion or an Alert message insertion causing discontinuity counter errors, it could be a bad edge QAM generator at the cable operator head end. Errors will happen and plex need to deal with it. Otherwise plexDVR will not be reliable.

Just my 2 cents as a DVR user. :slight_smile:

@kinoCharlino said:
I’ve been helping to chase down this issue as I have been experiencing pretty much the same thing that many have been reporting and would like to share with you my experience and a hypothesis that has been added to our internal issue ticket with engineering. I’ve isolated the “100% stuck” recording issue to 1 network channel in my area that has lower signal strength than the others. Multiple shows I scheduled the recording of on that channel have consistently caused this error. My signal experience on that channel has been consistent even while watching Live TV on Plex Web (signal drops frequently). Plex Web is my plater of choice for these tests as Live TV tuning takes a little longer in browser as compared to a client like the NVIDIA SHIELD. I have been using a Mohu Leaf antenna mounted indoors against an exterior wall and have had the “convert video while recording” DVR option set to “transcode.” That same channel plays fine with the HDHomeRun app. I believe this usage scenario matches what many are experiencing. I’m suspicious that the signal-to-noise ratio (signal strength) could be the culprit.

First a little background as to why signal quality affects Plex DVR differently than the HDHomeRun app. Plex DVR requires a higher signal-to-noise ratio (stronger signal) than the HdHomeRun app. The HDHomeRun is basically a “conduit” that sends the transport stream to the player untouched. Plex has to analyze and segment the file (for server/client sharing) and as a result, Plex is more sensitive to signal degradation.

DVR Test Hardware

  • Antennas
    • 1x Mohu Leaf 30 indoor antenna
    • 1x Mohu Sky 60 outdoor antenna
  • Tuners
    • 2x SiliconDust HDHomeRun Connect
    • 1x two-way coaxial splitter

My next test involved reducing the amount of work Plex DVR does on the transport stream, to see if the “convert video while recording” setting has any affect on this. I turned that feature off and scheduled a 30 minute recording on the channel I have experienced issues with. As experienced in previous tests, the recording got stuck at 100%. The UI in the Recording Schedule shows the icon as complete, but still recording. No media is added to my library. This leads me to believe that the poorer signal is causing issues with the initial saving, not the transcoding part.

With the “convert video while recording” option crossed off my list as excluded, I steered my focus to my antenna: a Mohu Leaf indoor amplified antenna. My city is known for being notoriously difficult to access OTA television with an indoor antenna, without noticeable signal degradation. My next test involved swapping out my indoor amplified antenna with a larger, more amplified outdoor antenna: the Mohu Sky. To compare, I mounted it indoors right next to my Mohu Leaf and began watching the same channel with Live TV using Plex Web. Stream now matches the other network channels with no issues. I then scheduled another DVR recording on the same channel with the superior and more amplified antenna (Mohu Sky), this time with “convert video while recording” enabled. For the first time on this channel, no “100% completion” stuck issue. The show recorded and saved into my library.

This has all come down to signal strength. I’ve found that using a better, more amplified antenna indoors has helped a lot, and the Mohu Sky outdoor antenna with a 15dB gain amplifier placed in the same indoors location as the Mohu Leaf 30 has provided improved results, allowing me to get rid of this issue as all the network channels now come in with a stronger signal. While such an antenna might not be suitable for everyone’s usage environments, I suggest experimenting with antenna placement to improve reception. Use Plex Web and Live TV to spot any stream issues. If the stream is smooth, then the DVR recording should be successful.

I’ve provided my test experience and results to engineering and have referenced this thread. We’re at the point now where we think we’ve got the root cause, but for the time being just assume that you’ll need good reception for Plex DVR & Live TV. Test your channels with Plex Web using Live TV and adjust your antenna’s location. If you want to invest in better hardware, get a better antenna with a higher gain amplifier. We do need to handle these reception issues more gracefully and are looking into it.

I think it would be great if the Plex client had a way to cimmunicate to the end user of a poor signal quality issue. I’ve seen it for live TV, with a toast type message that says “Weak Signal.” But if there was a way to show that in the recording scheduler that a weak signal caused the recodring to fail would be ideal in my mind.

@rouq, thank you for the awesome feedback and suggestions. I’m going to revisit my own setup and pass your suggestions off to the DVR team.

@yooshaw said:
I think it would be great if the Plex client had a way to cimmunicate to the end user of a poor signal quality issue. I’ve seen it for live TV, with a toast type message that says “Weak Signal.” But if there was a way to show that in the recording scheduler that a weak signal caused the recodring to fail would be ideal in my mind.

Thanks for the suggestion, also passed this along to the DVR team.

Why not just increase the timeout on the weak signal? Say like a few minutes. I get quick drops on my Antenna due to Airport traffic over my house. This should not cause a recording to fail. It didn’t in < 1.7. OTA users will constantly be burned otherwise.

I’m not a codec engineer, so maybe I’m miss understanding a few things, but it seems like Plex needs to take another look at why the TS file format was created for broadcast TV in the first place. It has specific features that other formats don’t have to help rapidly recover from glitches or drops in the stream.

What is Plex doing to the native stream that is necessary for rebroadcast to the live view clients. Why can’t they just record the RAW transport stream like they were doing in v1.6.1 and maintain the error resilience built into it? Then just send that out for any clients that want it.

From what I understand, every packet in the TS stream has a time stamp so even if packets are too bad to use it should be able to either ignore or fill in the gaps and move to the next good packet.

Getting my information from here:

@kamererhouse said:
I’m not a codec engineer, so maybe I’m miss understanding a few things, but it seems like Plex needs to take another look at why the TS file format was created for broadcast TV in the first place. It has specific features that other formats don’t have to help rapidly recover from glitches or drops in the stream.

What is Plex doing to the native stream that is necessary for rebroadcast to the live view clients. Why can’t they just record the RAW transport stream like they were doing in v1.6.1 and maintain the error resilience built into it? Then just send that out for any clients that want it.

From what I understand, every packet in the TS stream has a time stamp so even if packets are too bad to use it should be able to either ignore or fill in the gaps and move to the next good packet.

Thanks for the feedback. I’ve passed it on to the DVR team. My understanding is that the raw transport stream wouldn’t work for things like tuner sharing and time shifting. We need to use segmentation so that users can start recording, then jump in and start watching it, and be able to jump around the stream.

@laxdragon said:
Why not just increase the timeout on the weak signal? Say like a few minutes. I get quick drops on my Antenna due to Airport traffic over my house. This should not cause a recording to fail. It didn’t in < 1.7. OTA users will constantly be burned otherwise.

I don’t believe it’s a timeout thing. My guess is that the transcoder doesn’t quite complete the segment properly when it’s corrupted for whatever reason. Back when we were just pulling the raw stream, it didn’t matter, but now with segmenting, if there’s an issue with one segment not completing it’ll cause issues. @vlang should be able to elaborate further on this.

@kinoCharlino said:

@kamererhouse said:
I’m not a codec engineer, so maybe I’m miss understanding a few things, but it seems like Plex needs to take another look at why the TS file format was created for broadcast TV in the first place. It has specific features that other formats don’t have to help rapidly recover from glitches or drops in the stream.

What is Plex doing to the native stream that is necessary for rebroadcast to the live view clients. Why can’t they just record the RAW transport stream like they were doing in v1.6.1 and maintain the error resilience built into it? Then just send that out for any clients that want it.

From what I understand, every packet in the TS stream has a time stamp so even if packets are too bad to use it should be able to either ignore or fill in the gaps and move to the next good packet.

Thanks for the feedback. I’ve passed it on to the DVR team. My understanding is that the raw transport stream wouldn’t work for things like tuner sharing and time shifting. We need to use segmentation so that users can start recording, then jump in and start watching it, and be able to jump around the stream.

Explain segmentation. Is that breaking the stream up into individual files at each “packet”?

At this point is it still helpful to post logs? I just had mine crash after the first few seconds of a show. I grabbed the log after it was finally over. Since it was so soon into the broadcast, the file is relatively small, and might be easier to analyze?

@kamererhouse said:
Explain segmentation. Is that breaking the stream up into individual files at each “packet”?

Segmenting is a standard part of streaming media, which is utilized by both MPEG-DASH and HLS and required for sharing currently recording programs, shared timeshifting buffers and upcoming feature work such as ABR, by allowing us to adjust the quality per segment. Many clients we support such as Web and HTML5 TV clients require this.

Here’s some additional reading from Wikipedia: Dynamic Adaptive Streaming over HTTP.

Can you add a setting to disable segmentation and use the old method? I’m willing to live without the features it provides to get Plex DVR stable again.

@bordershot said:
Can you add a setting to disable segmentation and use the old method? I’m willing to live without the features it provides to get Plex DVR stable again.

Or alternatively, can you save the raw feed alongside the segmented version then just throw them both away after the final recording is saved. I don’t know if that would put to much strain on the HDD though. Surely it wouldn’t be any worse than 6 tuner DVRs.

I switched my server from a i5 Mac mini to a i7 Mac mini after noticing my cpu usage was near 80% when watching live tv. Ever since the switch I haven’t had any stuck recording issues. Now a live stream is using 30%. Before nearly 75% of recordings were getting stuck. It could be a million things besides the processor including a fresher os install but now 1.93 is working flawlessly with my ota antenna. Just for another data point.

@bordershot said:
Can you add a setting to disable segmentation and use the old method? I’m willing to live without the features it provides to get Plex DVR stable again.

@kamererhouse said:
Or alternatively, can you save the raw feed alongside the segmented version then just throw them both away after the final recording is saved. I don’t know if that would put to much strain on the HDD though. Surely it wouldn’t be any worse than 6 tuner DVRs.

We’d rather allocate engineering effort toward fixing this bug. We get that this issue is a dealbreaker for many and it renders the DVR painful to use for those who experience this issue. We’re getting the priority for this issue raised so it can get more attention from engineering.

@jbdecker said:
I switched my server from a i5 Mac mini to a i7 Mac mini after noticing my cpu usage was near 80% when watching live tv. Ever since the switch I haven’t had any stuck recording issues. Now a live stream is using 30%. Before nearly 75% of recordings were getting stuck. It could be a million things besides the processor including a fresher os install but now 1.93 is working flawlessly with my ota antenna. Just for another data point.

I bet it was the reinstall, fresh setup. Mine has been working flawlessly since Sunday when I removed/purged/reinstalled. I’m running on a 8yr old AMD athalon quad core and don’t have any issues recording. (To add to your data point)

@Kurnon said:

@jbdecker said:
I switched my server from a i5 Mac mini to a i7 Mac mini after noticing my cpu usage was near 80% when watching live tv. Ever since the switch I haven’t had any stuck recording issues. Now a live stream is using 30%. Before nearly 75% of recordings were getting stuck. It could be a million things besides the processor including a fresher os install but now 1.93 is working flawlessly with my ota antenna. Just for another data point.

I bet it was the reinstall, fresh setup. Mine has been working flawlessly since Sunday when I removed/purged/reinstalled. I’m running on a 8yr old AMD athalon quad core and don’t have any issues recording. (To add to your data point)

Ugh. Had some storms in Chicago today which caused some very slight picture quality issues. All recordings this afternoon are now stuck and gone. Been looking forward to ask this old house for the past few weeks too.

Is this the place to add my name to those affected with the bug?

I just started the DVR this week, and though I have pretty poor reception, it will record NBC, ABC, and episodes of Night Court during the day, but I get the 100% bug for prime time shows.

I have gotten separate error for attempting to record channels I thought I had reception for. Going to try SNL tonight, as NBC is the only somewhat reliable station. If I can post any additional info to help solve this, please let me know.

I just configured my first DVR recording and I have hit the 100% recording bug. Is it being addressed?