Spectrum 5.4 ReferenceGuide
Spectrum 5.4 ReferenceGuide
Software Release
Release 5.4
Notice
Information contained in this guide is subject to change without notice or obligation. While every effort has
been made to ensure that the information is accurate as of the publication date, Omneon, Inc., assumes no
liability for errors or omissions. In addition, Omneon, Inc.,. assumes no responsibility for damages resulting
from the use of this guide.
Company Address
Omneon, Inc.
1237 E. Arques Ave.
Sunnyvale, CA 94085-4701
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
The Omneon Spectrum™ System from Omneon, Inc., is a scalable storage architecture that combines
a SAN (Storage Area Network) and NAS (Network Attached Storage) and that is designed to take on
all creative challenges for today’s digital media applications.
This document provides reference material relating to the Omneon Spectrum System and its
components as follows:
• Introduction provides an overview of the Omneon Spectrum System documentation suite,
lists terms and conventions, and provides Technical Support information.
• Command Sets provides information regarding a variety of command sets and preroll
parameters for controlling Omneon MediaDirectors.
• FTP Server Implementation provides information regarding File Transfer Protocol (FTP)
server implementation on Omneon MediaDirectors.
Omneon SystemManager User’s Guide and • new features in the SystemManager release
Online Help System • system operations procedures
• system configuration procedures
• ClipTool installation and operation procedures
Omneon SystemManager Installation Guide • software installation and upgrade details
Omneon SystemManager Release Notes • last minute information regarding a product
release
Omneon Spectrum System Getting Started Guide • new features in this release
• system installation
• software installation and upgrade details
• licensing information
Omneon Spectrum System Hardware Orientation • orientation to system components including
Guide MediaDirector, MediaPort, MediaStore, and Sys-
temManager Platform
• troubleshooting system components
• specifications for system components
Omneon Spectrum System Protocol Reference • command sets and preroll parameters for con-
Guide (this guide) trolling Omneon MediaDirectors, Omneon
implementation of ftp server
Omneon Spectrum System Quick Reference • front and back panel views of Spectrum hard-
Guides ware components
• component LED assignments and legends
Omneon Spectrum System Release Notes • last minute information regarding a product
release
Omneon, Inc. 3
Available Media and Wrapper Formats
The Omneon Spectrum System supports the following compressed and uncompressed media
formats, depending upon the selected MediaPort:
• DV (25 Mbps)
• DVCPRO (25, 50 Mbps)
• DVCPRO HD (100 Mbps)
• MPEG-2 (various data rates and GOP structures)
• HDCAM
• DNxHD
• XDCAM-HD., XDCAM-EX
• HDV720
• 436M (VBI/VANC)
• DVB/ASI
• ITU-601 (Uncompressed)
• AES/EBU (48 kHz, 16 or 24-bits), AC-3 and Dolby™ E
Table 3 shows supported combinations of media wrapper formats and track types:
QuickTime MXF
QuickTime Self MXF OP1a MXF OP1b MXF OP1a OP0TypeA MXF OP1a
Reference Contained (Internal) (External) (eVTR) (External) Low Latency
MPEG-2 IMX 30, Both Both Both Both Both Both Both
40, 50
XDCAM-HD Both Play only Play only Play only N/A Play only Play only
HDV720p Both Play only Play only Play only N/A Play only Play only
XDCAM-EX Both Play only Play only Play only N/A Play only Play only
XDCAM-HD (50 Both Play only Neither Neither N/A Neither Neither
Mbps)
Neither Neither Both (VBI) Play only N/A Play only Both (VBI)
436M Play only Play only
(VBI/VANC) (VANC) (VANC)
Omneon's implementations of XDCAM-HD and XDCAM-EX are not RDD9 compliant. Hence, the
clips are not interoperable with Sony XDCAM-HD or XDCAM-EX devices. The clips are compliant
with several NLEs, including Final Cut Pro.
Table 4displays supported combinations of audio track types and media wrapper formats
AIFF (Big Endian) and WAV (Little
Wrapper Format Endian) AES3 8-bit A law
Omneon, Inc. 5
Technical Support
Omneon, Inc. provides many ways for you to obtain technical support. In addition to contacting your
Distributor, System Integrator, or Omneon Account Manager, you can contact the Omneon Technical
Support department as follows:
For support in the Americas:
• Telephone (Toll Free): +1(888) OVN SPT1 (686 7781)
• Telephone (Local): +1(408) 585 5200
• Fax: (408) 521 2191
• Email: [email protected]
• http://www.omneon.com/support
• ftp://ftp.omneon.com/Updates/Omneon/Current/
For support in Europe, Middle East, and Africa:
• Telephone: +44 1256 347 401
• Fax: +44 (0) 1256 347 410
• Email: [email protected]
• http://www.omneon.com/support
For support in China (mainland)
• Telephone: +86 10 5811 1949
• Fax: +86 10 5811 1951
• Email: [email protected]
• http://www.omneon.com/support
For support in Japan:
• Telephone: +81 3 5565 6737
• Fax: +81 3 5565 6736
• Email: [email protected]
• http://www.omneon.com/support
For support in Asia Pacific (other territories):
• Telephone: +65 6548 0500
• Fax: +65 6548 0504
• Email: [email protected]
• http://www.omneon.com/support
Omneon, Inc.
1237 E. Arques Ave.
Sunnyvale, CA 94085-4701
Omneon, Inc. 7
8 Protocol Reference Guide
CHAPTER 1
Command Sets
This section provides information regarding a variety of command sets and preroll parameters for
controlling Omneon MediaDirectors. Choose from the following topics:
• VDCP
• Sony Serial Protocol
• Setting Preroll Timing Parameters for Automation Systems Controlling Omneon
MediaDirector
VDCP
Choose from the following topics:
• CmdSystem (0x00) and CmdVarIdSystem (0x08)
• CmdImmediate (0x01) and CmdVarIdImmediate (0x09))
• CmdPresetSelect (0x02) and CmdVarIdPresetSelect (0x0a)
• CmdSenseRequest (0x03) and CmdVarIdSenseRequest (0x0b)
• VDCP Extensions
• VDCP User Data Extensions
• User Data Commands
• VDCP Enhancements For Back-to-Back Play of Short Clips
• VDCP Enhancements for Improved Media Status Reporting
Command Code
CmdDeleteProtectId (0x15)
CmdUndeleteProtectId (0x16)
CmdStop (0x00)
CmdPlay (0x01) When playing clip1, with clip2 immediately
following, the minimum preroll time needed to
ensure that all fields within clip2 are decoded is
2 sec.
CmdRecord (0x02)
CmdStill (0x04)
CmdStep (0x05)
CmdContinue (0x06)
CmdJog (0x07)
CmdVariablePlay (0x08)
CmdRenameId (0x1d)
CmdClosePort (0x21)
CmdSelectPort (0x22)
CmdRecordInit (0x23)
CmdPlayCue (0x24) PlayCue loads the clip using the clips defaultIn
and defaultOut points.
CmdCueWithData (0x25)
CmdDeleteId (0x26)
CmdPctToSignalFull (0x2b)
CmdRecordInitWithData (0x2c)
CmdDiskPrerollTime (0x43) When playing clip1, with clip2 immediately
following, the minimum preroll time needed to
ensure that all fields within clip2 are decoded is
2 sec.
CmdOpenPort (0x01)
CmdNextIds (0x02) May exceed the 6 msec turn-around required by
the protocol. Ids are reported in order of
creation date.
CmdPortStatusRequest (0x05)
CmdPositionRequest (0x06) Position Request uses the player settings to
select the reporting mode among drop525,
nondrop525 and 625.
CmdActiveIdRequest (0x07)
CmdDeviceTypeRequest (0x08)
CmdSystemStatusRequest (0x10) The calculation of storage time uses the current
Player’s record bitrate. If a Player is not selected,
the calculation uses the record bitrate of the last
enabled VDCP input port. If there are no
VDCP input ports, then 50 Mbps is used. The
frames fields will always be zero. Drop/Non-
drop setting has no effect.
CmdIdList (0x11) May exceed the 6 msec turn-around required by
the protocol. Ids are reported in order of
creation date.
CmdIdSizeRequest (0x14) Id Size Request uses the clip frame rate to select
the reporting mode between drop525 and 625.
If a player is selected and the player mode is
nondrop525 and the clip is 29.97 Hz, then
nondrop525 is selected.
CmdIdRequest (0x16)
CmdIdsAddedList (0x18)
CmdIdsDeletedList (0x19)
Omneon, Inc. 11
VDCP Extensions
The following information describes additional commands that have been implemented by Omneon
as a extension to the VDCP protocol. The additional commands are:
• 3X.70 / BX.70V_ID_INFO
• 2X.60 / AX.60OPEN_USER_INFO
• 2X.61CLOSE_USER_INFO
• 2X.62ADD_USER_INFO
• 3X.63GET USER INFO
3X.70 / BX.70V_ID_INFO
The V_ ID_INFO command will return the Start of Material and Duration information for the
specified file ID.
or
02 Byte B0 70 BITMAP ID ID NAME Check
Count LENGTH Sum
Where:
• ID LENGTH is a byte containing the size of the ID name (only used in the BX.70 command
format).
• ID NAME is the ASCII character of the ID (8 characters for the 3X.70 format and up to 32
characters for the variable length BX.70 format).
• BITMAP is a byte containing a bitmap that specifies which information items will be returned.
Only the ID Info 3 (Timecode) bit is used.
:
ID Info 8 ID Info 7 ID Info 6 ID Info 5 ID Info 4 ID Info 3 ID Info ID Info 1
(Not (Not (Not (Not (Not (Timecode) 2 (Not (Not
Used) Used) Used) Used) Used) Used) Used)
:
02 Byte CMD F0 BITMAP BYTE BYTE ----- BYTE Check
Count ECHO 1 2 8 Sum
:Where:
• CMD ECHO matches the CMD1 byte of the command and will be either 30 or B0.
• BITMAP is a byte containing a bitmap that specifies which information items will be returned.
Only the ID Info 3 (Timecode) bit is used.
• BYTE 1 through to BYTE 8 return the following values:
Timecode values are returned in BCD format. No flags bits are set (such as the Drop Frame flag).
If the ID info 3 bit is set in the BITMAP and if the specified file cannot be found, then:
• The format of the reply will not change.
• The BITMAP will still be the same as the BITMAP byte in the command.
• The values of BYTE 1 through BYTE 8 will be 0.
• The IdNotFound bit is set in the port error status.
Omneon, Inc. 13
VDCP User Data Extensions
User Data will be stored in VALUE blocks within the file. Each VALUE block will be addressed by a
KEYWORD name.
The KEYWORD must be an ASCII string; it has a variable length of up to 32 bytes. It does not need
to have a terminating 0 since the command format includes a length value. A value of 0x00 is not
allowed within the KEYWORD; all other values are allowed.
The VALUE block can hold arbitrary binary data; it has a variable length of up to 128 bytes.
2X.60 / AX.60OPEN_USER_INFO
The OPEN_USER_INFO command will open the specified file ID for reading or writing User Data.
If any file ID is already open for User Data by the communications port it will be closed.
or
02 BC A0 60 MODE ID ID CS
Length NAME
Where:
• MODE is 1 for read access, 2 for write access, 3 for read/write access.
• ID LENGTH is the size of the ID name (only used for the AX.60 command format).
• ID NAME is the ASCII character of the ID; it is either a fixed length of 8 bytes or a variable
length.
ACK
2X.61CLOSE_USER_INFO
The CLOSE_USER_INFO command will close the file ID currently open for User Data.
02 02 20 61 CS
ACK
2X.62ADD_USER_INFO
The ADD_USER_INFO command will add or replace the VALUE of the specified KEYWORD in
the currently open file.
Where:
• KEYWORD LENGTH is a single byte containing the size of the KEYWORD.
• KEYWORD is a variable number of bytes containing the ASCII characters of the keyword (max.
32 characters). A value of 0x00 is not allowed within KEYWORD; any other value is allowed.
KEYWORD does not need to have a terminator.
• VALUE LENGTH is a single byte containing the size of the VALUE.
• VALUE is a variable number of bytes containing the User Data (max. 128 bytes).
NOTE: An existing KEYWORD / VALUE set can be removed from the specified file by using this command
that has the desired KEYWORD, has a VALUE LENGTH of 0, and has no VALUE bytes.
Omneon, Inc. 15
Return from Controlled Device:
ACK
02 BC 30 63 KEYWORD KEYWORD CS
LENGTH
Where:
• KEYWORD LENGTH is a byte containing the size of the KEYWORD.
• KEYWORD is a variable number of bytes containing the ASCII characters of the keyword (max.
32 characters). A value of 0x00 is not allowed within KEYWORD; any other value is allowed.
KEYWORD does not need to have a terminator.
02 BC 30 E3 VALUE VALUE CS
LENGTH
Where:
• VALUE LENGTH is a byte containing the size of the VALUE.
• VALUE is a variable number of bytes containing the User Data. (max. 128 bytes). If the keyword
can’t be found in the specified file, then:
• The VALUE LENGTH byte will be 0.
• There will be no VALUE bytes in the reply.
• The SystemError bit will be set in the port error status.
20.78/A0.78: scheduleID
The scheduleID command is used in conjunction with the standard playCue (or cueWithData) and the
play commands. If the VDCP server port (the port) has an ID cued, then the scheduleID command
schedules an ID to play immediately following the play of the cued ID. For example, let’s assume ID
xx1 is playing and ID xx2 is cued. A scheduleID command is issued for ID xx3. Play will pause at the
end of ID xx1 if a play command is not issued before the end of ID xx1. A play command is now
issued which causes ID xx2 to start playing. At this point, the port is in a play state and not cued.
Issuing another play command would result in a cueNotDone error. ID xx2 plays to the end and ID
xx3 automatically follows it. Play will pause at the end of ID xx3 if no further commands are issued.
The scheduleID command can also be used when the port is in a play and not cued state. In this state,
a scheduleID command schedules the ID to play immediately following the currently playing ID. For
example, let’s assume ID xx1 is playing and no ID is cued. A scheduleID command is issued for ID
xx2. This schedules ID xx2 to play immediately following ID xx1. Play will pause at the end of ID xx2
if no further commands are issued.
Multiple scheduleID commands can be issued in both the play and cued state. The successive
commands simply add to the scheduled list of IDs to play. For example, IDs xx1 through xx5 could be
played using the following command sequence: playCue xx1, play, scheduleID xx2, scheduleID xx3,
scheduleID xx4, scheduleID xx5. Play would start after the play command and before the scheduleID
xx2 command. The following command sequence would also play all five IDs: playCue xx1,
Omneon, Inc. 17
scheduleID xx2, scheduleID xx3, play, scheduleIDxx4, scheduleID xx5. The difference is that the
latter sequence tells the disk server more of what is to play before play starts.
NOTE: Mixing the usage of the scheduleID command while the port is cued or not cued is also allowed.
Another command sequence to play the above IDs would be: playCue xx1, scheduleID xx2, play,
scheduleID xx3, playCue xx4, scheduleID xx5, play. The first play command will cause IDs xx1, xx2,
and xx3 to play. The second play command would cause ID’s xx4 and xx5 to play.
The playCue and cueWithData commands still work as usual in the sense that cueing an ID un-cues a
currently cued ID. This un-cueing action also applies to any IDs that have been scheduled since the
last playCue command. For example, let’s assume the following command sequence has been issued:
playCue xx1, play, playCue xx2, scheduleID xx3, and scheduleID xx4. The port is playing ID xx1, ID
xx2 is cued, and IDs xx3 and xx4 will play immediately following the play of ID xx2. Now a playCue
for ID xx5 is issued. This will un-cue ID xx2, unscheduled ID’s xx3 and xx4, and cue ID xx5. A play
command now will cause the ID xx5 to play.
A scheduleID command can only be issued while in the play or cued state. The cueInit bit in the port
status is set upon receiving a valid scheduleID command. The cueInit bit is cleared upon completion
of the scheduleID command. Additionally, a port status error bit may be set that would indicate a
problem occurred. If an error bit is set, the ID is not scheduled. Processing a scheduleID command
may set the port busy bit. Processing a scheduleID command does not block the processing of
immediate commands.
Note the following usage:
• The cueInit bit is used to indicate ID cueing. It is set when processing a scheduleID, playCue or
cueWithData command. The bit is cleared when all ID cueing is complete. These commands may
be overlapped in which case the cueInit bit stays set until all cueing is complete. However, it is not
recommended to overlap these commands because there are no error conditions to indicate
which command failed. Coherent use of the error bits requires waiting for the cueInit bit to clear
before issuing any of these commands.
• The cueInitDone bit is only set when a playCue or cueWithData command successfully cues an
ID. It is generally cleared by the play command, however these commands also clear it: stop, step,
continue, jog, variablePlay, and record.
Any one of several port status error bits may be set by the scheduleID command. In all cases the error
is unrecoverable and the command is ignored. Following is a list of the error bits that may be set:
• portNotActive - Issuing the command while not playing or cued.
• wrongPortType - Issuing the command to a recording port.
• cmdWhileBusy - Issuing the command while the port is busy.
• illegalValue - Malformed ID, start or duration values.
• idNotFound – Failed to open ID.
• cueOrOperationFailed - An internal error.
• scheduleFull (extended ps3, 5th byte, 6th bit) – Too many IDs scheduled.
02 BC 20/A0 78 ID CS
Where:
• ID is the eight-byte (20 case) or variable length (A0 case) ASCII encoded ID.
• SOM is the four-byte BCD encoded start position in frames, seconds, minutes, and hours.
• DUR is the four-byte BCD encoded duration in frames, seconds, minutes, and hours.
Response:
ACK
30.07 activeIdRequest
ActiveIdRequest is an existing command that takes no arguments. The behavior is modified with the
addition of a single argument. Without the argument, it behaves as normal. The argument is a
sequence number referring to an ID that is playing, scheduled, or cued. A sequence number of zero
refers to the currently playing ID (or cued ID if not currently playing), a value of one refers to the next
ID to play, a value of two to the ID after that and so on. A sequence number greater than or equal to
the number of active IDs, returns a shortened response consisting only of the port state.
The response to an activeIdRequest command with the optional index argument contains the same
information as a normal activeIdRequest response plus three more items. These additional items are:
start position, duration, and state. The start position and duration items are the respective values
specified when the ID was scheduled or cued. The state item describes the ID’s scheduled versus cued
state. The state item may take on the values described in the following table.
Omneon, Inc. 19
Command:
02 03 30/BO 07 SN CS
Where:
• SN is the sequence number
Response:
Where:
• PS is the one-byte port state, 0 for inactive, 1 for active
• ID is the eight-byte or variable length ID
• SOM is the four-byte BCD encoded start position in frames, seconds, minutes, and hours.
• DUR is the four-byte BCD encoded duration in frames, seconds, minutes, and hours.
• ST is the one-byte ID state
Changes to Play Cue (2X.24, AX.24) and Play Cue With Data (2X.25, AX.25)
Previously, the implementation of these commands set CUE DONE if the clip metadata file existed.
(The state of CUE DONE was sensed using Port Status.) Missing essence files were undetected by the
client and resulted in missing tracks playing black or silent. There was no mechanism available for the
client to determine that tracks were missing from a playout.
In Release 5.4 and later releases, CUE DONE gets set only if all of the essence files described in the
clip metadata file are present and have lengths greater than zero. Note that this does not guarantee that
playout of all tracks will occur; the files could be corrupt, short, or otherwise unusable and this cannot
be determined until play starts. As a result of this change, the time between the client’s issuance of the
Cue command, and achieving CUE DONE state may be longer than previously.
NOTE: If you have automation client(s) that require this functionality, be prepared to handle delays of several
seconds or more between Cue and CUE DONE.
IMPORTANT: If you wish to avail of the VDCP enhancements described in this section, be prepared to set
the switches as described above, and test and change automation system timing if indicated.
Omneon, Inc. 21
Sony Serial Protocol
Support of the Sony serial protocol facilitates the interconnection of MediaPorts to third party devices
such as automation, archiving, and editing systems. Insert and assemble edit commands are not
supported. Sony serial protocol functions include:
• Timecode Query — allows the timecode information to be registered by the editing application
and lets the editing application issue a timecode query to get information about the current clip
position (or timecode).
• Play — starts playing clips at 1.0x play speed (normal speed), in the forward direction.
• Stop — stops playback or recording at the current frame. The MediaPort switches to E-E.
• Pause — pauses a playing clip (even those in fast forward, record or rewind) and displays the
current frame.
• Fast Forward — (full speed) moves instantly from the current mode to full fast forward (the clip
shuttles forward at full speed and displays picture in shuttle).
• Rewind — (full speed) instantly changes from the current mode to full rewind (the clip rewinds
at full speed and displays picture in shuttle).
• Jog Forward — (one frame) advances by one frame and then pauses.
• Jog Reverse — (one frame) backs up by one frame and then pauses.
• Vari-Shuttle — lets users incrementally change clip shuttle mode from full rewind to full fast
forward speed.
• Record — starts recording into the current clip (which must have been created by the application
through the API or through use of the Avid protocol extensions). All channels of video and audio
will be recorded.
• Eject — removes (ejects) the clip from the Player and allows users to load a new clip from
ClipTool, using the API, or using the Avid protocol extensions.
• Mark In-point — sets a user defined (marked) timecode value within the playback clip, usually
the frame at which the user wants to begin digitizing. Clicking Mark In a second time (on the
editing system) overwrites the old mark with a new one.
• Mark Out-point — sets a user defined (marked) timecode value within the playback clip, usually
the frame at which the user wants to stop digitizing. Clicking Mark Out a second time (on the
editing system) overwrites the old mark with a new one.
• Go To Mark In — cues the clip to the marked in-point. When the clip reaches the specified
frame, it enters Pause mode.
• Go To Mark Out — cues the clip to the marked out-point. When the clip reaches the specified
frame, it enters Pause mode.
• Go To a Supplied Timecode — cues the clip to a specified timecode. When the clip reaches the
specified timecode, the clip enters Pause mode.
• Data Sense and Current Time Sense commands — for control and emulation purposes,
provides the capability for retrieving all manner of status bits (not just timecode).
Omneon, Inc. 23
24 Protocol Reference Guide
CHAPTER 2
FTP Server Implementation
This section provides information regarding File Transfer Protocol (FTP) server implementation on
Omneon MediaDirectors as follows:
• Commands Definitions
• Transferring Clips Between Omneon Spectrum Systems
• Notes on Parsing QuickTime Files
• FTP Transfer While Recording
NOTE: The FTP server is an independent implementation, created directly from the specification (RFC 959).
The Omneon FTP server follows the specification, RFC 959, which is an open standard available at:
http://www.ietf.org/rfc/rfc959.txt. This chapter does not duplicate the specification, but notes instead where
the Omneon FTP server adheres to or diverges from the specification.
Commands Definitions
This section lists the FTP commands in an Omneon Spectrum System in the following categories:
• Access Control Commands
• Transfer Parameter Commands
• FTP Service Commands
• SITE Commands
NOTE: For completeness, commands specified in RFC 959 but not implemented by Omneon are identified
as “not implemented.”
Command(s) Support
PASS
USER
Implemented as per RFC 959. If domain level security in use, returns:
331, "User name "mrftp" in domain "studio", need password."
Otherwise returns:
230, "Welcome to Director. There are currently "3"users."
PASS
Implemented as per RFC 959. On success returns:
230, "User" mrftp" logged in, proceed..."
Table 6 shows the maximum number of FTP sessions according to MediaDirector and session type.
Command Support
PORT
Implemented as per RFC 959. On success returns:
200, "PORT command successful."
Omneon, Inc. 27
PASV
Implemented as per RFC 959. On success returns:
227, "Entering Passive Mode (10,35,74,26,4,20)".
TYPE
Implemented as per RFC 959. Types A and I are supported. On success returns:
200, "Using I for file transfers"
STRU
Implemented as per RFC 959. File structure is supported. On success returns
200, "Using file structure".
MODE
Implemented as per RFC 959. Stream mode is supported. On success returns:
200, "Using stream mode"
Command Support
Omneon, Inc. 29
Additional information about STOR <File>:
Starting with Spectrum Release 4.7 SR4, support is available for an overwrite mode for STOR <file>.
By default, STOR <file> does not overwrite files. To switch to overwrite mode, in a Telnet session
enter:
>ftp overwrite [1:0]
Enter 1 to turn ON overwriting during file transmission. This is applied only to the specific
MediaDirector host to which you connected. You will need to repeat the command for each additional
host, if overwrite mode is required. The overwrite mode is N-V RAM and as such will survive a
reboot.
REST
Implemented as per RFC 959. Returns this error:
501, "Failure on REST command"
ABOR
Implemented as per RFC 959. On success returns:
226, "Abort successfully processed"
PWD, XPWD
Implemented as per RFC 959. On success returns:
257, "Current directory is: "/fs/mydirectory"",
LIST, NLST
Implemented as per RFC 959 on a separate connection. On success returns:
<directory listing>
226, "List succeeded."
Omneon, Inc. 31
Returns these errors:
553, "Absolute name too long"
550, "Name not found."
550, "Could not access name."
550, "Could not start data transfer task."
451, "Failure writing on socket."
451, "No memory."
425, "Can't open data connection."
426, "Connection closed; transfer aborted."
226, "Abort successfully processed."
SYST
Implemented as per RFC 959. On success returns:
213, "Omneon File System - stylelist format"
STAT
Not implemented: Returns these errors:
211, "Sorry, no status yet."
HELP
Implemented as per RFC 959. On success returns:
214, "Recognized commands:" <A list of commands>
214, "Commands marked with a * are not implemented."
NOOP
Implemented as per RFC 959. On success returns:
200, "No operation completed okay."
SIZE
Implemented as per RFC 959. On success returns:
213 <file size>
SITE Commands
Table 9 lists the Site Commands used in an Omneon Spectrum System.
Command Support
SITE LISTFMT
SITE RBW
HELP SITE
Implemented as per RFC 959. On success returns:
214, "Recognized SITE commands:" <A list of commands>
214, ""
SITE LISTFMT
This command toggles the directory listing format returned in response to a LIST command. Each
change affects the session making the change. Other sessions are not affected.
The default is UNIX style directory listing.
Omneon, Inc. 33
On success returns:
200, "Now using Unix list format"
200, "Now not using Unix list format"
The Omneon MediaDirector’s file system supports three kinds of file stripe:
• Large stripe: Optimized for large bandwidth media types, for example video
• Small stripe: Optimized for smaller bandwidth media types, for example audio
• Blocked: Optimized for random access data
Omneon, Inc. 35
The contents of the list file can now be printed.
> more mpeg25.mov.lst
/fs/clip.dir/mpeg25.mov
/fs/clip.dir/media.dir/mpeg25.m2v
/fs/clip.dir/media.dir/mpeg25.aiff
Omneon, Inc. 37
NOTE: When transferring between MediaDirectors which are distant from each other, a VPN or other private
network is necessary. The VPN is required so that the Omneon API commands can be used; these
commands utilize an RPC protocol. The VPN is also required so that the server ftp ports are not directly
exposed to the Internet.
To transfer a Clip:
4. Setup a MediaDirector to MediaDirector FTP transfer for the first of the media files. Refer to
“RFC 959” and “RFC 765” for definitions of these commands.
a. Send the following commands to the source MediaDirector:
>PASV
### expect a response of the form "227 Entering Passive Mode
10,35,74,26,4,20"
### which means it is waiting on port 4,20 (number varies) for a response.
### Your app has to parse out the port number for use below.
>TYPE I
### response "200 Using binary for file transfers"
>RETR /FS0/clip.dir/media.dir/fred.mpg
### retrieve off local disk; use full source path
5. Repeat the following steps for each of the remaining media files:
a. Send the following commands to the source MediaDirector:
>PASV
### expect a response of the form "227 Entering Passive Mode
10,35,74,26,4,20"
### Your app has to parse out the port number for use below.
>RETR /FS0/clip.dir/media.dir/fred.aiff
b. Send the following commands to the destination MediaDirector:
>PORT 10,35,74,26,4,20
### using port number parsed from PASV response of sending MediaStore
>STOR /FS0/clip.dir/media.dir/fred.aiff
Omneon, Inc. 39
a. Send the following commands to the destination MediaDirector:
>PASV
### expect a response of the form "227 Entering Passive Mode
10,35,74,67,4,20"
### Your app has to parse out the port number for use below.
>TYPE I
### response "200 Using binary for file transfers"
>STOR /FS0/clip.dir/media.dir/fred.aiff
b. Send the following commands to the source MediaDirector:
>PORT 10,35,74,37,4,20
### see response to PASV command for specific numbers to use here
>TYPE I
### response "200 Using binary for file transfers"
>RETR /FS0/clip.dir/media.dir/fred.aiff
6. Initiate a MediaDirector to MediaDirector FTP transfer for the .mov file using these
commands:
a. Send the following commands to the source MediaDirector
>PASV
### expect a response of the form "227 Entering Passive Mode
10,35,74,26,4,20"
### Your app has to parse out the port number for use below.
>TYPE I
### response "200 Using binary for file transfers"
>RETR /FS0/clip.dir/fred.mov
b. Send the following commands to the destination MediaDirector:
>PORT 10,35,74,26,4,20
### using port number parsed from PASV response of sending MediaStore
>TYPE I
### response "200 Using binary for file transfers"
>STOR /FS0/clip.dir/fred.mov
Follow these suggestions to implement a clip transfer when conditions differ to the previous example.
• If you wish to transfer a different media type(s): Follow the procedure above. Be aware that
different file extension(s) to the example will be found and displayed when
OmPlrClipGetMediaNames() is called.
• If you wish to transfer a single clip with Internal Essence: Follow the procedure above
omitting steps 4 and 5 since only one file needs to be transferred.
Omneon, Inc. 41
• Since the correct tools are important, especially when trying to decipher binary files, Omneon
strongly suggest downloading a free copy of Bvi from: http://bvi.sourceforge.net/
This allow you to more easily see where the atoms are located and see the encoding of the “pascal
strings” used in QuickTime files. If you prefer “od”, you can get an up-to-date version that
provides both a binary and text view from GNU here:
http://www.gnu.org/directory/GNU/textutils.html.
Overview
The File Transfer Protocol (FTP) is a client/server protocol in which the client requests the server to
transfer whole files. The FTP server will store and retrieve files at the request of an FTP client. Requests
and server responses are carried through a control connection. Each file is transferred separately
through a data connection; several files may be transferred independently and in parallel.
When retrieving a file, the FTP server reads the file and sends it across the network, in accordance
with the FTP protocol. Internally, this read is implemented as a chunk-by-chunk read from the
beginning to the end of the file. If the file changes subsequently, the transferred data represents an
earlier version of the file. If the file changes while the FTP server is transferring it, because another
entity is modifying or adding to it, a snapshot is transferred instead.
The “FTP Transfer While Recording” feature allows for the simultaneous creation/recording and
retrieval of a file via FTP. Previously, neither the exact content, nor the length of the file could be
predicted if a file was retrieved while it is being written to. With this feature, retrieving a file while it is
being written to is supported under certain circumstances. Refer to Features and Limitations and
Implementation for additional information. In particular, the file must be of the type “left to right”.
This feature extends FTP to allow consistent retrieval of a file that is being created “left to right.” If
the file is being created more slowly than retrieval via FTP could run, then FTP will slow down and
transfer data only as it becomes ready.
It is important to distinguish between a single file and all the files needed to play a video clip.
Generally speaking, unless all the files of a clip are available, a video clip is not available. Thus, a video
clip comprised of some files, which are not “left to right”, could not make use of this feature.
NOTE: During storage and retrieval of a clip via FTP, each file is transferred using a separate FTP
connection.
Implementation
Omneon, Inc. 43
rates, and 2 or 3 periods for VBI. FTP clients will typically wait forever for data to arrive. If the
file is open for write, but no progress is made in the size of the file, the FTP server will timeout,
stop monitoring the file, and conclude the retrieval. Timeout is set to 10 seconds. This value is
required to avoid a false positive on media files (including VBI) during clip creation.
Since Spectrum Release 4.7 SR4, support is available for configuring the FTP server timeout. Via
a Telnet session enter:
>ftp twrtimeout [no. of seconds]
• If the FTP server attempts to store a file from another FTP server while in passive mode, a
timeout occurs if no data arrives from the other server. The default timeout is set to 5 minutes
and log messages print after 20 seconds. Data must be received within 20 seconds to avoid
engaging the Omneon FTP server’s timeout mechanism. This timing is required to support
retrieval from another Omneon FTP server, which is using the “FTP read while record” feature.
A Clip manipulation 34
Access Control Commands 26 SITE DELE 36
ACCT, SMNT, REIN 26 SITE LIST 35
CDW, CDUP, XCWD 26 SITE RBW 37
PASS 26 SITE RNFR , SITE RNTO 36
QUIT 27 SITE TIMEOUT 36
USER 26
FTP Service 28
API
Omneon Media ABOR 30
QuickTime DELE 31
parsing 41 HELP 32
LIST, NLST 31
C MDTM 33
Clip Manipulation 34 MKD , XMKD 31
SITE DELE 36 NOOP 32
SITE LIST 35 PWD, XPWD 31
SITE RBW 37 REST 30
SITE RNFR , SITE RNTO 36 RETR , STOR 29
SITE TIMEOUT 36 RMD , XRMD 31
Commands
RNFR , RNTO 30
Access Control 25
FTP Service 28 SIZE 32
Site 33 STAT 32
Sony Serial Protocol 22 STOU, APE, ALLO 30
Transfer Parameter 27 SYST 32
VDCP 9 SITE 33
Contact Omneon 6 HELP SITE 33
SITE LISTFMT 33
D SITE STRIPE 34
Documentation Transfer Parameter 27
end user 2
MODE 28
Spectrum System 2
PASV 28
SystemManager 2
PORT 27
F STRU 28
FTP Server TYPE 28
commands 25 FTP Transfer While Record
Access Control features 43
ACCT, SMNT, REIN 26 implementation 43
CDW, CDUP, XCWD 26 limitations 43
PASS 26 parsing QuickTime files 41
QUIT 27 RFC spec 25
USER 26 session limitations 27
P
Protocol
Sony Serial
commands 22
Q
QuickTime
parsing 41
parsing files 41
S
Site Commands 33
HELP SITE 33
SITE LISTFMT 33
SITE STRIPE 34
Sony Serial Protocol
commands 22
T
Transfer Parameter Commands 27
MODE 28