
Recherche avancée
Médias (91)
-
Spitfire Parade - Crisis
15 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Wired NextMusic
14 mai 2011, par
Mis à jour : Février 2012
Langue : English
Type : Video
-
Video d’abeille en portrait
14 mai 2011, par
Mis à jour : Février 2012
Langue : français
Type : Video
-
Sintel MP4 Surround 5.1 Full
13 mai 2011, par
Mis à jour : Février 2012
Langue : English
Type : Video
-
Carte de Schillerkiez
13 mai 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Texte
-
Publier une image simplement
13 avril 2011, par ,
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (24)
-
Création définitive du canal
12 mars 2010, parLorsque votre demande est validée, vous pouvez alors procéder à la création proprement dite du canal. Chaque canal est un site à part entière placé sous votre responsabilité. Les administrateurs de la plateforme n’y ont aucun accès.
A la validation, vous recevez un email vous invitant donc à créer votre canal.
Pour ce faire il vous suffit de vous rendre à son adresse, dans notre exemple "http://votre_sous_domaine.mediaspip.net".
A ce moment là un mot de passe vous est demandé, il vous suffit d’y (...) -
Utilisation et configuration du script
19 janvier 2011, parInformations spécifiques à la distribution Debian
Si vous utilisez cette distribution, vous devrez activer les dépôts "debian-multimedia" comme expliqué ici :
Depuis la version 0.3.1 du script, le dépôt peut être automatiquement activé à la suite d’une question.
Récupération du script
Le script d’installation peut être récupéré de deux manières différentes.
Via svn en utilisant la commande pour récupérer le code source à jour :
svn co (...) -
Les tâches Cron régulières de la ferme
1er décembre 2010, parLa gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
Le super Cron (gestion_mutu_super_cron)
Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)
Sur d’autres sites (7016)
-
Using libavcodec to read .mkv video file
10 mars 2020, par SlavTrying to read .mkv file and write it to .bmp, but resulting .bmp is black-and-white and consists of multiple mini-images of what supposed to be written :
int main()
{
av_register_all();
avformat_network_init();
avfilter_register_all();
//crashes on -Ofast without =NULL initialization:
AVFormatContext * format = NULL;
if ( avformat_open_input( & format, VIDEO_FILE, NULL, NULL ) != 0 ) {
cerr << "Could not open file " << VIDEO_FILE << endl;
return -1;
}
// Retrieve stream information
if ( avformat_find_stream_info( format, NULL ) < 0) {
cerr << "avformat_find_stream_info() failed." << endl;
return -1;
}
av_dump_format( format, 0, VIDEO_FILE, false );
AVCodec * video_dec = (AVCodec*)1;
AVCodec * audio_dec = (AVCodec*)1;
const auto video_stream_index = av_find_best_stream( format, AVMEDIA_TYPE_VIDEO, -1, -1, & video_dec, 0 );
const auto audio_stream_index = av_find_best_stream( format, AVMEDIA_TYPE_AUDIO, -1, -1, & audio_dec, 0 );
if ( video_stream_index < 0 ) {
cerr << "Failed to find video stream." << endl;
return -1;
}
if ( audio_stream_index < 0 ) {
cerr << "Failed to find audio stream." << endl;
return -1;
}
AVCodecParameters * videoParams = format->streams[ video_stream_index ]->codecpar;
cout << "Having " << videoParams->width << " | " << videoParams->height << " video." << endl;
av_read_play( format );
// create decoding context
AVCodecContext * video_ctx = avcodec_alloc_context3( video_dec );
AVCodecContext * audio_ctx = avcodec_alloc_context3( audio_dec );
if ( ! video_ctx || ! audio_ctx ) {
cerr << "Failed to avcodec_alloc_context3()" << endl;
return -1;
}
if ( video_dec->capabilities & AV_CODEC_CAP_TRUNCATED ) video_ctx->flags |= AV_CODEC_FLAG_TRUNCATED; // we do not send complete frames
/* For some codecs, such as msmpeg4 and mpeg4, width and height
MUST be initialized there because this information is not
available in the bitstream. */
avcodec_parameters_to_context( video_ctx, format->streams[ video_stream_index ]->codecpar );
avcodec_parameters_to_context( audio_ctx, format->streams[ audio_stream_index ]->codecpar );
if ( avcodec_open2( video_ctx, video_dec, NULL ) < 0 ) {
cout << "Failed to open video decoder." << endl;
return -1;
}
if ( avcodec_open2( audio_ctx, audio_dec, NULL ) < 0 ) {
cout << "Failed to open audio decoder." << endl;
return -1;
}
uint8_t* picture_buffer = (uint8_t*) (av_malloc( avpicture_get_size( AV_PIX_FMT_RGB24 , videoParams->width, videoParams->height ) ));
AVFrame* picture = av_frame_alloc();
avpicture_fill( (AVPicture *) picture, picture_buffer, AV_PIX_FMT_RGB24, video_ctx->width, video_ctx->height );
AVPacket packet;
av_init_packet( & packet );
int cnt = 0;
while ( av_read_frame( format, & packet ) >= 0 && cnt < 10 ) {
if ( packet.stream_index == video_stream_index ) {
int check;
const auto result = avcodec_decode_video2( video_ctx, picture, & check, & packet );
cout << "Bytes decoded " << result << " check " << check << endl;
std::string name = "debug/av/";
name += std::to_string( cnt ) + ".bmp";
cout << "Writing frame " << name << " with linesize " << picture->linesize[0] << " ..." << endl;
write_bmp( (uint8_t*) picture->data, videoParams->width, videoParams->height, name.c_str() );
av_frame_unref( picture );
++ cnt;
}
else if ( packet.stream_index == audio_stream_index ) {
cout << "Sound packet" << endl;
}
av_free_packet( & packet );
av_init_packet( & packet );
}
}How can I fix it ?
-
Evolution #3896 : Bienvenue personnalisée à l’installation d’un plugin
6 février 2017, par jluc -La proposition ne vise pas à ouvrir un nouvel onglet comme les plugins firefox. J’aurais pas du écrire "mini page d’accueil" quand je voulais dire "message d’accueil".
La proposition vise à donner tout de suite un accès clair et visible aux informations importantes concernant un plugin après son installation et/ou à un message de bienvenue dépendant du plugin.
Ce qui m’a amené à faire cette proposition c’est le plugin menu_alpha. Voilà tous les mouvements et connaissances que j’ai du avoir pour parvenir à la page de configuration :
- Savoir qu’il faut le configurer pour que ça marche (sinon on voit rien, pas d’interface)
- Descendre chercher le plugin dans la liste (car je sais qu’à droite là il y a le bouton "outils" donnant habituellement accès à la config)
- Cliquer le nom du plugin (car je sais que ça donne des infos supplémentaires dont la doc)
- Cliquer le lien vers la doc qu’il s’est trouvé être bien là (car je savais qu’une doc bien faite me donnerait l’info cherchée)
- J’ai alors pu lire la doc, revenir au site et chercher la page de config cherchée, dans les préférences personnelles (j’ai un peu hésité car j’y vais jamais, mais je me suis souvenu de leur accès).
Un simple lien "configurer" comme le suggère marcimat serait suffisant ici
mais attention ce n’est pas la même info que celle qui fait apparaître le bouton "outils" à droite de la ligne du plugin dans la liste : menu_alpha n’a pas de bouton "outil" mais a une page de config "exotique" (ailleurs)On pourrait alors imaginer qu’il y ait d’autres moyens de faire apparaître ce bouton "outil" (pas seulement la page de configuration classique) et de le faire apparaitre aussi pour la page de config exotique de menu_alpha.
Ce serait une bonne amélioration.On peut aussi supposer que selon les plugins il peut y a d’autres infos à mettre en avant à l’installation... yc un simple message de bienvenue sympa (et non intrusif).
L’installation de plusieurs plugins simultanés amène des contraintes sur la structure visuelle de ce message, mais il me semble que ça ne change pas grand chose aux solutions envisagées. On peut évidemment juste ajouter le lien "Configurer" à la fin des messages techniques, ou bien insérer des lignes "li" supplémentaires au milieu des messages techniques d’installation, et on peut aussi créer plusieurs nouvelles petites boites à la suite de la boite des messages techniques, une pour chacun des messages personnalisés quand il y en a un.
-
HLS MP4 Independent Segments
7 décembre 2016, par MidoLong story short : Why HLS can’t just play normal MP4 files together one after one ? Why need to segment media file into .ts segments ?
Details :
We’ve segmented MP4 file into mini MP4 segments (not TS), each one about 30 seconds for testing. It never plays in any HLS player, just loading all segment files then nothing happens.
Example MP4 segment Info :
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 1.44 MiB
Duration : 32s 950ms
Overall bit rate : 366 Kbps
Writing application : Lavf56.25.101
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings, CABAC : Yes
Format settings, ReFrames : 6 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 32s 950ms
Bit rate : 230 Kbps
Width : 426 pixels
Height : 240 pixels
Display aspect ratio : 16:9
Original display aspect rat : 16:9
Frame rate mode : Constant
Frame rate : 23.976 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.094
Stream size : 925 KiB (63%)
Writing library : x264 core 142 r2495 6a301b6
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 32s 896ms
Bit rate mode : Constant
Bit rate : 129 Kbps
Channel(s) : 2 channels
Channel(s)_Original : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Compression mode : Lossy
Stream size : 517 KiB (35%)The Master M3U8 :
#EXTM3U
#EXT-X-VERSION:7
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-STREAM-INF:RESOLUTION=426x240,BANDWIDTH=370000,CODECS="avc1.640015,mp4a.40.2"
240p.m3u8
#EXT-X-STREAM-INF:RESOLUTION=640x360,BANDWIDTH=580000,CODECS="avc1.640015,mp4a.40.2"
360p.m3u8
#EXT-X-STREAM-INF:RESOLUTION=896x504,BANDWIDTH=900000,CODECS="avc1.640015,mp4a.40.2"
480p.m3u8
#EXT-X-STREAM-INF:RESOLUTION=1280x720,BANDWIDTH=1500000,CODECS="avc1.640015,mp4a.40.2"
720p.m3u8240p.m3u8
#EXTM3U
#EXT-X-VERSION:7
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-TARGETDURATION:34
#EXTINF:33.033033,
240p000.mp4
#EXTINF:33.533534,
240p001.mp4
#EXTINF:24.941608,
240p002.mp4
#EXTINF:28.611945,
240p003.mp4
#EXT-X-ENDLISTWhen tested with HLS.js, gives this error :
Parsing Error:no demux matching with content found,cannot recover,
last media error recovery failed ...Bitmovin Player : loads all segments of all variants and never plays any of them. just stop.
Tested on Chrome & Firefox On Windows, Safari on Mac, Android and iPad Browsers. Never works on any of them. Are we doing anything wrong ?!