Here's a follow-up to my own post. Thanks go to rbautch and hichhiker and others for what I have learned about XML and TMF files. Not sure where else this info is or should go but I'll throw it into the pile. Perhaps an example like this exists elsewhere but I cannot find it. Is everyone inserting XML info some other easier way I'm not aware of????
I'm not using Tivoserver (because I cannot on the HR10-250), I'm using mfs_ftp but I don't know why Tivoserver or other apps to insert videos would not work. I'm not a great script writer, but these work.
SUMMARY: The attached XML example (must rename it to "showing.xml"!!!) works with .ty files which I converted from MPG to .ty with FFMPEG and upload into my HR10-250 using MFS_FTP.
MAKE A TMF FILE (see attached example in file splittar.sh):
a) Cut the video (already in .ty format) into pieces that are no more than 512MBytes in size. I use Cygwin split.
b) Name these parts "part00.ty", "part01.ty", etc... enough to contain the entire original .ty file.
c) Create a file "showing.xml" which contains the XML info that you want associated with this video (see below).
d) Create one .tmf file by using tar. My Tivo is picky about the order, perhaps they all are, I'm not sure: The file showing.xml must go first, then the 'parts' go last in ascending numerical order.
XML EXPLANATION: Keep the hierarchy as-is (i.e. the stuff in between each OBJECT and /OBJECT is one level) but change just a few values as you need to. Play around with a small file that uploads quickly to learn.
Explanation of fields that you must/should change per recording you want to upload:
1) Duration
Code:
<Duration>2894</Duration>
This value should be changed to match the length of the video, in seconds. When playing back the video, this value will appear to the right of the green bar, no matter how long the video really is! If there is less video data than this value, then the green bar will not fill its entire area. NOTE: I don't know what XML entry corresponds to the DURATION field when looking at the INFO for a video on the TV - I can never get this value to be anything other than 0:00 even though the green-bar value is correct.
2a) Date - Of upload/recording Change this value (see below) to be whatever date you want for the date the video was recorded. The NPL will sort-by-date on this value. This will also appear in the filename when viewed from mfs_ftp.
2b) Date - Air date
Code:
<OriginalAirDate>14230</OriginalAirDate>
Change this value (see below) to be whatever date you want for the original air date. It will appear in the INFO field but the NPL doesn't sort by this value. It doesn't have to be before the DATE value. This will also appear in the filename when viewed from mfs_ftp.
You can get both of these DATE values by entering your date (replace 12/17/2008) into this expression, in a Cygwin or Unix prompt (thanks to Hichhiker for this):
Code:
expr $(date -d"12/17/2008" "+%s") / 86400
3a) Folder / Directory control
Code:
<IsEpisode>1</IsEpisode>
<RootServerId>A0038c22c</RootServerId>
<ServerId>ATSH848609</ServerId>
<TmsId>SH848609</TmsId>
You need these if you want the file to upload into an existing directory (see rbautch's excellent guidance here). These values must be created by doing the steps in his post. Do not change these values, and the uploaded files will go into the right directories/folders. See also this link for more details.
4) Time of day recorded This value will be displayed as the time-of-day that the episode was recorded, in units of seconds. The NPL will sort on this value (and the date). This value is offset from midnight-GMT but takes into account your Tivo's TimeZone date. For example, I'm in the U.S. Pacific Time Zone, which is 8 hours behind GMT and so my offset starts at 4pm. So, a value of 3600 (i.e. 1 hour) corresponds to 5pm my Tivo. A value of 79200 (i.e. 22 hours) corresponds to 2pm the next day. This will also appear in the filename when viewed from mfs_ftp.
5) StreamFileSize
Code:
<StreamFileSize>2680962</StreamFileSize>
This value should be set to match the size of the file being uploaded, in Kbytes. I heard there can be problems when it's set too large (>32 bit integer) but have not tried that nor experienced them.
Others have found that mfs_ftp updates StreamFileSize when a file is inserted. Not sure about other apps.
6) Start and Stop time
Code:
<StartTime>80000</StartTime>
<StopTime>82984</StopTime>
(not too sure about these two) I think the StartTime is somewhat arbitrary, as long as it's larger than the Time value, above. The StopTime value should be set to StartTime plus the value of Duration.
7) TV Station Call Sign
Code:
<CallSign>bmc</CallSign>
You can put whatever text you like here. Not sure if there is a character limit, but I keep mine to 3 characters.
8) Title - [2 instances]
Code:
<Title>_Folder Name_</Title>
<Title>Put whatever Title you want</Title>
When under the SERIES object, this text will be changed by the Tivo to match the folder that the file goes into. When under the PROGRAM object hierarchy, this text will appear in the NPL.
That's all I know for now (and no, I haven't figured out my FFx1 problem yet).
-Sevron