
Recherche avancée
Autres articles (74)
-
Le profil des utilisateurs
12 avril 2011, parChaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...) -
Configurer la prise en compte des langues
15 novembre 2010, parAccéder à la configuration et ajouter des langues prises en compte
Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...) -
XMP PHP
13 mai 2011, parDixit Wikipedia, XMP signifie :
Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...)
Sur d’autres sites (8446)
-
Encode NV12 frames to h264 using x264enc (appsrc and appsink)
9 octobre 2023, par Abdul RehmanI am trying to encode NV12 frames to h264 files. For that I found a following code that is encoding raw frames to jpeg using jpegenc. The code works fine with jpeg encoder after some minor changes for NV12 frames. However x264enc encode only first frame and the rest of them are outputting the pps error when running with mplayer.


First frame output


[h264 @ 0x7f1ea2ed3600]decoding for stream 0 failed
[lavf] stream 0: video (h264), -vid 0
VIDEO: [H264] 1920x1080 0bpp 1.000 fps 0.0 kbps ( 0.0 kbyte/s)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 58.54.100 (external)
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
Load subtitles in ./
Audio: no sound
Starting playback...
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [vdpau] 1920x1080 => 1920x1080 Planar YV12



Error frame output :



[h264 @ 0x7f9c2e44f4c0]non-existing PPS 0 referenced
[h264 @ 0x7f9c2e44f4c0]non-existing PPS 0 referenced
[h264 @ 0x7f9c2e44f4c0]decode_slice_header error

[h264 @ 0x7f9c2eece600]decoding for stream 0 failed
[h264 @ 0x7f9c2eece600]Could not find codec parameters for stream 0 (Video: h264, none): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[lavf] stream 0: video (h264), -vid 0
VIDEO: [H264] 0x0 0bpp 25.000 fps 0.0 kbps ( 0.0 kbyte/s)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 58.54.100 (external)
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)



I have changed the pipeline, block size and added queue.
Pipeline :


pipeline = gst_pipeline_new("mypipeline");
appsrc = gst_element_factory_make("appsrc", "mysource");
queue1 = gst_element_factory_make("queue", "myqueue1");
jpegenc = gst_element_factory_make("x264enc", "myenc");
//parser = gst_element_factory_make("h264parse", "parser");
appsink = gst_element_factory_make("appsink", "mysink");


...
g_object_set(G_OBJECT(appsrc), "format", GST_FORMAT_TIME, "is-live", TRUE, "do-timestamp", TRUE, NULL);
g_object_set(G_OBJECT(jpegenc), "tune", 0x00000004, NULL); // 0x00000004 is the ultrafast preset

...
capsappsrc2Jpegenc = gst_caps_new_simple("video/x-raw", "format",
 G_TYPE_STRING, "NV12", "width", G_TYPE_INT, width, "height",
 G_TYPE_INT, height, "framerate", GST_TYPE_FRACTION, 1, 1, 
 "interlace-mode", G_TYPE_STRING, "progressive",
 "colorimetry", G_TYPE_STRING, "bt601",
 NULL);

 // blocksize is important for jpegenc to know how many data to expect from appsrc in a single frame, too
 char szTemp[64];
 sprintf(szTemp, "%d", 3110400);
 g_object_set(G_OBJECT (appsrc), "blocksize", szTemp,
 NULL);




-
mips : intreadwrite : Only execute that code for mips r1 or r2
25 septembre 2015, par Vicente Olivert Rieramips : intreadwrite : Only execute that code for mips r1 or r2
MIPS R6 supports unaligned memory access and does not have
the load/store-left/right family of instructions.Signed-off-by : Vicente Olivert Riera <Vincent.Riera at imgtec.com>
Signed-off-by : Luca Barbato <lu_zero at gentoo.org>
Signed-off-by : Luca Barbato <lu_zero@gentoo.org> -
lavu/random_seed : use arc4random() when available
7 décembre 2015, par Ganesh Ajjanagaddelavu/random_seed : use arc4random() when available
arc4random() was designed as a superior interface for system random
number generation, designed for OpenBSD and subsequently incorporated by
other BSD’s, Mac OS X, and some non-standard libc’s. It is thus an improvement to
use it whenever available.As a side note, this may or may not get included in glibc, and there is
a proposal to create a posix_random family based on these ideas :
http://austingroupbugs.net/view.php?id=859.Tested on Mac OS X.
Signed-off-by : Ganesh Ajjanagadde <gajjanagadde@gmail.com>