immich-go icon indicating copy to clipboard operation
immich-go copied to clipboard

Support importing takeout data from YouTube

Open thecabinet opened this issue 1 year ago • 4 comments

Downloading your YouTube data as part of your Google Takeout gives you the following directory structure (relevant to Immich):

  • failed-downloads/* - Videos. Not sure what the failure is as these all play fine for me in VLC
  • videos/* - Videos
  • videos/Video Metadata.csv - Metadata and filenames for the videos in failed-downloads/ and videos/

Happy to send you a sample of Video Metadata.csv but it definitely includes a few noteworthy columns:

  • Channel Id - Should be used as the album name
  • Title - Should be used as the first line of the description
  • Time Created - Should be used as the timestamp, unless there's embedded
  • Description - Should be used as the rest of the description
  • Location Address - Not populated in any of my videos, but they're all about 10 years. I can try to upload some new ones for testing
  • Location Country - Ditto

thecabinet avatar Nov 30 '23 01:11 thecabinet

Why not. Is there a way to link a mp4 files with any line of the csv? Title, Time created and Description can be used.

simulot avatar Nov 30 '23 08:11 simulot

The title is the name of the video. Third line of the file I uploaded has the title "XXX shaking his head". That means there is a XXX shaking his head.mp4 in either videos/ or failed-downloads/.

Actually, I'll just try doing this myself since I want to support iCloud takeout as well. I've never done any golang but I'm sure I can figure it out from what's already there. Just need to do the same thing but for CSVs in a different directory structure. Just tell me my PRs are bad if they are :)

thecabinet avatar Nov 30 '23 18:11 thecabinet

The title is the name of the video. Third line of the file I uploaded has the title "XXX shaking his head". That means there is a XXX shaking his head.mp4 in either videos/ or failed-downloads/.

So, this will be simple

Actually, I'll just try doing this myself since I want to support iCloud takeout as well. I've never done any golang but I'm sure I can figure it out from what's already there. Just need to do the same thing but for CSVs in a different directory structure. Just tell me my PRs are bad if they are :)

What a good idea! Contact me on discord.

simulot avatar Nov 30 '23 18:11 simulot