Home Homebrew In sviluppo un primo Podcast player per PS3

[Scena PS3] In sviluppo un primo Podcast player per PS3

357
1

Lo sviluppo su console PlayStation 3 sembra più acceso che mai, dopo la scoperta delle ultime chiavi syscon da parte del developer zecoxao, una nuova mod XMB realizzata dal developer DeViL303 ci permetterà di scaricare ed eseguire file podcast.

La mod utilizza solo file xml, più simile allo sviluppo di XMB Manager Plus, questo significa che l’applicazione, una volta rilasciata, potrà essere installata ed eseguita anche su HEN, HAN e firmware originale.

Funzionamento

Il browser web della PlayStation 3 permette di eseguire lo streaming di file .mp4, e questo include anche il supporto per lo streaming di file .m4a, l’estensione funge da contenitore per file audio.

Il developer ha realizzato diversi file .m4a speciali che contengono un’icona di 144p vuota nel flusso video, questo ci permette di riprodurre in streaming solo l’audio con un piccolo overhead di soli 4kbps per il flusso di icone a 144p.

Ciò significa che un podcast deve essere convertito in questo formato per funzionare. Ci sono 2 parti in questa mod. Il programma Podcast Player e i file PKG contenente i podcast effettivi.

Parte 1

Il primo è il file PKG “Podcast Enabler”, questa è solo una piccola mod XMB dalle dimensioni di 20 KB che aggiunge l’icona Podcast Player alla XMB.

Il programma aggiunge il supporto per 16 “app” podcast da installare su dev_hdd0/game/PODCASTxx/, inoltre aggiunge il supporto per 1 podcast esterno su usb000/, per testare, sviluppare o persino nascondere facilmente un podcast scollegando il dispositivo USB e riavviando la console.

In sostanza il file PKG aggiungere solo un’icona e altre piccole modifiche all’interno del file category_music.xml.

Modifiche al file category_music.xml

<Query
class="type:x-xmb/folder-pixmap"
key="seg_podcasts"
src="#seg_podcasts"
/>

Aggiungere anche questa sezione nella parte inferiore del file category_music.xml.

