2025-04-17, 07:02 AM
Many thanks, this might be starting to answer some questions I had around migrating from one Jellyfin install to another. I'll do some experimentation over the weekend and report back here for googlebility's sake. For now I'm all good; my playlists are all in Jellyfin and in the right order and editable, so thanks again for your help!
For the benefit of potential future searchers/readers: with my c30 playlists TheDreadPirate's semi-automated solution was fine*, if you've got thousands of playlists it would be cumbersome and ChatGPT had suggested uploading the playlists via Jellyfin's API and had drafted a python script that looked quite sensible (given a set of M3U files, a user ID, and API key to be got from the front end or from curl). I have absolutely no idea if this would have worked as I didn't end up trying it but i thought it might be worth a mention.
SC
-------
* ie (at least this is how I did it in April 2025 using the v10.10.4 web UI):
1. Place the M3U files in the Jellyfin music library somewhere with unquoted relative paths. (Hint: I prepended '#M3U_' to the M3U filenames to make them easy to spot later.). Suggest disabling real-time scanning of the library for this exercise.
2. Scan the music library and Jellyfin picks the M3U files up as read only playlists. Assuming all the M3U files are picked up correctly (and real time scanning is disabled), they can (and should) now be deleted / archived somewhere else.
3. For each '#M3U_xyz' playlist:
3.1 Click into the playlist listing page and copy its name without the '#M3U_' prefix from the title.
3.2 Click the three dots to the right of the playlist name and select 'Add to playlist'.
3.3 Select 'New' and paste in the playlist name you copied. Tick if you want the playlist to be public.
3.4 Click Add; this adds the whole #M3U playlist to a new editable one with the name you pasted. Note the number of tracks in the newly created playlist.
3.5 Navigate back to your '#M3U_' playlist (should just be the browser back button) and if the number of tracks matches then you can delete it.
For the benefit of potential future searchers/readers: with my c30 playlists TheDreadPirate's semi-automated solution was fine*, if you've got thousands of playlists it would be cumbersome and ChatGPT had suggested uploading the playlists via Jellyfin's API and had drafted a python script that looked quite sensible (given a set of M3U files, a user ID, and API key to be got from the front end or from curl). I have absolutely no idea if this would have worked as I didn't end up trying it but i thought it might be worth a mention.
SC
-------
* ie (at least this is how I did it in April 2025 using the v10.10.4 web UI):
1. Place the M3U files in the Jellyfin music library somewhere with unquoted relative paths. (Hint: I prepended '#M3U_' to the M3U filenames to make them easy to spot later.). Suggest disabling real-time scanning of the library for this exercise.
2. Scan the music library and Jellyfin picks the M3U files up as read only playlists. Assuming all the M3U files are picked up correctly (and real time scanning is disabled), they can (and should) now be deleted / archived somewhere else.
3. For each '#M3U_xyz' playlist:
3.1 Click into the playlist listing page and copy its name without the '#M3U_' prefix from the title.
3.2 Click the three dots to the right of the playlist name and select 'Add to playlist'.
3.3 Select 'New' and paste in the playlist name you copied. Tick if you want the playlist to be public.
3.4 Click Add; this adds the whole #M3U playlist to a new editable one with the name you pasted. Note the number of tracks in the newly created playlist.
3.5 Navigate back to your '#M3U_' playlist (should just be the browser back button) and if the number of tracks matches then you can delete it.