PDA

View Full Version : Migrate BeyondTV metadata into Media Center file



foosatraz
December 8th, 2010, 10:02 PM
I am trying to convert .tp files created by BeyondTV from an Over The Air (OTA) ATSC tv channel for use in Media Center (Windows 7). I can successfully create MPEG2 WTV, MPEG2 DVR-MS, and H.264 WTV files.

While the files play fine, they just show up by file name. Media Center 7 does not seem to know the eposide, tile, date aired, or any of that information.

Is there any way for VideoReDo to convert the BeyondTV metadata and embed it into the .wtv or .dvr-ms file so that Media Center 7 understands this information?

Thank you!

dlflannery
December 9th, 2010, 08:34 AM
I believe forum member tannebil is doing exactly the same thing. VAP (link in signature) has metadata features that address your issue. I suggest you PM him to determine if you actually have the same process and how he uses VAP to address the metadata issues. (I don't use BTV.)

VAP features (added at tannebil's request) include:

Parsing the video file name to get series title, season and episode number.
Using these keys to get more complete metadata using theTVDB.com.
Creating a BTV XML metadata file.

foosatraz
December 9th, 2010, 09:04 AM
Thank you for the response!

It looks like the VAP tool uses TVDB.com to lookup the metadata to embed in the file. My .tp files already have the metadata that I trust.

I wanted to know if there was a way to use that data, that is already there, instead of looking up new data.

dlflannery
December 9th, 2010, 10:12 AM
VAP will insert metadata in WTV and DVR-MS output files provided in can get the metadata, either from the input file or via theTVDB.com.

VAP reads metadata from .tivo, .mp4, .m4v, .wtv and .dvr-ms input files but not from .tp files. However if a command-line utility can be found that will read the metadata from .tp files, this could be integrated into VAP.

Could you either:
1. Load a .tp file into VRD, hit CTRL-L and copy/paste the file info into a post.
(or)
2. Run MediaInfo (highly recommended, free) on a .tp file, switch to "text" view, then copy/paste the info here

This info might help me find a way to read the metadata.
TIA.

dlflannery
December 9th, 2010, 12:16 PM
foosatraz,

See this post in the VAP thread (http://www.videoredo.net/msgBoard/showthread.php?p=84393#post84393). Do you know anything about the BTVMetaData utility?

foosatraz
December 9th, 2010, 07:37 PM
dlflannery,

I grabbed a 4 minute recording of PBS Curious George in HD OTA on BeyondTV today.

Below is the data from those two utilities. I will try out the BTVMetaData utility next.

Thanks!


Here is what I see with VRD CTRL-L:

File: Name : C:\Users\Paul\Videos\george\Curious George-(George and Marco Sound It Out; A Monkey's Duckling)-2010-12-09-0.tp
Size : 0.480 GB
Duration : 00:04:58.18
Mux type : TS Stream
TSMuxRate : 11.289 Mbps
Video: Encoding : MPEG2
VideoStreamID : x31
Frame rate : 29.97 fps
Encoding size : 1920 x 1080
Aspect ratio : 16:9
Header bit rate : 24.000 Mbps
VBV buffer : 976 KBytes
Profile : Main@High
Progressive : Prog or Int
Chroma : 4:2:0
Bit rate : 12.382 Mbps
Audio Stream: 1 (Primary) Codec : AC3
Channels : 2.0
Language : eng
PID : x34
PES Stream Id : xBD
Bit rate : 384 Kbps
Sampling rate : 48000
Sample size : 16 bits



Here is what MediaInfo say:

General
ID : 0 (0x0)
Complete name : C:\Users\Paul\Videos\george\Curious George-(George and Marco Sound It Out; A Monkey's Duckling)-2010-12-09-0.tp
Format : MPEG-TS
File size : 458 MiB
Duration : 4mn 58s
Overall bit rate : 12.9 Mbps

Video
ID : 49 (0x31)
Menu ID : 3 (0x3)
Format : MPEG Video
Format version : Version 2
Format profile : Main@High
Format settings, BVOP : Yes
Format settings, Matrix : Default
Codec ID : 2
Duration : 4mn 58s
Bit rate mode : Variable
Bit rate : 11.7 Mbps
Nominal bit rate : 24.0 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 29.970 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Interlaced
Scan order : Top Field First
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.189
Stream size : 418 MiB (91%)

Audio #1
ID : 52 (0x34)
Menu ID : 3 (0x3)
Format : AC-3
Format/Info : Audio Coding 3
Mode extension : CM (complete main)
Codec ID : 129
Duration : 4mn 58s
Bit rate mode : Constant
Bit rate : 384 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Compression mode : Lossy
Video delay : -176ms
Stream size : 13.7 MiB (3%)
Language : English

Audio #2
ID : 53 (0x35)
Menu ID : 3 (0x3)
Format : AC-3
Format/Info : Audio Coding 3
Mode extension : CM (complete main)
Codec ID : 129
Duration : 4mn 58s
Bit rate mode : Constant
Bit rate : 96.0 Kbps
Channel(s) : 1 channel
Channel positions : Front: C
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Compression mode : Lossy
Video delay : 12ms
Stream size : 3.41 MiB (1%)
Language : Spanish

Text #1
ID : 49 (0x31)608-1
Menu ID : 3 (0x3)
Format : EIA-608
Muxing mode : A/53 / DTVCC Transport
Muxing mode, more info : Muxed in Video #1
Duration : 4mn 58s
Stream size : 0.00 Byte (0%)

Text #2
ID : 49 (0x31)1
Menu ID : 3 (0x3)
Format : EIA-708
Muxing mode : A/53 / DTVCC Transport
Muxing mode, more info : Muxed in Video #1
Duration : 4mn 58s
Stream size : 0.00 Byte (0%)

foosatraz
December 9th, 2010, 08:03 PM
dlflannery,

Everything I read said that the BeyondTV metadata was in the file. Does the VRD CTRL-L and MediaInfo data show that to be false?

I was able to run BTVMetaData by doing:
BTVMetaData.exe --mode=extract "C:\BeyondTVdata\Curious George-(George and Marco Sound It Out; A Monkey's Duckling)-2010-12-09-0.tp" --user=<my_username> --password=<my_password>

It generated a file called:
curious george-(george and marco sound it out; a monkey's duckling)-2010-12-09-0.xml

<?xml version="1.0" encoding="utf-8"?>
<episode-properties>
<property name="Recommendation">False</property>
<property name="FileFormat">MPEG-2 Transport Stream</property>
<property name="TSIndexFilename">G:\BeyondTVShows\ts0.index.dat</property>
<property name="Title">Curious George</property>
<property name="StationCallsign">WGBHDT</property>
<property name="EpisodeDescription">When the bandstand is torn down, George and Marco search for a place for the band to play; George waits for ducklings to hatch.</property>
<property name="TargetStart">129364002000000000</property>
<property name="UniqueChannelID">000020000100019000000028055</property>
<property name="EpisodeTitle">George and Marco Sound It Out; A Monkey's Duckling</property>
<property name="EPGID">EP8466780073</property>
<property name="InProgress">False</property>
<property name="ParentGUID">4d57ec7b-66ee-46b6-adca-74e8d0b261e9</property>
<property name="Description"></property>
<property name="OriginalAirDate">20100906</property>
<property name="DisplayTitle">Curious George</property>
<property name="DVDReady">True</property>
<property name="MovieYear"></property>
<property name="Editable">TRUE</property>
<property name="Channel">19</property>
<property name="Actors">William H. Macy, Frank Welker</property>
<property name="TargetDuration">18000000000</property>
<property name="ActualStart">129364018206129296</property>
<property name="Rating"></property>
<property name="Genre">Children / Educational / Science / Animated</property>
<property name="FullName">G:\BeyondTVShows\Curious George-(George and Marco Sound It Out; A Monkey's Duckling)-2010-12-09-0.tp</property>
<property name="ReadOnly">False</property>
<property name="Managed">False</property>
<property name="Name">Curious George-(George and Marco Sound It Out; A Monkey's Duckling)-2010-12-09-0.tp</property>
<property name="Folder">BeyondTVShows</property>
<property name="Length">480446108</property>
<property name="LastWriteTime">129364021246129296</property>
<property name="LastExistsTime">129364021958941796</property>
<property name="Added">129364018206598046</property>
<property name="AddedBias">300</property>
<property name="Duration">2985600000</property>
<property name="UserID">976743cd-01e0-4938-87a6-0be30e47c932</property>
<property name="TZBias">300</property>
<property name="SrtExists">False</property>
<property name="DisplayText">Curious George - George and Marco Sound It Out; A Monkey's Duckling</property>
<property name="SortableName">Curious George</property>
<property name="SortableTime">129363838206129296</property>
<property name="Watched">True</property>
<property name="LastPosition">0</property>
</episode-properties>

dlflannery
December 10th, 2010, 12:01 AM
foozatraz, thanks for the data.

I also think the metadata is in the file. The utility seems to be pulling it out in an easily decipherable form. I'm slightly disappointed that it needs a user name and password. If I incorporate it into VAP, I will have to add entry boxes in the GUI for those items -- not a big problem.

It looks quite doable. Also possible would be a stand-alone program that would take the output from BTVMetaData as input and insert the metadata into a WTV or DVR-MS file. This program could also run BTVMetaData so the user would only have to run one program.

The stand-alone program would be a good first step toward integrating this into VAP. If you are interested in this (and thus willing to help test it), I will do it. In that case I will probably want several more examples of the files output by BTVMetaData, including one for a movie.

BTW, your .tp file name format appears identical to that for which the VAP file name parsing (template-based) was first developed and tested by tannebil. Thus I'm confident VAP could get metadata via theTVDB.com, which it would insert into output WTV or DVR-MS files.

foosatraz
December 10th, 2010, 09:35 PM
dlflannery,

Here is the actual command line that I ran:

BTVMetaData.exe --mode=extract --server=tvbox:8129 --user=my_username --password=my_password "C:\Users\Me\Videos\george\Curious George-(George and Marco Sound It Out; A Monkey's Duckling)-2010-12-09-0.tp"

So, I did have to connect to the BeyondTV server to extract the info. It doesn't seem to just be pulling it from the .tp file.

The user name and password are only necessary if you set up the BeyondTV software to require one. Additional user names can be added. So, you could make the user of your script add a BeyondTV user named "VAP" or something.

BTVMetaData.exe creates an .xml file in the same directory as the file it is evaluating. So, in the example above, it created curious george-(george and marco sound it out; a monkey's duckling)-2010-12-09-0.xml

With that in mind, it would be quite easy to pass that file to a stand-alone program to insert the metadata into a WRT or DVR-MS file. I would be very interested in this standalone program, and would be happy to test it. Let me know if you want the additional output attached here somewhere, or sent in some other method.

Thank you!

dlflannery
December 10th, 2010, 09:50 PM
Just zip about 3 xml files that represent a variety of videos, including a movie if possible, and attach to a post here.

Do you want the new program to run BTVMetaData -- or take an existing XML file as input?

tannebil
December 10th, 2010, 10:49 PM
The metadata is definitely not in the tp file but rather stored in BTV. If I update the metadata for a tp file in BTV it happens instantly while if I update the metadata for an mp4 file, the complete file gets rewritten. I can't test to be absolutely sure until Saturday as I'm traveling.

That said, I would assume that your tp files are named using BTV standard names which can be parsed by VAP and used to lookup the metadata in theTVDB. So why go to all the trouble to screw around with getting the metadata out of BTV? You could just do a QSF on them to ms-dvr or wtv format using VAP. I can give you my VAP parse masks for tp files on Saturday as well.

Bubblehead
January 16th, 2012, 01:37 PM
I been using VideoReDo Auto-process for a few weeks and playing back the shows using BeyondTV. I output the metadata using the -metabtv switch and import the information with BeyondTV BTVMetaData.exe command line. Currently almost all the information is correct except for the Callsign which BeyondTV calls it StationCallSign and no channel line. Is it possible to update the parser to change the Callsign to StationCallSign and add the line call channel or the record channel number?