Recherche avancée

Médias (1)

Mot : - Tags -/copyleft

Autres articles (58)

  • Support de tous types de médias

    10 avril 2011

    Contrairement à beaucoup de logiciels et autres plate-formes modernes de partage de documents, MediaSPIP a l’ambition de gérer un maximum de formats de documents différents qu’ils soient de type : images (png, gif, jpg, bmp et autres...) ; audio (MP3, Ogg, Wav et autres...) ; vidéo (Avi, MP4, Ogv, mpg, mov, wmv et autres...) ; contenu textuel, code ou autres (open office, microsoft office (tableur, présentation), web (html, css), LaTeX, Google Earth) (...)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

Sur d’autres sites (9552)

  • FFMPEG, "Could not open file.. " "av_interleaved_write_frame() : Input/output error"

    10 juillet 2018, par justaguytrynabuildawebsite

    Trying to run a simple ffmpeg line on my Ubuntu 16.04 vps shell,

    ffmpeg -ss 1 -i /var/www/html/lib/vid/4581989_022810100718.mp4 -r 1 -vframes 1 /var/www/html/lib/thumbnail/4581989_022810100718/20.jpg

    but am met with

    Could not open file

    and

    av_interleaved_write_frame(): Input/output error

    I have already tried giving the ../lib/vid folder in question 777 permissions but it didnt help.

    Full print-out :

    ffmpeg version 2.8.14-0ubuntu0.16.04.1 Copyright (c) 2000-2018 the FFmpeg developers
    built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609
    configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
    libavutil      54. 31.100 / 54. 31.100
    libavcodec     56. 60.100 / 56. 60.100
    libavformat    56. 40.101 / 56. 40.101
    libavdevice    56.  4.100 / 56.  4.100
    libavfilter     5. 40.101 /  5. 40.101
    libavresample   2.  1.  0 /  2.  1.  0
    libswscale      3.  1.101 /  3.  1.101
    libswresample   1.  2.101 /  1.  2.101
    libpostproc    53.  3.100 / 53.  3.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/var/www/html/lib/vid/4581989_022810100718.mp4':
    Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf56.36.100
    Duration: 00:00:04.90, start: 0.000000, bitrate: 2595 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1820x1024 [SAR 1:1 DAR 455:256], 2593 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
    Metadata:
     handler_name    : VideoHandler
    [swscaler @ 0x1652280] deprecated pixel format used, make sure you did set range correctly
    Output #0, image2, to '/var/www/html/lib/thumbnail/4581989_022810100718/20.jpg':
    Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf56.40.101
    Stream #0:0(und): Video: mjpeg, yuvj420p(pc), 1820x1024 [SAR 1:1 DAR 455:256], q=2-31, 200 kb/s, 1 fps, 1 tbn, 1 tbc (default)
    Metadata:
     handler_name    : VideoHandler
     encoder         : Lavc56.60.100 mjpeg
    Stream mapping:
    Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))
    Press [q] to stop, [?] for help
    [image2 @ 0x16103a0] Could not open file : /var/www/html/lib/thumbnail/4581989_022810100718/20.jpg
    av_interleaved_write_frame(): Input/output error
    frame=    1 fps=0.0 q=3.4 Lsize=N/A time=00:00:01.00 bitrate=N/A    
    video:48kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
    Conversion failed!
  • gstreamer : Internal data error, in appsink "pull-sample" mode

    9 mai 2018, par Amir Raza

    I am getting Internal data error, in appsink .
    My application is to read .yuv data , encode and write to a buffer.

    I have accomplished the writing it file but when i changed the code to write it buffer it giving error.
    Its only able to write only single packet (188bytes).

    Output of program :

    (ConsoleApplication6.exe:14432): GStreamer-WARNING **: Failed to load plugin 'C:\gstreamer\1.0\x86_64\lib\gstreamer-1.0\libgstopenh264.dll': 'C:\gstreamer\1.0\x86_64\lib\gstreamer-1.0\libgstopenh264.dll': The specified procedure could not be found.
       pipeline:  filesrc location=Transformers1080p.yuv blocksize=4147200 ! videoparse  width=1920 height=1080 framerate=60/1 ! videoconvert ! video/x-raw,format=I420,width=1920,height=1080,framerate=60/1 !  x264enc ! mpegtsmux ! queue !  appsink name = sink
       Now playing: Transformers1080p.yuv
       Running...

        on_new_sample_from_sink

        sample got of size = 188
       Error: Internal data stream error.
       Returned, stopping playback
       Deleting pipeline

    my code :

    #define _CRT_SECURE_NO_WARNINGS 1
    //#pragma warning(disable:4996)
    #include <gst></gst>gst.h>
    #include <gst></gst>audio/audio.h>
    #include <gst></gst>app/gstappsrc.h>
    #include <gst></gst>base/gstpushsrc.h>
    #include <gst></gst>app/gstappsink.h>
    #include <gst></gst>video/video.h>
    #include <gst></gst>video/gstvideometa.h>
    #include <gst></gst>video/video-overlay-composition.h>

    #include
    #include

    #include
    #include

    using namespace std;

    GstElement *SinkBuff;
    char *out_file_path;
    FILE *out_file;

    //gst-launch-1.0.exe -v filesrc location=Transformers1080p.yuv blocksize=4147200 !  
    //videoconvert ! video/x-raw,format=I420,width=1920,height=1080,framerate=60/1 !  
    //openh264enc ! mpegtsmux ! filesink location=final.ts


    static gboolean bus_call(GstBus     *bus, GstMessage *msg, gpointer    data)
    {
           GMainLoop *loop = (GMainLoop *)data;

           switch (GST_MESSAGE_TYPE(msg))
           {
           case GST_MESSAGE_EOS:
                   g_print("End of stream\n");
                   g_main_loop_quit(loop);
                   break;

           case GST_MESSAGE_ERROR:
             {
                   gchar  *debug;
                   GError *error;

                   gst_message_parse_error(msg, &amp;error, &amp;debug);
                   g_free(debug);

                   g_printerr("Error: %s\n", error->message);
                   g_error_free(error);

                   g_main_loop_quit(loop);
                   break;
             }
           default:
                   break;
       }
           return TRUE;
    }

    /* called when the appsink notifies us that there is a new buffer ready for
    * processing */
    static void  on_new_sample_from_sink(GstElement * elt, void *ptr)
    {
           guint size;
           GstBuffer *app_buffer, *buffer;
           GstElement *source;
           GstMapInfo map = { 0 };
           GstSample *sample;
           static GstClockTime timestamp = 0;
           printf("\n on_new_sample_from_sink \n ");
           /* get the buffer from appsink */
           g_signal_emit_by_name(SinkBuff, "pull-sample", &amp;sample, NULL);
           if (sample)
           {
                   buffer = gst_sample_get_buffer(sample);
                   gst_buffer_map(buffer, &amp;map, GST_MAP_READ);

                   printf("\n sample got of size = %d \n", map.size);
                   //Buffer
                   fwrite((char *)map.data, 1, sizeof(map.size), out_file);

                   gst_buffer_unmap(buffer, &amp;map);
                   gst_sample_unref(sample);
           }
    }


    int main(int   argc, char *argv[])
    {
           GMainLoop *loop;
           int width, height;

           GstElement *pipeline;
           GError *error = NULL;
           GstBus *bus;
           char pipeline_desc[1024];
           out_file = fopen("output.ts", "wb");


           /* Initialisation */
           gst_init(&amp;argc, &amp;argv);

           // Create gstreamer loop
           loop = g_main_loop_new(NULL, FALSE);

           sprintf(
                   pipeline_desc,
                   " filesrc location=Transformers1080p.yuv blocksize=4147200 !"
                   " videoparse  width=1920 height=1080 framerate=60/1 !"
                   " videoconvert ! video/x-raw,format=I420,width=1920,height=1080,framerate=60/1 ! "
                   //" x264enc ! mpegtsmux ! filesink location=final.ts");
                   " x264enc ! mpegtsmux ! queue !  appsink name = sink");


           printf("pipeline: %s\n", pipeline_desc);

           /* Create gstreamer elements */
           pipeline = gst_parse_launch(pipeline_desc, &amp;error);

           /* TODO: Handle recoverable errors. */

           if (!pipeline) {
                   g_printerr("Pipeline could not be created. Exiting.\n");
                   return -1;
           }

           /* get sink */
           SinkBuff = gst_bin_get_by_name(GST_BIN(pipeline), "sink");
           g_object_set(G_OBJECT(SinkBuff), "emit-signals", TRUE, "sync", FALSE, NULL);
           g_signal_connect(SinkBuff, "new-sample", G_CALLBACK(on_new_sample_from_sink), NULL);


           /* Set up the pipeline */
           /* we add a message handler */
           bus = gst_pipeline_get_bus(GST_PIPELINE(pipeline));
           gst_bus_add_watch(bus, bus_call, loop);
           gst_object_unref(bus);

           /* Set the pipeline to "playing" state*/
           g_print("Now playing: Transformers1080p.yuv \n");
           gst_element_set_state(pipeline, GST_STATE_PLAYING);

           /* Iterate */
           g_print("Running...\n");
           g_main_loop_run(loop);

           /* Out of the main loop, clean up nicely */
           g_print("Returned, stopping playback\n");
           gst_element_set_state(pipeline, GST_STATE_NULL);

           g_print("Deleting pipeline\n");
           gst_object_unref(GST_OBJECT(pipeline));
           fclose(out_file);
           g_main_loop_unref(loop);


           return 0;
    }
  • How can start a process and stop the process if "error" string appear in the console output strings in one line commands set

    25 janvier 2018, par Thm Lee

    Now I want one line cmd commands set which start a process and monitor the consol output strings stream. And so if error message appear in the process’s console output, then could stop the process immediately.

    For example, I tried below commends sets, but failed. It seems find command didn’t get any strings streams in which search key word "error"

    ffmpeg "endcoding process options set" | find "error" && exit

    or,

    ffmpeg "endcoding process options set" 2>&1 find "error" && exit

    Is there any solutions about this ?

    Thanks in advance