Opened 14 years ago

Closed 14 years ago

Last modified 10 years ago

#790 closed enhancement (invalid)

mythvideo *.imdb metadata enhancements

Reported by: mythtv.cvs@… Owned by: Isaac Richards
Priority: minor Milestone: 0.19
Component: mythtv Version:
Severity: medium Keywords:
Cc: Ticket locked: yes

Description

Not sure if I should be doing this here.. but the ticket can always be canned if need be. ;)

Anyhow, I use MythVideo? with _many_ files. Approximately 2000 or so video files. It works well for the task, but I am not sure that there is any way to effectively keep metadata alive in a "good" way.

For example, let's say that I send an episode of Family Guy to a friend. Right now, there is no way to carry the meta-data with this file. This being the case, I have created a "filename.imdb" file, much like freevo had for meta-data.

However, the only purpose of this *imdb file is for backups and for transfers to other users. I have written a series of poorly coded and hastily slapped together scripts, used for over a year now, for the purpose of manipulating these files. They do:

  • conversion of freevo's metadata files, to .imdb files. Helpful for users that have seen the light ;)
  • use of the imdb.pl (minor enhancements) script which then stores the data in .imdb instead of in the database. This allows one to process literally hundreds of videos on the command line, with the imdb.pl script.. in about 15 minutes..
  • a script to read all *.imdb files recusively in a directory, purge the video database, and add everything back from these files
  • a script that works with an "incoming" directory in the video directory, making sure that all files in this directory are added to the database so that one may watch unprocessed files. Useful if one runs mldonkey or the like, and wants new incoming files to be added via a cron every 15 minutes...

Again, these scripts are rough, but are useful for me. Perhaps they can just be slapped in a contrib directory, and go from there. However, they also have been quite handy to everyone I know, that likes to transfer movies or videos to friends. After all, I've spent considerable time creating nice descriptions for downloaded TV series, including frame grabs for the "cover" image. Truthfully, most of this has been via wget (for descriptions from web sites) and some script magic, but time is always used in tidying up such things. Point being, other users must be wanting to transfer metadata with files. This gives them a .imdb file to do so, allowing that a picture, .idmb + .avi can be sent at once, then automatically incorporated with these scripts into the mythtv database.

Is there any way to add more of this functionality to mythtv core? There could be an "import" option provided in the MythVideo? database, which simply calls one of these scripts. Leaving them in a perl script provides easier modification for end users, if special circumstances on machines require it.

Is there any interest in this sort of thing?

Change History (6)

comment:1 Changed 14 years ago by kenny@…

It seems like this would work better if you would store it in a container format that supported the metadata such as Matroska.

I know Matroska supports tagging and it can be viewed here. http://www.matroska.org/technical/specs/tagging/index.html

comment:2 Changed 14 years ago by mythtv.cvs@…

Interesting.

However, after a brief look, it appears that this is not just a text file, but a real container as you mention.

I'm not willing to go that route, because I'm not (and I sincerely doubt others would either) willing to re-encode thousands of videos and such.

Matroska is something that I wouldn't mind my scripts parsing as _well_, but that's not what this is about. This is about taking existing avis, mpgs, you name it, and providing a transportable metadata format between Myth (and other!) users.

This is not about re-encoding my entire library, or asking others to do so, just so the metadata is transferrable.

comment:3 Changed 14 years ago by Isaac Richards

Resolution: invalid
Status: newclosed

Please use the mailing lists for feature discussions.

comment:4 Changed 10 years ago by anonymous

You do not have to _reencode_ your videos to put them into a matroska container. Remuxing is enough, and given that you already have the information in a computer readable format and that your video files are sane, this can easily be automated. Let's say you have 1000 videos in an avi container and 1000 imdb files with the corresponding metadata. All you need then is to write a script that takes your metadata and puts it into a valid matroska xml tag file (it has specified tags for almost all the info on imdb like title, actors/characters, director, year, summary, synopsis etc.), and use mkvmerge to mux it with the avi into a matroska container. If you also have subtitles and/ or movie poster(s) and/or additional audio tracks, you can add them as well. Besides having just one file containing all kind of information, the mkv container is also smaller then avi (less overhead), which would be noticable with 1000 files...

comment:5 in reply to:  4 Changed 10 years ago by anonymous

Replying to anonymous:

You do not have to _reencode_ your videos to put them into a matroska container.

It doesn't matter. No one is going to do all that work, except fanatics for mkv files. I agree that they are nice, and I see that much of the newer stuff is showing up that way.

None the less, it would be great to have a transportable file to go with video, to handle non-matroska based files.

Anyhow, it is moot. I have my own system of *imdb files and scripts that I use, so that if my database is wiped out, I can just reimport. I sincerely doubt that anyone will allow for the implmentation of this, so it is a dead duck.

It is sad, however. There is no easy way to a user to send a file to another user, outside of mkv files, and have metadata follow. Right now, that's still 99.9999999% of the files out there. As well, even if they did have a mkv file, Myth will not use that metadata anyhow...

comment:6 Changed 10 years ago by stuartm

Ticket locked: set

Trac is not a discussion forum.

Note: See TracTickets for help on using tickets.