
Recherche avancée
Autres articles (71)
-
Contribute to documentation
13 avril 2011Documentation is vital to the development of improved technical capabilities.
MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
To contribute, register to the project users’ mailing (...) -
MediaSPIP en mode privé (Intranet)
17 septembre 2013, parÀ partir de la version 0.3, un canal de MediaSPIP peut devenir privé, bloqué à toute personne non identifiée grâce au plugin "Intranet/extranet".
Le plugin Intranet/extranet, lorsqu’il est activé, permet de bloquer l’accès au canal à tout visiteur non identifié, l’empêchant d’accéder au contenu en le redirigeant systématiquement vers le formulaire d’identification.
Ce système peut être particulièrement utile pour certaines utilisations comme : Atelier de travail avec des enfants dont le contenu ne doit pas (...) -
Gestion des droits de création et d’édition des objets
8 février 2011, parPar défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;
Sur d’autres sites (9700)
-
rtpdec : fix issue with conversion from unsigned to signed
20 février 2015, par Gilles Chanteperdrixrtpdec : fix issue with conversion from unsigned to signed
When receiving an RTCP packet, the difference between the last RTCP
timestamp and the base timestamp may be negative. As these timestamps
are of the uint32_t type, the result becomes a large integer. Cast
the difference to int32_t to avoid this issue.The result of this issue is very large start times for RTSP
streams, and difficulty to restart correctly after a pause.Signed-off-by : Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by : Martin Storsjö <martin@martin.st> -
ffv1 : Drop unnecessary casts and const qualifiers to match function signatures
18 décembre 2014, par Diego Biurrun -
Some videos fail to chromecast with error MEDIA_UNKNOWN
1er juin 2020, par JonasVautherinUsing
mkchromecast
to cast local mp4 files, some videos work, and some don't (as in : the screen hangs on the blue chromecast logo, suggesting that the initial connection worked). I can reproduce exactly the issue described here.


So I decided to go one level lower, with
pychromecast
, and try to see what actually happens when it hangs on the blue logo. I converted two videos to HLS format, and exposed them through an http server. The video that works withmkchromecast
also works with my setup, but the one that fails, well... fails on both. Withpychromecast
, I don't get much more information than :




ERROR, code 100 : MEDIA_UNKNOWN.





From the Cast documentation, this error means :





The media element encountered an unknown error fired from platform. The media element encountered an error that did not indicate it's one of MediaError.MEDIA_ERR_*. This should be rare.





It is not rare for me at all, though. I thought that maybe the failing video was in an unsupported format, as described in the documentation. So I tried to compare both videos with the following command :



ffprobe -v quiet -print_format json -show_streams 




Video that works :



{
 "streams": [
 {
 "index": 0,
 "codec_name": "h264",
 "codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
 "profile": "High",
 "codec_type": "video",
 "codec_time_base": "1001/48000",
 "codec_tag_string": "avc1",
 "codec_tag": "0x31637661",
 "width": 1920,
 "height": 1080,
 "coded_width": 1920,
 "coded_height": 1088,
 "has_b_frames": 2,
 "sample_aspect_ratio": "1:1",
 "display_aspect_ratio": "16:9",
 "pix_fmt": "yuv420p",
 "level": 50,
 "chroma_location": "left",
 "refs": 1,
 "is_avc": "true",
 "nal_length_size": "4",
 "r_frame_rate": "24000/1001",
 "avg_frame_rate": "24000/1001",
 "time_base": "1/24000",
 "start_pts": 0,
 "start_time": "0.000000",
 "duration_ts": 47127080,
 "duration": "1963.628333",
 "bit_rate": "5527977",
 "bits_per_raw_sample": "8",
 "nb_frames": "47080",
 "disposition": {
 "default": 1,
 "dub": 0,
 "original": 0,
 "comment": 0,
 "lyrics": 0,
 "karaoke": 0,
 "forced": 0,
 "hearing_impaired": 0,
 "visual_impaired": 0,
 "clean_effects": 0,
 "attached_pic": 0,
 "timed_thumbnails": 0
 },
 "tags": {
 "language": "und",
 "handler_name": "VideoHandler"
 }
 },
 {
 "index": 1,
 "codec_name": "aac",
 "codec_long_name": "AAC (Advanced Audio Coding)",
 "profile": "LC",
 "codec_type": "audio",
 "codec_time_base": "1/48000",
 "codec_tag_string": "mp4a",
 "codec_tag": "0x6134706d",
 "sample_fmt": "fltp",
 "sample_rate": "48000",
 "channels": 2,
 "channel_layout": "stereo",
 "bits_per_sample": 0,
 "r_frame_rate": "0/0",
 "avg_frame_rate": "0/0",
 "time_base": "1/48000",
 "start_pts": 0,
 "start_time": "0.000000",
 "duration_ts": 94254528,
 "duration": "1963.636000",
 "bit_rate": "125776",
 "max_bit_rate": "125776",
 "nb_frames": "92048",
 "disposition": {
 "default": 1,
 "dub": 0,
 "original": 0,
 "comment": 0,
 "lyrics": 0,
 "karaoke": 0,
 "forced": 0,
 "hearing_impaired": 0,
 "visual_impaired": 0,
 "clean_effects": 0,
 "attached_pic": 0,
 "timed_thumbnails": 0
 },
 "tags": {
 "language": "und",
 "handler_name": "SoundHandler"
 }
 }
 ]
}




