cDima / Aerial

Aerial Apple TV screen saver for Windows
1.97k stars 181 forks source link

Video Freeze? #82

Closed Dezrox closed 7 years ago

Dezrox commented 7 years ago

Hello, and first let me thank you for adapting this for Windows. These videos are gorgeous and I can't wait for this to work well on my machine.

So the issue is, during video playback in screensaver mode, they will randomly freeze. I have not identified any sort of pattern here. Sometimes a video will complete and the next will play, but most often it will freeze before 5 mins. I have never come back to my PC after AFK and found the screensaver still playing.

I have downloaded all the video files from apple and stored them in the .../AppData/local/Aerial folder (34 videos totaling 5.3Gb, all of which play just fine in Windows Media Player).

I'm on Windows 10, 64-bit possessor. I can't be the first to have this issue, but I have made sure to follow your FAQ: "Try to install Windows Media Player via Turn Windows features on or off in the control panel"

This has not helped the issue :(

cDima commented 7 years ago

There's no issues with your internet connectivity ever? I would probably try to solve this with logging the networking or operations done in the app (there's very little) into a log, so we can know which step the video fails on. As you see in the code we never explicitly stop or pause a video, we only make a playlist and let it roll.

Another issue may be third party software like a antivirus stopping a file operation, or perhaps permissions to read the files from the cache folder if they have weird permissions.

Dezrox commented 7 years ago

Nope, wired Internet with plenty of speed. But like I say, I've already downloaded the videos to eliminate any streaming issues (maybe that works or not, I'm not code-savvy).

Your suggestion of logging the networking or operations sounds like it would help identify the problem, but I have no idea how one would do that (see above).

I think it is likely there may be another application or some permissions which may be interrupting the playback. Although, none of the standard Windows screensavers have interruption issues.

Would there maybe be a way to tweak the application to only pull from the .../AppData/local/Aerial folder rather than searching the internet? If I could do that, it should limit the variables and help get to the root of the problem... perhaps.

Thanks for the response,

cDima commented 7 years ago

No such way of using only cache. Do you have multiple monitors? Are you using the latest version?

I would recommend removing all the other files from cache, taking one small clip (any .mov file) and cloning it to be named as all the other files in the cached folder, then taking it for a spin. This would eliminate any erroneous files if they were corrupt for any reason, and would set same file permissions across all files. Or set a playlist with all files in WMP and let that spin in the background, to check if corruption is at the end of the files (not sure how you checked if they all open fine in WMP, we'll need to verify it to the end).

Probably 80% that it's a code issue, where we're hitting the network and trying to seek a file from the file system that may be in use. We'd need to code up logging into it to diagnose further.

Thanks.

Dezrox commented 7 years ago

I only tested on one monitor, but I will check tonight about the version.

If my installed version is current, I'll try running through your suggested steps above. I have watched most of the video files through completion in WPM, but have not tried to make a playlist yet. I'll give that a shot as well and let you know what I find.

alistairmcmillan commented 7 years ago

@Dezrox A quick way to confirm the integrity of the downloaded files is to use HashCheck or another application that checks SFV files.

For example, install HashCheck, drop the txt file attached below into the same folder as the videos, rename the file "aerials.sfv" (GitHub only allows a few select file extensions) and then double-click the file. HashCheck should launch, compare the files and confirm whether they match or not.

This way at least you'll know if the downloaded MOV files are okay.

aerials.txt

2016-11-30 19_51_00-aerials sfv

Dezrox commented 7 years ago

Update: I've run the HashChecker as @alistairmcmillan suggested, all files check out and there are no unreadable files, so that isn't it.

Also, I noticed that the files all freeze at the very end. Basically, it will load one file and play it entirely, but won't load another after that. In screensaver mode, this results in a freeze-frame. In .exe mode, it results in a black screen.

I even tried changing the default program for .mov files to be WMP, but that didn't do anything.

Still haven't tried what you suggested about making a playlist or dumping cache, renaming copies and testing multiple videos.

gnurdgnurd commented 7 years ago

Experiencing the same issue as @Dezrox on a Thinkpad W10Pro machine. SS plays one video and then freezes. Also installed yesterday on a Lenovo Y700 gaming machine with W10 and same result.
Thanks.

chrisrlong commented 7 years ago

I can confirm i have a similar issue, 1 video will play then the screensaver will pause/hang rather than playing another video.

cDima commented 7 years ago

@Dezrox @chrisrlong @gnurdgnurd found the issue, please try the 5.1 release: https://github.com/cDima/Aerial/releases/tag/v5.1

Dezrox commented 7 years ago

Ok, well I am getting a bit sleepy now, but I just sat through a few previews to see if it was working. Unfortunately not quite, but I do have some feedback. I did 3-4 tests and here are my findings: (first, I did remove the old version and all cached video files and everything, starting over from scratch)

  1. First video plays on screensaver, this will play for 5mins. If the first video is shorter than 5 mins, it will freeze-frame at the end and just sit and wait until the timer reaches 5 mins. If the first video is longer than 5mins, it will get cut off at the 5min mark....

  2. Then the second video will load and play. This video will play to completion and freeze frame at the end. The third video does not load at the 10min mark, it just sits frozen.

I only tested the screensaver not the exe file. Will let you know more if I have the patience to sit through more tests.

Dezrox commented 7 years ago

Just had a quick realization, that '5min' mark I mentioned is because my screensaver is set to start after 5mins of inactivity (see image). When I changed it to 1min, the first video will be cut off after 1min, then the second video will play to completion. Still no third video. image

chrisrlong commented 7 years ago

Hi @cDima, sadly this new version has not changed anything for me. The screensaver will start and play the first video just fine. However the screen will freeze and not play a second video.

Changing the screensaver timer made no difference to my experience.....

gnurdgnurd commented 7 years ago

Hi @cDima , tried the new build on 3 different laptops and froze as well. thanks for trying.

cDima commented 7 years ago

@gnurdgnurd @chrisrlong apologies gents, I verified the code and fix today, it works on my machine - the uploaded .zip file contained an old version for release 5.1. I've uploaded a new .zip, sorry about that. See if this fixes it - https://github.com/cDima/Aerial/releases/tag/v5.1 zip "AerialScreenSaverV3.zip"

chrisrlong commented 7 years ago

@cDima Great work! This copy is indeed fixed for me. Many thanks

gnurdgnurd commented 7 years ago

Updated this morning as well. @cDima it works well now! Thank you!!!

Dezrox commented 7 years ago

@cDima Wonderful, it's finally running smoothly. Thanks so much!