
Recherche avancée
Autres articles (38)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Creating farms of unique websites
13 avril 2011, parMediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...) -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir
Sur d’autres sites (8001)
-
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>