Incremental video does not work

From SuperMemopedia
Jump to navigation Jump to search

Summary

As of Dec 1, 2017, SuperMemo 17 for Windows, version 17.3, uses the new YouTube API in incremental video script. This means that all posts related to problems with upgrading to new YouTube API are no longer relevant. The posts will be retained for archiving purposes, and for users of older versions of SuperMemo.

SuperMemo 17.3 uses a script named YouTube.htm in place of the old yt.htm which you can now delete (folder \bin). The new script is a stub that runs the actual script from supermemory.info server.

Privacy: We do not collect user data while running the script. The change of execution mode was caused by a bug in YouTube API for which we received no feedback from Google support in 12 months. The dependence on the server can be changed with one parameter in the script. You can run this script from your own server.

If you want to use new YouTube API in older SuperMemos, you will need to substitute your yt.htm script with the new version (see: Workaround). There are few minor issues with handling keyboard shortcuts though. Those hiccups have only be fully resolved in version 17.3.

As of Jul 1, 2018, SuperMemo 15 Freeware, version 15.5, uses the new YouTube API

For more see: Incremental Video

Introduction

There seems to be an issue with Version=3 of YouTube player. Some videos tend to hang for 20 seconds before starting. The hang is hard enough to suspend SuperMemo (i.e. it is not possible to quit and move to other elements). There is a definite correlation between monetized videos and hanging. Videos that carry no advertising are free from the problem. There is a simple solution: If your script uses VERSION=3 of the player, change it to VERSION=2. The only thing you will miss is the full screen play (which you can accomplish anyway by going to source video). In SuperMemo 16, you can change the player version of each video using a learnbar menu option.

This problem started in early March 2013 and resolved several months later. In 2016, however, as YouTube API used in SuperMemo is being deprecated, player version=2 may still come to the rescue.

Problem

Each video piece in incremental video loads for 20 seconds. If I was watching 20 minute pieces, this would not be a problem. However, for short videos processed incrementally, this is TOTALLY USELESS. I might spend a great proportion of my time just watching a loading hourglass.

followup 1

Indeed there must be something wrong with my YouTube. Some of my videos just show as "This video is unavailable." in YouTube (not in SuperMemo). It is usually those videos that load slowly. Actually, sometimes, it is only SuperMemo I can view them in. Loading them again and again in IE brings the same error (always), while in SuperMemo, all I need to do is wait those never-ending 20 seconds and the video shows up (always) :)

followup 2

  • you are right, the fault must be with my ISP. I checked with my colleagues in the area, the one that uses another ISP is not affected
  • I have an impression a specific set of videos is affected. Perhaps they come from different servers at Yahoo and those servers do not communicate that well with my ISP?

followup 3

I noticed that if I play the video after opening the file with F9, it always plays instantly. Obviously, it does not help much because I would need to press F9 before it hangs, which means I would need to do it on each video.

followup 4

I upgraded to 25 Mbps and it does not help. I am now sure that only a subset of videos have this problem. Some videos always load instantly, others always need extra 20 seconds.

followup 5

I noticed that SuperMemo does not display ads that can be skipped in YouTube with Skip this ad in ... seconds. However, those videos that keep hanging up take approximately the same amount to hang as those ad videos (usually 20-25 seconds). The videos that do not hang do not show ads. Perhaps SuperMemo should simply display the ads to prevent the impression it is hanging or YouTube is malfunctioning?

Hints

  • At this moment, videos seem to be loading normally (i.e. nearly instantly). Please investigate if this is not an issue with your browser, router, modem, ISP, or network traffic. Unfortunately, issues with YouTube streaming are not unusual. Please see the speed test in your videos to get some answers. Test your internet connection speed, etc.
  • please investigate YouTube playback issues. There are dozen possible causes and solutions. Sometimes it makes sense to wait a day or two to see if the issue resolves on its own. Some of the most often mentioned solutions (please investigate on your own, this is not a professional advice):
    • update windows and IE
    • reset your modem
    • reset your router
    • ask your ISP
    • check another computer on the same network
    • check another computer with the same ISP
    • check another computer in the same area
    • run Take speed test in YouTube
    • delete temporary files in IE
    • reset your IE settings
    • reinstall Flash
    • reinstall Internet Explorer
  • you can easily debug network issues in incremental video scripts:
    • play a problematic video in SuperMemo
    • quit SuperMemo
    • open this file in Internet Explorer: <collection folder>\<collection name>\temp\YouTubeVideo.htm
    • press F12 for debug tools
    • click Network
    • refresh with F5
    • Start capturing
  • SuperMemo does not stop the playback of advertising. When adverts are skipped for playback in SuperMemo, it is the feature of the embedded YouTube player. The problem cannot be remedied by "removing the skip ad feature" because such a feature is not part of the SuperMemo script used to play YouTube videos.

Answer

There is a workaround that can mask this problem:

  1. Go to the yt.htm script source
  2. Find &enablejsapi=1&playerapiid=ytplayer&version=3
  3. Replace version=3 with version=2 (it works). You can also try to remove &version=3 so it looks like &enablejsapi=1&playerapiid=ytplayer (it has not been tested)


Notes:

  1. older version of the yt.htm script do not have this line
  2. removing version=3 will set you back to older YouTube player default
  3. older YouTube players do not have the full screen button
  4. older YouTube players tend to clog up memory if a short video extract plays many times (they tend to generate multiple Flash threads that do not get cleaned up)
  5. older YouTube players do not adjust the quality of video to your Internet connection speed (i.e. there is a greater chance the video will choke)

You need to balance the pros and cons of the old and new YouTube players by testing them in the context of your need. However, occasional slow loading seems to be a price worth paying for the features included in the newest version.

See also: Incremental video hangs up