Changes

1,452 bytes added ,  00:33, 16 February 2023
→‎SD storage: Expand information and add interactive links structure
Line 115: Line 115:     
== SD storage ==
 
== SD storage ==
Downloaded videos are stored in the SD card [[Extdata]], from the decrypted [[SpotPass]] content payload. Country info is presumably stored in this metadata, region-lock is handled by the BOSS module via the programID in the [[SpotPass#Payload Content Header|payload header]]. At the end of the video file is a JPEG, which contains the video thumbnail, and various metadata in the EXIF including the URL associated with the video. The text shown on the web browser button is also stored in the EXIF.
+
Downloaded videos are stored in the SD card [[Extdata]], from the decrypted [[SpotPass]] content payload. Country info is presumably stored in this metadata, region-lock is handled by the BOSS module via the programID in the [[SpotPass#Payload Content Header|payload header]]. At the end of the video file is a JPEG, which contains the video thumbnail, and various advertising metadata (interactive links) including the URL associated with the video. The text shown on the web browser button is also stored in the interactive links.
   −
All of these fields are big-endian?
+
Except for the Title ID, all the values are stored as little-endian.
 
Structure of this SD data:
 
Structure of this SD data:
 
{| class="wikitable"
 
{| class="wikitable"
Line 126: Line 126:  
|-
 
|-
 
| 0x0
 
| 0x0
| 4
+
| 0x4
| Unknown, value is 0x18
+
| Title ID address of Nintendo Video? (usually 0x18, 0x0 if none)
 +
|-
 +
| 0x4
 +
| 0x4
 +
| Start address of unknown extra data? (0x2C)
 
|-
 
|-
 +
| 0x8
 
| 0x4
 
| 0x4
| 0x14
+
| End address of unknown extra data? (same as 0x4 if none)
|?
   
|-
 
|-
| 0x18
+
| 0xC
| 8
+
| 0x4
| TitleID of Nintendo Video
+
| Start address of video thumbnail
 
|-
 
|-
| 0x20
+
| 0x10
| 0x8
+
| 0x4
|?
+
| Video thumbnail length
 
|-
 
|-
| 0x28
+
| 0x14
 
| 0x4
 
| 0x4
| Total filesize?
+
| Unknown (padding?)
 
|-
 
|-
| 0x2c
+
| 0x18
| 0x2c
+
| 0x14
| Unknown, some countries' videos have two extra words added here?
+
| [[#Interactive links header|Interactive links header]]
 
|-
 
|-
| 0x58
+
| 0x2C
 +
| 0x4 or 0x2C
 +
| Unknown (Length 0x2C if extra data exists, 0x4 if not)
 +
|-
 +
| 0x30 or 0x58
 
| 0x20
 
| 0x20
| ASCII video ID? M<shortvidtitle>video ID
+
| Video ID (M<shortvidtitle>video ID)
 
|-
 
|-
| 0x68
+
| 0x50 or 0x68
| 0x20
+
| 0x10 or 0x20?
|?
+
| ?
 
|-
 
|-
| 0x88
+
| 0x60 or 0x88
 
| 0x78
 
| 0x78
 
| UTF-16 video title
 
| UTF-16 video title
 
|-
 
|-
| 0x100
+
| 0xDC or 0x100
| 0xc
+
| 0xC
|?
+
| ?
 
|-
 
|-
| 0x10c
+
| 0xE4 or 0x10C
 
| 0x190
 
| 0x190
 
| UTF-16 video description
 
| UTF-16 video description
 
|-
 
|-
| 0x29c
+
| 0x274 or 0x29C
| 0x20
+
| 0x20 * number of links
| Another ASCII video ID? I<shortvidtitle>video ID
+
| Interactive link IDs (I<shortvidtitle>video ID)
 
|-
 
|-
| 0x2bc
+
|  
 
| Video size
 
| Video size
 
| Mobiclip .moflex video data (first word here is little-endian magic number 0xABAA324C)
 
| Mobiclip .moflex video data (first word here is little-endian magic number 0xABAA324C)
 +
|-
 +
|
 +
| Thumbnail size
 +
| Video thumbnail
 +
|-
 +
|
 +
| Interactive links data size
 +
| [[#Interactive links data|Interactive links data]]
 +
|}
 +
 +
=== Interactive links ===
 +
Interactive links are structures that store the advertising and thumbnail data that is displayed to the user during the video playback.
 +
 +
==== Interactive links header ====
 +
{| class="wikitable"
 +
|-
 +
! Offset
 +
! Length
 +
! Notes
 +
|-
 +
| 0x0
 +
| 0x4
 +
| Number of interactive links
 +
|-
 +
| 0x4
 +
| 0x4
 +
| Start address of interactive link data
 +
|-
 +
| 0x8
 +
|
 +
| Start address of additional interactive links data
 +
|}
 +
 +
==== Interactive links data ====
 +
Interactive links store a thumbnail image as a JPEG image.
 +
 +
{| class="wikitable"
 +
|-
 +
! Offset
 +
! Length
 +
! Notes
 +
|-
 +
| 0x0
 +
| 0x4
 +
| Metadata length
 +
|-
 +
| 0x4
 +
| 0x30
 +
| Interactive link ID (I<shortvidtitle>video ID)
 +
|-
 +
| 0x34
 +
| 0x8
 +
| Unknown
 +
|-
 +
| 0x3C
 +
| 0x100
 +
| URL address of link. For eShop link, use (tiger://<TitleID>)
 +
|-
 +
| 0x13C
 +
| 0x4
 +
| Button link color (RGBA)
 +
|-
 +
| 0x140
 +
|
 +
| UTF-16 button link text
 +
|-
 +
|
 +
| 0x4
 +
| Thumbnail length
 +
|-
 +
|
 +
| Thumbnail size
 +
| Thumbnail image
 
|}
 
|}
  
127

edits