<View id="seg_podcasts">
<Attributes>
<Table key="podcasts_main">
<Pair key="icon"><String>/dev_flash/vsh/resource/explore/icon/podcast.png</String></Pair>
<Pair key="title"><String>Podcast Player</String></Pair>
<Pair key="info"><String>Stream and Download Podcasts</String></Pair>
<Pair key="str_noitem"><String>msg_error_no_content</String></Pair>
<Pair key="child"><String>segment</String></Pair>
</Table>
</Attributes>
<Items>
<Query class="type:x-xmb/folder-pixmap" key="podcasts_main" attr="podcasts_main" src="#podcast_items"/>
</Items>
</View>
<View id="podcast_items">
<Items>
<Query class="type:x-xmb/folder-pixmap" key="podcast_001" src="xmb://localhost/dev_hdd0/game/PODCAST01/USRDIR/podcast.xml#main"/>
<Query class="type:x-xmb/folder-pixmap" key="podcast_002" src="xmb://localhost/dev_hdd0/game/PODCAST02/USRDIR/podcast.xml#main"/>
<Query class="type:x-xmb/folder-pixmap" key="podcast_003" src="xmb://localhost/dev_hdd0/game/PODCAST03/USRDIR/podcast.xml#main"/>
<Query class="type:x-xmb/folder-pixmap" key="podcast_004" src="xmb://localhost/dev_hdd0/game/PODCAST04/USRDIR/podcast.xml#main"/>
<Query class="type:x-xmb/folder-pixmap" key="podcast_005" src="xmb://localhost/dev_hdd0/game/PODCAST05/USRDIR/podcast.xml#main"/>
<Query class="type:x-xmb/folder-pixmap" key="podcast_006" src="xmb://localhost/dev_hdd0/game/PODCAST06/USRDIR/podcast.xml#main"/>
<Query class="type:x-xmb/folder-pixmap" key="podcast_007" src="xmb://localhost/dev_hdd0/game/PODCAST07/USRDIR/podcast.xml#main"/>
<Query class="type:x-xmb/folder-pixmap" key="podcast_008" src="xmb://localhost/dev_hdd0/game/PODCAST08/USRDIR/podcast.xml#main"/>
<Query class="type:x-xmb/folder-pixmap" key="podcast_009" src="xmb://localhost/dev_hdd0/game/PODCAST09/USRDIR/podcast.xml#main"/>
<Query class="type:x-xmb/folder-pixmap" key="podcast_010" src="xmb://localhost/dev_hdd0/game/PODCAST10/USRDIR/podcast.xml#main"/>
<Query class="type:x-xmb/folder-pixmap" key="podcast_011" src="xmb://localhost/dev_hdd0/game/PODCAST11/USRDIR/podcast.xml#main"/>
<Query class="type:x-xmb/folder-pixmap" key="podcast_012" src="xmb://localhost/dev_hdd0/game/PODCAST12/USRDIR/podcast.xml#main"/>
<Query class="type:x-xmb/folder-pixmap" key="podcast_013" src="xmb://localhost/dev_hdd0/game/PODCAST13/USRDIR/podcast.xml#main"/>
<Query class="type:x-xmb/folder-pixmap" key="podcast_014" src="xmb://localhost/dev_hdd0/game/PODCAST14/USRDIR/podcast.xml#main"/>
<Query class="type:x-xmb/folder-pixmap" key="podcast_015" src="xmb://localhost/dev_hdd0/game/PODCAST15/USRDIR/podcast.xml#main"/>
<Query class="type:x-xmb/folder-pixmap" key="podcast_016" src="xmb://localhost/dev_hdd0/game/PODCAST16/USRDIR/podcast.xml#main"/>
<Query class="type:x-xmb/folder-pixmap" key="external_000" src="xmb://localhost/dev_usb000/podcast.xml#main"/>
</Items>
</View>

Parte 2

Queste sono le “app” podcast, che sono semplicemente dei file PKG contenenti un singolo file xml che a sua volta raccoglie i collegamenti ai file online e qualsiasi icona di supporto.

Ecco un esempio di podcast.xml con una sola voce, include l’opzione per il download e lo streaming, include anche alcune informazioni.

<View id=”main”>

