Would you mind sharing how VAP gets Beyond TV metadata from MP4 files?

stevehiner

New member
First off, I was hoping to use VAP to copy the Beyond TV metadata from one MP4 into another MP4 since VRD doesn't do that automatically with MP4s. When looking into VAP it's designed to auto-process (of course) so I didn't see a way to have it just copy the metadata after I manually edit a file. Is there any way in VAP (even better if by command line) to tell it to just copy the metadata?

Alternatively I'll just write an app or powershell script that copies the metadata. I tried to do that using taglib-sharp but it tells me the Beyond TV MP4 file is corrupt so it won't extract the metadata. Would you mind sharing how you get the metadata out of Beyond TV created MP4 files? Did you use an opensource tag reader or did you write something custom? I wouldn't expect you to share your code but I was hoping maybe you found an existing tag reading library that doesn't choke on Beyond TV's files.
 

dlflannery

Moderator
VAP. a C# .net program, runs Atomic Parsley, a free command-line program, to both read and insert metadata from/to .mp4 files. There is nothing that secret about how it does it, just too detailed to describe in a few words. I will gladly support your efforts with more details as appropriate.

VAP can also automate running either VRD adDetective or ComSkip on files that appear in its hot (monitored) folder and pausing processing of each file to let you load the project file and adjust edits in the VRD GUI. Then automatically outputting the edited file with metadata-based folder and file names (if desired). Take a look at the first few sections of VAP-readme.pdf for more details. I will be glad to help you set that up if you want.
 

stevehiner

New member
Atomic Parsley is all I needed to know. Thanks a bunch.

I'm a C# programmer as well, I probably should have mentioned that.

I've previously written PowerShell code to extract and parse the Beyond TV metadata in mpg and TS files but wmv and MP4 store the data differently so I was never able to get to it.

I'm curious if anyone has figured out how to use VAP to process new BTV recordings to make them work better in Plex. I really love BTV for recording and watching but Plex is nice for streaming. If BTV recordings could be automatically formatted to make Plex happy it could be a very cool setup.
 

stevehiner

New member
I grabbed AtomicParsley and I'm able to read the Beyond TV metadata from the file. It looks like Beyond TV doesn't follow the MP4 spec by putting the custom data in a UUID atom. I tried using the --meta-uuid arg to insert data into Beyond TV's ssst field but the result doesn't seem to be the same as how Beyond TV does it.

Would you mind sharing an example command line for how to insert one of the fields used by Beyond TV?

The documentation for AtomicParsley leaves something to be desired. It's clearly very iTunes centric and Beyond TV doesn't appear to do things the iTunes way.
 

dlflannery

Moderator
Yes AP is old and not all that well documented. I just did some googling to see what else is out there and the situation looks the same as it has been for years: not much, at least not much with a command-line interface. Things I've looked at include mp4box and mp4v2. There is a not-free-but-cheap program called MetaX that looks impressive but AFAIK has no command-line interface.

VAP doesn't read or set the ssst field, which I gather is either the series or show title (??). If AP handles it, it must be an undocumented feature.

I ran one movie and one series show through VAP and generated the command-line options it feeds to AP for insertion in the output .mp4 files, which are attached.

I run Plex server on my PC and use the Plex Client app on my Fire TV. When the output .mp4 files generated above were put in the Plex library folders they worked fine in the Plex client, and it was obvious Plex had looked up additional metadata beyond what was inserted in the files by AP/VAP. Note that I used the metadata-based output file renaming feature in VAP to name the output files in a format that Plex liked.

What purpose do you need the other BTV tags like ssst for? Maybe you can use the tags already demonstrated to work, per my examples?
 

Attachments

stevehiner

New member
Thank you so much.

I have no particular need for tags like ssst, I just want to be able to edit MP4 files in VRD that were created with BTV and have them usable in BTV afterward. As long as BTV reads the tags and uses them to identify the show then I don't care technically how it's done. I'm guessing your sample output will be exactly what I need. Hopefully BTV can work with the standard iTunes tags, otherwise I'll have to dig a bit more to find out how to put in BTV's weird tags.

I'm encouraged that you use Plex and it seems compatible. I like Plex but never dug too deeply into it because I don't want to give up BTV as the frontend. Now I think VAP could be used as a sort of middleware for me to get a fully working Plex system setup as a streaming backend to BTV.
 

foosatraz

New member
FYI, the version of AtomicParsley on SourceForge is very old.

The newest version I could find was a branch on bitbucket:
https://bitbucket.org/wez/atomicparsley

I submitted a change that got accepted back in 2014 to support iTunes 11. But a number of other changes were made since the SourceForge version stopped being updated.
 
Top Bottom