Nintendo Video: Difference between revisions
DaniElectra (talk | contribs) m →SD storage: Fix typos |
DaniElectra (talk | contribs) m →Metadata: The metadata length is fixed |
||
(3 intermediate revisions by the same user not shown) | |||
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]] | Downloaded videos are stored in the SD card [[Extdata]], from the decrypted [[SpotPass]] content payload, adding an additional header to them. 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]]. | ||
While the SpotPass payload uses little-endian, the extra header added to the Extdata is stored in big-endian. | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Line 127: | Line 126: | ||
| 0x0 | | 0x0 | ||
| 0x4 | | 0x4 | ||
| | | Unknown, value is 0x18 | ||
|- | |- | ||
| 0x4 | | 0x4 | ||
| 0x14 | |||
| ? | |||
|- | |||
| 0x18 | |||
| 0x8 | |||
| TitleID of Nintendo Video | |||
|- | |||
| 0x20 | |||
| 0x8 | |||
| ? | |||
|- | |||
| 0x28 | |||
| 0x4 | |||
| File size | |||
|- | |||
| 0x2C | |||
| 0x4 | |||
| ? | |||
|- | |||
| 0x30 | |||
| 0x4 | | 0x4 | ||
| Start address of | | Release date (integer, YYYYmmddhh) | ||
|- | |||
| 0x34 | |||
| | |||
| SpotPass payload | |||
|} | |||
== File format == | |||
The SpotPass content downloaded for Nintendo Video uses the [[SpotPass]] content container format, see the SpotPass page for info on the container format. 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. | |||
Region info is stored in the decrypted SpotPass crypto layer, see above SD section. | |||
The following entries use little-endian. | |||
=== Header === | |||
{| class="wikitable" | |||
|- | |||
! Offset | |||
! Length | |||
! Notes | |||
|- | |||
| 0x0 | |||
| 0x4 | |||
| Start address of header? (0x0) | |||
|- | |||
| 0x4 | |||
| 0x4 | |||
| End address of header | |||
|- | |- | ||
| 0x8 | | 0x8 | ||
| 0x4 | | 0x4 | ||
| | | Start address of metadata and video | ||
|- | |- | ||
| 0xC | | 0xC | ||
| 0x4 | | 0x4 | ||
| | | End address of metadata and video | ||
|- | |- | ||
| 0x10 | | 0x10 | ||
Line 150: | Line 196: | ||
|- | |- | ||
| 0x18 | | 0x18 | ||
| | | | ||
| [[#Interactive links header|Interactive links header]] | | [[#Interactive links header|Interactive links header]] | ||
|- | |- | ||
| | | | ||
| | |||
| [[#Metadata|Metadata]] | |||
|} | |||
=== Metadata === | |||
{| class="wikitable" | |||
|- | |||
! Offset | |||
! Length | |||
! Notes | |||
|- | |||
| 0x0 | |||
| 0x4 | | 0x4 | ||
| | | Metadata length (0x248) | ||
|- | |- | ||
| | | 0x4 | ||
| 0x20 | | 0x20 | ||
| Video ID (M<shortvidtitle>video ID) | | Video ID (M<shortvidtitle>video ID) | ||
|- | |- | ||
| | | 0x24 | ||
| 0x8 | | 0x8 | ||
| [[#Timestamp|Release date]] | | [[#Timestamp|Release date]] | ||
|- | |- | ||
| | | 0x2C | ||
| 0x8 | | 0x8 | ||
| [[#Timestamp|Expire date]] | | [[#Timestamp|Expire date]] | ||
|- | |- | ||
| | | 0x34 | ||
| 0x78 | | 0x78 | ||
| UTF-16 video title | | UTF-16 video title | ||
|- | |- | ||
| | | 0xAC | ||
| 0x8 | | 0x8 | ||
| ? | | ? | ||
|- | |- | ||
| | | 0xB4 | ||
| 0x4 | | 0x4 | ||
| Video length | | Video length | ||
|- | |- | ||
| | | 0xB8 | ||
| 0x190 | | 0x190 | ||
| UTF-16 video description | | UTF-16 video description | ||
|- | |- | ||
| | | 0x248 | ||
| 0x20 * number of links | | 0x20 * number of links | ||
| Interactive link IDs (I<shortvidtitle>video ID) | | Interactive link IDs (I<shortvidtitle>video ID) | ||
Line 282: | Line 332: | ||
| 0x0 | | 0x0 | ||
| 0x4 | | 0x4 | ||
| Metadata length | | Metadata length (0x16C) | ||
|- | |- | ||
| 0x4 | | 0x4 | ||
Line 301: | Line 351: | ||
|- | |- | ||
| 0x140 | | 0x140 | ||
| | | 0x28 | ||
| UTF-16 button link text | | UTF-16 button link text | ||
|- | |- | ||
| | | 0x168 | ||
| 0x4 | | 0x4 | ||
| Thumbnail length | | Thumbnail length | ||
Line 312: | Line 362: | ||
| Thumbnail image | | Thumbnail image | ||
|} | |} | ||
== Server spoofing == | == Server spoofing == |