Passa al contenuto principale

4. Orientamento del flusso (Stream Orientation)

In alcune circostanze -- e in particolare quelle che coinvolgono dispositivi mobili -- l'orientamento (Orientation) della fotocamera potrebbe non corrispondere all'orientamento utilizzato dall'encoder. Ancora più importante, l'orientamento può cambiare nel corso di una chiamata, richiedendo al ricevitore di modificare l'orientamento in cui renderizza il flusso.

Mentre il mittente può scegliere semplicemente di cambiare l'orientamento pre-codifica dei frame, ciò potrebbe non essere pratico o efficiente (in particolare, nei casi in cui l'interfaccia alla fotocamera restituisce frame video pre-compressi). Si noti che il potenziale per questo comportamento aggiunge un altro insieme di circostanze in cui la risoluzione di uno schermo potrebbe cambiare nel mezzo di un flusso video, oltre a quelle menzionate nella sezione 3.2.

Per adattarsi a queste circostanze, le implementazioni WebRTC che possono generare media in orientamenti diversi da quello predefinito devono supportare la generazione dei bit R0 e R1 del meccanismo di Coordination of Video Orientation (CVO) descritto nella sezione 7.4.5 di [TS26.114] e devono inviarli per tutti gli orientamenti quando il peer indica il supporto per il meccanismo. Possono supportare l'invio degli altri bit nell'estensione CVO, inclusi i bit di rotazione ad alta risoluzione. Tutte le implementazioni dovrebbero supportare l'interpretazione dei bit R0 e R1 e possono supportare gli altri bit CVO.

Inoltre, alcuni codec supportano la segnalazione in banda (In-Band Signaling) dell'orientamento (ad esempio, i messaggi SEI "Display Orientation" in H.264 e H.265 [H265]). Se CVO è stato negoziato, il mittente non deve utilizzare tali meccanismi specifici del codec. Tuttavia, quando il supporto per CVO non è segnalato nell'SDP, tali implementazioni possono utilizzare invece i meccanismi specifici del codec.