code: def add_asset(self, filename, asset_type, display_name,
          encoding_rate=None, frame_width=None, frame_height=None,
          encode_to=None, encode_multiple=False,
          h264_preserve_as_rendition=False, h264_no_processing=False):
          
          m = hashlib.md5()
          fp = file(filename, 'rb')
          bits = fp.read(262144)  ## 256KB
          while bits:
              m.update(bits)
              bits = fp.read(262144)
          fp.close()
  
          hash_code = m.hexdigest()
          refid = "%s-%s" % (os.path.basename(filename), hash_code)
  
          asset = {
              'filename': filename,
              'type': asset_type,
              'size': os.path.getsize(filename),
              'refid': refid,
              'hash-code': hash_code}
  
          if encoding_rate:
              asset.update({'encoding-rate': encoding_rate})
          if frame_width:
              asset.update({'frame-width': frame_width})
          if frame_height:
              asset.update({'frame-height': frame_height})
          if display_name:
              asset.update({'display-name': display_name})
          if encode_to:
              asset.update({'encode-to': encode_to})
              asset.update({'encode-multiple': encode_multiple})
              if encode_multiple and h264_preserve_as_rendition:
                  asset.update({
                      'h264-preserve-as-rendition': h264_preserve_as_rendition})
          else:
              if h264_no_processing:
                  asset.update({'h264-no-processing': h264_no_processing})
          self.assets.append(asset)
docs: Add an asset to the Video object.