|
Description de la tâche
Il semble que lorsqu’un fichier .mp4 stocké sur le Server inclut des streams de sous-titres (au format tx3g), en règle générale, le Player sélectionne automatiquement le premier stream de sous-titres lorsqu’on lance la visualisation du fichier via le menu Multimedia/Mes vidéos/Mes fichiers, mais il y a des subtilités…
Je fabrique moi-même mes fichiers .mp4, et j’ai pu déterminer empiriquement que pour qu’un stream de sous-titres soit pris en compte par le Player, il devait avoir une durée minimale (environ 10 mn) et ne pas contenir uniquement des sous-titres “vides” (espace par exemple). Toutefois, ça ne fonctionne pas toujours, même pour des fichiers dont la structure est très semblable.
Les deux fichiers suivants, par exemple, donnent un comportement différent dans le menu “langues et sous-titres” du Player : le premier (E05) propose “aucun sous-titre” / “sous-titres français” / “sous-titres français” et affiche automatiquement le premier stream de sous-titres (ce qui est le résultat attendu), mais le second (E06) “zappe” le premier stream de sous-titres, ne propose que “aucun sous-titre” / “sous-titres français”, et affiche le contenu du second stream de sous-titres (audiodescription) au lieu du premier.
Les deux fichiers ont pourtant une structure identique, et j’ai vérifié que le contenu du premier stream de sous-titres (Track 3) est rigoureusement le même dans les deux cas :
- Fichier E05 :
mp4info E05.mp4
File:
major brand: isom
minor version: 200
compatible brand: isom
compatible brand: iso2
compatible brand: avc1
compatible brand: mp41
fast start: no
Movie:
duration: 2850080 (movie timescale units)
duration: 2850080 (ms)
time scale: 1000
fragments: no
Found 4 Tracks
Track 1:
flags: 3 ENABLED IN-MOVIE
id: 1
type: Video
duration: 2850080 ms
language: und
media:
sample count: 71252
timescale: 19200
duration: 54721536 (media timescale units)
duration: 2850080 (ms)
bitrate (computed): 1693.811 Kbps
display width: 1024.000000
display height: 576.000000
frame rate (computed): 25.000
Sample Description 0
Coding: avc1 (H.264)
Codec String: avc1.4D401F
AVC Profile: 77 (Main)
AVC Profile Compat: 40
AVC Level: 31
AVC NALU Length Size: 4
AVC SPS: [674d401fb918080093602d404040500000030010000003032e22000cf8400013747ef7b80f844229c0]
AVC PPS: [68febc80]
Width: 1024
Height: 576
Depth: 24
Track 2:
flags: 3 ENABLED IN-MOVIE
id: 2
type: Audio
duration: 2850036 ms
language: fra
media:
sample count: 133597
timescale: 48000
duration: 136803327 (media timescale units)
duration: 2850069 (ms)
bitrate (computed): 128.001 Kbps
Sample Description 0
Coding: mp4a (MPEG-4 Audio)
Codec String: mp4a.40.2
Stream Type: Audio
Object Type: MPEG-4 Audio
Max Bitrate: 128000
Avg Bitrate: 128000
Buffer Size: 0
MPEG-4 Audio Object Type: 2 (AAC Low Complexity)
MPEG-4 Audio Decoder Config:
Sampling Frequency: 48000
Channels: 2
Sample Rate: 48000
Sample Size: 16
Channels: 2
Track 3:
flags: 3 ENABLED IN-MOVIE
id: 3
type: Subtitles
duration: 600001 ms
language: fra
media:
sample count: 3
timescale: 1000000
duration: 600001000 (media timescale units)
duration: 600001 (ms)
bitrate (computed): 0.000 Kbps
Sample Description 0
Coding: tx3g (Timed Text)
Codec String: tx3g
Track 4:
flags: 2 IN-MOVIE
id: 4
type: Subtitles
duration: 2850080 ms
language: fra
media:
sample count: 2095
timescale: 1000000
duration: 2850080000 (media timescale units)
duration: 2850080 (ms)
bitrate (computed): 0.098 Kbps
Sample Description 0
Coding: tx3g (Timed Text)
Codec String: tx3g
- Fichier E06 :
mp4info E06.mp4
File:
major brand: isom
minor version: 200
compatible brand: isom
compatible brand: iso2
compatible brand: avc1
compatible brand: mp41
fast start: no
Movie:
duration: 3145640 (movie timescale units)
duration: 3145640 (ms)
time scale: 1000
fragments: no
Found 4 Tracks
Track 1:
flags: 3 ENABLED IN-MOVIE
id: 1
type: Video
duration: 3145640 ms
language: und
media:
sample count: 78641
timescale: 19200
duration: 60396288 (media timescale units)
duration: 3145640 (ms)
bitrate (computed): 1695.252 Kbps
display width: 1024.000000
display height: 576.000000
frame rate (computed): 25.000
Sample Description 0
Coding: avc1 (H.264)
Codec String: avc1.4D401F
AVC Profile: 77 (Main)
AVC Profile Compat: 40
AVC Level: 31
AVC NALU Length Size: 4
AVC SPS: [674d401fb918080093602d404040500000030010000003032e22000cf8400013747ef7b80f840209c0]
AVC PPS: [68febc80]
Width: 1024
Height: 576
Depth: 24
Track 2:
flags: 3 ENABLED IN-MOVIE
id: 2
type: Audio
duration: 3145622 ms
language: fra
media:
sample count: 147451
timescale: 48000
duration: 150989824 (media timescale units)
duration: 3145621 (ms)
bitrate (computed): 128.000 Kbps
Sample Description 0
Coding: mp4a (MPEG-4 Audio)
Codec String: mp4a.40.2
Stream Type: Audio
Object Type: MPEG-4 Audio
Max Bitrate: 127999
Avg Bitrate: 127999
Buffer Size: 0
MPEG-4 Audio Object Type: 2 (AAC Low Complexity)
MPEG-4 Audio Decoder Config:
Sampling Frequency: 48000
Channels: 2
Sample Rate: 48000
Sample Size: 16
Channels: 2
Track 3:
flags: 3 ENABLED IN-MOVIE
id: 3
type: Subtitles
duration: 600001 ms
language: fra
media:
sample count: 3
timescale: 1000000
duration: 600001000 (media timescale units)
duration: 600001 (ms)
bitrate (computed): 0.000 Kbps
Sample Description 0
Coding: tx3g (Timed Text)
Codec String: tx3g
Track 4:
flags: 2 IN-MOVIE
id: 4
type: Subtitles
duration: 3145640 ms
language: fra
media:
sample count: 2457
timescale: 1000000
duration: 3145640000 (media timescale units)
duration: 3145640 (ms)
bitrate (computed): 0.102 Kbps
Sample Description 0
Coding: tx3g (Timed Text)
Codec String: tx3g
Comme le premier stream de sous-titres de la vidéo E06 (Track 3) n’est pas pris en compte par le Player, c’est le second stream (Track 4 : audiodescription) qui est affiché par défaut, ce qui m’oblige à intervenir lors du visionnage du fichier pour sélectionner “aucun sous-titre” à la main dans le menu “langues et sous-titres”. Agaçant. :)
J’aurais donc besoin de connaître les critères de prise en compte par le Player d’un stream de sous-titres inclus dans un fichier .mp4… Si nécessaire, je peux fournir les deux fichiers .mp4 cités plus haut pour analyse.
|