Yeah it probably does not like the .db extension in particular, probably just filtered by default.
I threw the below together which just exports a .txt file from a dummy one I grabbed. If you are comfortable enough to install Python you can place the freetube db in a folder with this this "playlist.py" file and run it. It will generate one playlist .txt file per playlist in your .db file (it will skip playlists that are empty like favourites if you have not added videos.)
Python:
import json, os
if __name__ == "__main__":
pldb = {}
for n in os.listdir(os.curdir):
if "freetube-playlists-" in n:
fname = n
with open(fname, "rb") as file:
for line in file.readlines():
d = json.loads(line)
pldb[d['playlistName']]=d
for pl in pldb:
vlist = []
if len(pldb[pl]["videos"]) == 0: continue
for v in pldb[pl]['videos']:
vlist.append(v['videoId'])
with open(f"playlist-{pl}.txt","w") as output:
for v in vlist:
output.write(v+"\n")
Basically:
Install Python
Copy your free-tube-playlists.db into a folder.
Place the above into a python .py file into the folder with the playlists.db
Run the file, it should output a "playlist-<playlistname>.txt" for each playlist in your .db
You can then use that text file as an argument to
Code:
yt-dlp --batch-file <file>
This does not check for newest file, it just assumes the only one it finds is correct. So delete your db file after running it and export another for subsequent runs I guess.