<Attributes>
<Table key="blindboy_main">
<Pair key="icon"><String>/dev_hdd0/game/PODCAST01/USRDIR/images/the_blindboy_podcast.png</String></Pair>
<Pair key="title"><String>The Blindboy Podcast</String></Pair>
<Pair key="info"><String>25 Tracks 29:45'07"</String></Pair>
</Table>
</Attributes>
<Items>
<Query class="type:x-xmb/folder-pixmap" key="blindboy_main" attr="blindboy_main" src="#blindboy_items"/>
</Items>
</View>
<View id="blindboy_items">
<Attributes>
<Table key="item_1">
<Pair key="icon"><String>/dev_hdd0/game/PODCAST01/USRDIR/images/blindboy.png</String></Pair>
<Pair key="title"><String>#001 Did you read about Erskine Fogarty?</String></Pair>
<Pair key="info"><String>39'22"</String></Pair>
</Table>
</Attributes>
<Items>
<Query class="type:x-xmb/folder-pixmap" key="item_1" attr="item_1" src="#blindboy001_items"/>
</Items>
</View>
<View id="blindboy001_items">
<Attributes>
<Table key="item_1_001">
<Pair key="icon"><String>/dev_hdd0/game/PODCAST01/USRDIR/images/blank.png</String></Pair>
<Pair key="title"><String> PLAY</String></Pair>
<Pair key="info"><String></String></Pair>
<Pair key="module_name"><String>webbrowser_plugin</String></Pair>
<Pair key="module_action"><String>http://xmbmods.com/audio/podcasts/blindboy/Blindboy%20001.%20Did%20you%20read%20about%20Erskine%20Fogarty.m4a</String></Pair>
</Table>
<Table key="item_1_002">
<Pair key="icon"><String>/dev_hdd0/game/PODCAST01/USRDIR/images/blank.png</String></Pair>
<Pair key="title"><String> DOWNLOAD</String></Pair>
<Pair key="info"><String></String></Pair>
<Pair key="module_name"><String>webbrowser_plugin</String></Pair>
<Pair key="module_action"><String>http://xmbmods.com/audio/podcasts/blindboy/Blindboy%20001.%20Did%20you%20read%20about%20Erskine%20Fogarty.mp3</String></Pair>
</Table>
<Table key="info_001_main">
<Pair key="icon"><String>/dev_hdd0/game/PODCAST01/USRDIR/images/blank.png</String></Pair>
<Pair key="title"><String> INFO</String></Pair>
<Pair key="info"><String></String></Pair>
</Table>
</Attributes>
<Items>
<Item class="type:x-xmb/module-action" key="item_1_001" attr="item_1_001"/>
<Item class="type:x-xmb/module-action" key="item_1_002" attr="item_1_002"/>
<Query class="type:x-xmb/folder-pixmap" key="info_001_main" attr="info_001_main" src="#info_001_item"/>
</Items>
</View>
<View id="info_001_item">
<Attributes>
<Table key="info_001">
<Pair key="icon"><String>/dev_hdd0/game/PODCAST01/USRDIR/images/blank.png</String></Pair>
<Pair key="title"><String></String></Pair>
<Pair key="info"><String>The Blindboy Podcast #001
Title: Did you read about Erskine Fogarty?
Summary: In Episode one, Blindboy debuts a short story from his upcoming book,
while also discussing the psychology of creativity.
Duration: 39'22"
Bitrate: 128kbps
Released: October 25th 2017</String></Pair>
</Table>
</Attributes>
<Items>
<Query class="type:x-xmb/folder-pixmap" key="info_001" attr="info_001"/>
</Items>
</View>

Formato streaming

Il formato che ho usato per i file .m4a è fondamentalmente un 144p mp4 con suono 128AAC.

General
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42
File size : 9.52 MiB
Duration : 10mn 2s
Overall bit rate mode : Variable
Overall bit rate : 133 Kbps
Encoded date : UTC 2019-09-08 15:22:17
Tagged date : UTC 2019-09-08 15:22:18
©TIM : 00:00:00:00
©TSC : 24000
©TSZ : 1001
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L3.1
Format settings, CABAC : Yes
Format settings, ReFrames : 3 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 10mn 2s
Bit rate mode : Variable
Bit rate : 3 287 bps
Maximum bit rate : 192 Kbps
Width : 210 pixels
Height : 144 pixels
Display aspect ratio : 3:2
Frame rate mode : Constant
Frame rate : 23.976 fps
Standard : NTSC
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.005
Stream size : 242 KiB (2%)
Language : English
Encoded date : UTC 2019-09-08 15:22:17
Tagged date : UTC 2019-09-08 15:22:17
Color range : Limited
Color primaries : BT.601 NTSC
Transfer characteristics : BT.601
Matrix coefficients : BT.601
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 10mn 2s
Source duration : 10mn 2s
Bit rate mode : Variable
Bit rate : 125 Kbps
Maximum bit rate : 201 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 KHz
Compression mode : Lossy
Stream size : 9.00 MiB (94%)
Source stream size : 9.00 MiB (95%)
Language : English
Encoded date : UTC 2019-09-08 15:22:17
Tagged date : UTC 2019-09-08 15:22:17

Podcast Enabler e POC podcast PKG si renderanno disponibili molto presto, tempo di ricevere gli ultimi feedback per qualche idea dell’ultimo minuto, e magari integrare lo streaming video.

Fonte: psx-place.com

1 commento

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.