sircharlo / meeting-media-manager

A cross platform app to download and present media (pictures and videos) for congregation meetings of Jehovah’s Witnesses in any language. Features include recurring and custom media management, congregation sync, and media presentation tools for hybrid, in-person or fully remote Zoom meetings.
GNU Affero General Public License v3.0
133 stars 24 forks source link

[Feature]: Quickly add a video from JW.org #1425

Closed sircharlo closed 1 year ago

sircharlo commented 1 year ago

Is your feature request related to a problem?

When a video needs to be downloaded from jw.org and added to a meeting's media (for example, Governing Body updates), this needs to be done manually. This process could be simplified greatly.

Describe the solution you'd like

When clicking on a day's tile, a new category could be added to the existing "Song", "Custom" and "JWPUB" ones. It could be called something like "JW.org Video". This category would automatically list videos from JW.org in the target and fallback languages. Rather than listing all videos (could be overwhelming), the "latest and featured" video feed could be used, seeing as videos that will be used during upcoming midweek meetings are added to this feed automatically.

Describe alternatives you've considered

Downloading videos manually also works, but automating the process would allow for the fallback language logic to be used, for the file name to be consistent with other meeting media, as well as for automatic subtitle retrieval.

Additional context

Perhaps something similar to this snippet I once wrote could be adapted to populate the video list?

      $.getJSON("https://b.jw-cdn.org/apis/mediator/v1/categories/" + lang + "?detailed=1&clientType=www", function(videoTypes) {
        let guids = [];
        for (var videoType of videoTypes.categories) {
          $.getJSON("https://b.jw-cdn.org/apis/mediator/v1/categories/" + lang + "/" + videoType.key + "?detailed=0&clientType=www", function(studioFeatured) {
            try {
              if (studioFeatured.category.media && studioFeatured.category.key !== "FeaturedLibraryLandingUnpubLangs") for (var featuredVideo of studioFeatured.category.media) {
                if (!guids.includes(featuredVideo.guid)) {
                  guids.push(featuredVideo.guid)
                  console.log(featuredVideo)
                  console.log(featuredVideo.files.slice(-1)[0].progressiveDownloadURL)
                  console.log(featuredVideo.images.wss.lg)
                  console.log(featuredVideo.title)
                }
              }
            } catch (err) {
              console.error(err)
            }
          });
        }
      })
mtdvlpr commented 1 year ago

I like it!

mtdvlpr commented 1 year ago

Which categories do you suggest we use? LatestVideos and FeaturedLibraryVideos or more?

Chipperchap commented 1 year ago

Oooo, Yes please!

I see a couple of issues though:

  1. What happens to the existing media that is replaced by the GB Update? Does it still "clutter" the media list? Or could M3 offer to remove it? (or perhaps grey it out?)
  2. How could a local event be handled where the GB Update media is delayed by a week? (Assembly for example)
  3. Would / could the replacement media be alerted to the M3 user at the previous meeting / previous week so that there is plenty of time to download / install for those of us blessed with super slow internet? (I am supposing that the A/V Overseer would be responsible for this?)
    Perhaps when an announcement is made that a GB Update is to be played, there could be some kind of popup that appears when the "Update Media Folders" button is pressed that says something like: Please note: During the week of DD/MM there will be a [media] item, would you like to download it? Please select a week to insert additional media item [droplist]. Interestingly recently there was the option to not play the GB Update, but the BOE could decide to instead just have a program part dedicated to a review of the video instead. (We chose to just press play instead and truncate the CBS). Anyway, those are just some random thoughts... probably overthinking it and making unnecessary complications 😆
mtdvlpr commented 1 year ago

@Chipperchap, thanks for thinking along! I think you might be thinking about this feature in the presentation mode context. It would be a 4th option in the manage screen (where you can manage media days/weeks in advance).

  1. The media would just be added to the media list (similar to the add song feature). If you use a cong sync server, you can manually hide the replaced media though.
  2. The list with jw media would show the latest/featured items. Depending on the threshold, it would still be selectable a week later. You could also add the media to the correct week earlier in advance.
  3. I'm not sure this would be super beneficial. If you want, you can download multiple weeks in advance. For example, after each meeting, you could download the next week already.

@sircharlo, anything I missed or got wrong?

sircharlo commented 1 year ago

@Chipperchap, thanks for thinking along! I think you might be thinking about this feature in the presentation mode context. It would be a 4th option in the manage screen (where you can manage media days/weeks in advance).

  1. The media would just be added to the media list (similar to the add song feature). If you use a cong sync server, you can manually hide the replaced media though.
  2. The list with jw media would show the latest/featured items. Depending on the threshold, it would still be selectable a week later. You could also add the media to the correct week earlier in advance.
  3. I'm not sure this would be super beneficial. If you want, you can download multiple weeks in advance. For example, after each meeting, you could download the next week already.

@sircharlo, anything I missed or got wrong?

Yeah, seems right to me. We can't automate everything, right? The AV operator needs to do something! 😋

Chipperchap commented 1 year ago

I like that idea. As soon as we find out a media item is to be used and replace MWB items, the replacement item could be downloaded in anticipation of the selected week. Such a simple and effective idea!
For me in my current role in the congregation, trying to remember all upcoming events and changes etc. can be really challenging, so I am really grateful for such resources as these - thank you and well done! (Looking forward to a test run 😁.)

mtdvlpr commented 1 year ago

@Chipperchap, you're in luck. This feature is included in the latest Zoom Integration test version :)