Video that does NOT work :



{ 
 "streams": [
 {
 "index": 0,
 "codec_name": "h264",
 "codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
 "profile": "High",
 "codec_type": "video",
 "codec_time_base": "125/5994",
 "codec_tag_string": "avc1",
 "codec_tag": "0x31637661",
 "width": 1920,
 "height": 1040,
 "coded_width": 1920,
 "coded_height": 1040,
 "has_b_frames": 2,
 "sample_aspect_ratio": "1:1",
 "display_aspect_ratio": "24:13",
 "pix_fmt": "yuv420p",
 "level": 41,
 "chroma_location": "left",
 "refs": 1,
 "is_avc": "true",
 "nal_length_size": "4",
 "r_frame_rate": "2997/125",
 "avg_frame_rate": "2997/125",
 "time_base": "1/11988",
 "start_pts": 0,
 "start_time": "0.000000",
 "duration_ts": 97032000,
 "duration": "8094.094094",
 "bit_rate": "2499644",
 "bits_per_raw_sample": "8",
 "nb_frames": "194064",
 "disposition": {
 "default": 1,
 "dub": 0,
 "original": 0,
 "comment": 0,
 "lyrics": 0,
 "karaoke": 0,
 "forced": 0,
 "hearing_impaired": 0,
 "visual_impaired": 0,
 "clean_effects": 0,
 "attached_pic": 0,
 "timed_thumbnails": 0
 },
 "tags": {
 "creation_time": "2020-03-27T09:56:39.000000Z",
 "language": "und",
 "handler_name": "L-SMASH Video Media Handler"
 }
 },
 {
 "index": 1,
 "codec_name": "aac",
 "codec_long_name": "AAC (Advanced Audio Coding)",
 "profile": "LC",
 "codec_type": "audio",
 "codec_time_base": "1/48000",
 "codec_tag_string": "mp4a",
 "codec_tag": "0x6134706d",
 "sample_fmt": "fltp",
 "sample_rate": "48000",
 "channels": 6,
 "channel_layout": "5.1",
 "bits_per_sample": 0,
 "r_frame_rate": "0/0",
 "avg_frame_rate": "0/0",
 "time_base": "1/48000",
 "start_pts": 0,
 "start_time": "0.000000",
 "duration_ts": 388516320,
 "duration": "8094.090000",
 "bit_rate": "224000",
 "max_bit_rate": "224000",
 "nb_frames": "379413",
 "disposition": {
 "default": 1,
 "dub": 0,
 "original": 0,
 "comment": 0,
 "lyrics": 0,
 "karaoke": 0,
 "forced": 0,
 "hearing_impaired": 0,
 "visual_impaired": 0,
 "clean_effects": 0,
 "attached_pic": 0,
 "timed_thumbnails": 0
 },
 "tags": {
 "creation_time": "2020-03-27T09:56:39.000000Z",
 "language": "eng",
 "handler_name": "SoundHandler"
 }
 }
 ]
}




For what I can see, the codecs are the same, and the only difference I can make is in the aspect ratio.



What could be the reason for this "MEDIA_UNKNOWN" error on the chromecast side ? Is there something more I could compare between those two videos ? Could it be that the chromecast fails because of the aspect ratio ?