Area del filmato e SMIL.

Tipicamente l’area occupata da un filmato viene definita direttamente nel tag <object> nella pagina web, con gli attributi width e height, indispensabili per un corretto rendering dell’oggetto da parte del browser:

<object data="hparty.mov" type="video/quicktime" width="400" height="320"></object>

Ma in realtà bisogna considerare anche il layout definito nel file SMIL, che è il vero e proprio “stage” per gli elementi multimediali:

<layout>
   <root-layout width="400" height="280" background-color="black" />
   <region width="400" height="240" background-color="black" fit="meet" id="videoregion" />
   <region width="400" height="60" top="220" left="5" background-color="black" id="textregion" />
</layout>

La struttura sopracitata definisce un layout composto da:

  1. Un’area di visualizzazione (root-layout) larga 400px ed alta 280px, con colore di sfondo nero.
  2. Una porzione di area (region) destinata al video, larga 400px, alta 240px e con colore di sfondo nero (della proprietà fit parleremo fra poco).
  3. Una porzione di area (region) destinata ai sottotitoli, larga 400px, alta 60px e con colore di sfondo nero; inoltre essa è posizionata a 220px dall’alto e a 5px da sinistra.

La proprietà fit serve a ridimensionare l’elemento (multimediale o testuale) nel caso in cui larghezza ed altezza originarie differiscano da quelle assegnate alla region che lo contiene.
Il valore scelto in questo caso, meet, garantisce il riempimento totale della region da parte dell’elemento e al tempo stesso lo dimensiona proporzionalmente, evitando quindi un possibile effetto deformante.

Inolte, per l’area dedicata ai sottotitoli esiste la dimensione dichiarata nelle timeline testuali associate al filmato, ognuna con una struttura proprietaria (estensione .rt per Realvideo, .txt per Quicktime):

Quicktime
{QTtext} {width: 400} {timescale: 100} {font: Arial} {size: 14} {backColor: 0,0,0} {textColor: 65535,65535,65535} {justify: left}

Real
<window type="generic" extraspaces="use" wordwrap="true" width="400" duration="0:01:06.40" bgcolor="#000000">
<time begin="00:00:00.00"/><clear/><font face="Arial" size="3" color="#ffffff" bgcolor="#000000">Testo del sottotitolo</font>

Il codice appena riportato sottolinea una questione importante: infatti l’area testuale, oltre a larghezza e altezza, deve tener conto anche della dimensione (size) del carattere dichiarata nel file. Il suo valore è associabile a quello HTML pre-4.0, della cui grammatica Real, ad esempio, riprende l’intero tag presentazionale <font>.
Ciò permette al player esterno un’interpretazione corretta e scalabile del testo durante le operazioni di ridimensionamento della “finestra” multimediale.

Diverso è il comportamento del SAMI Microsoft, nella cui struttura è presente un CSS vero e proprio:

<STYLE type="text/css">
 <!--
  P {
    font-size: 1em;
    font-family: Arial;
    width: 400px;
    color: #ffffff;
    background: #000000;
    text-align: left;
    padding-left: 5px;
    padding-bottom: 2px;
    margin: 0;
  }
 -->
</STYLE>

Ciò non risulta certo casuale, visto che l’area di testo del filmato è di fatto inserita nella pagina web tramite un apposito elemento contenitore (tipicamente <div id="cc"></div>), richiamato direttamente da un parametro del plug-in Windows Media al suo caricamento:

<param name="captioningID" value="cc" />

Tale parametro instrada quindi i sottotitoli nell’apposito contenitore, permettendo l’interazione con il browser e quindi l’ingrandimento dei caratteri.
Purtroppo questa interessante soluzione viene correttamente supportata solo da Internet Explorer.

Quindi, a parte il casus Windows Media, potremmo così schematizzare un flusso sequenziale che riguarda l’area di un filmato dotato di sottotitoli:

l'immagine schematizza l'assemblaggio e il dimensionamento del filmato attraverso questi passaggi: file video + file testuale, file SMIL, plug-in nella pagina web

In sostanza, (di molto) semplificando: il file SMIL “assembla” il layout destinato al plug-in (o al player) passando a quest’ultimo anche eventuali “stretch”, correzioni e ridimensionamenti impostati nelle region.

Ma in realtà è proprio il plug-in che ha l’ultima voce in capitolo, con le dimensioni -abitualmente fisse- ad esso attribuite. Dimensioni che anche percentualizzate non risolvono il problema di un’effettiva interazione con il settaggio dei caratteri nel browser, riuscendo semmai ad adattarsi solo al ridimensionamento della finestra.

Vedremo come è possibile aggirare questo paradossale “collo di bottiglia”.

Potrebbero interessarti anche i seguenti articoli

Rispondi

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