Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exercism Stories Image Script #151

Open
jonathandmiddleton opened this issue Nov 15, 2022 · 4 comments
Open

Exercism Stories Image Script #151

jonathandmiddleton opened this issue Nov 15, 2022 · 4 comments

Comments

@jonathandmiddleton
Copy link
Contributor

jonathandmiddleton commented Nov 15, 2022

This issue outlines a process for uploading, storing and accessing the assets required for the distribution of Exercism Stories to major streaming platforms.

The Current Process
The process of getting all of the different aspects (listed below) together for a podcast typically takes half a day (once the recording is complete). I've sought to clarify the process in detail. Any feedback or ways to optimise are welcome.

  • Once I've completed the interview with a member of the Exercism community, the video and audio is downloaded and edited for Youtube and Podbean (Podcast distribution platform).
  • A thumbnail is created in Canva and downloaded.
  • The edited video and thumbnail is uploaded to Youtube and set as 'unlisted'. All the video information is added.
  • The transcription is generated by @ErikSchierboom using Whisper.ai when I send through the WAV file
  • I edit the config.json file in the exercism/blog repo with the following information and create a PR that is reviewed and that populates the Exercism Stories page -> see example here
      "uuid": "2063c743-98c2-4c6f-84b5-14d3f72da929",
      "slug": "dont-be-too-productive",
      "title": "Don't Be Too Productive!",
      "blurb": "blah blah"
      "published_at": "2022-11-20 12:01",
      "length_in_minutes": 50,
      "thumbnail_url": "",
      "image_url": "https://test.org/image.png",
      "interviewer_handle": "jonathandmiddleton",
      "interviewee_handle": "junedev",
      "youtube_id": "0k2MOVU8ZtI"
}
  • currently, I send @ErikSchierboom the thumbnail, WAV file for the transcript and ask Erik to review the PR I create with the updated config.json.

What is Needed

  • currently, we need a way for me (Jonathan) to upload the thumbnail, transcript and other details to S3 in order to populate the config.json file with the relevant links for the different assets (thumbnail, transcript markdown file)
  • clarify on the purpose of the image_url - currently it is not implemented
  • ways to free up Erik's time.

@iHiD what do you think the process should be in light of all the various priorities.
@ErikSchierboom is this an adequate description of what is required?

@ErikSchierboom
Copy link
Member

@iHiD We also need to decide what format to store the thumbnails in. They're currentl huge (2550x1440 or something like that)

@ErikSchierboom
Copy link
Member

@iHiD Do we want to store all images as jpegs or as pngs? I see that the existing files are all jpegs, but Jonathan's file is a png.
And do you manually upload the image?

@iHiD
Copy link
Member

iHiD commented Nov 16, 2022

Currently, I take the image, put it through squoosh and get JPGs (MozJPEG to be precise) at about 85% quality. PNGs are too big files for photos. (See settings below). I then upload to s3 and put the URL in the config.

I'd suggest that a script looks checks PRs for files in a certain directory and if it finds them, puts them through squoosh, uploads to s3 (we probably want to set the filename to the slug of the dir) and deletes the original file in the PR. Then sets the image_url to that predictable path with the correct filename.

Screenshot 2022-11-16 at 11 31 30

@jonathandmiddleton
Copy link
Contributor Author

@ErikSchierboom could I create a folder and add the images to that folder for the script to process?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants