Recherche avancée

Médias (1)

Mot : - Tags -/Rennes

Autres articles (110)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

Sur d’autres sites (11797)

  • ffmpeg terminates without any output

    11 septembre 2012, par Khan

    I am using ffmpeg to convert a video file to mp4. here is my code

       echo "converting ".basename($src)." --- to --- ".basename($dest).".mp4...<br />";
    $command = FFMPEG.&#39; -i &#39; . $src . &#39; -sameq -strict -2 -vcodec libx264 -ar 22050 -y &#39; . $dest.&#39;.mp4 2>&amp;1&#39;;   //
    echo $command.&#39;<br />&#39;;

    exec($command,$output,$status);
    echo &#39;<pre>&#39;,join(&#39;<br />&#39;,$output),&#39;</pre><br />&#39;;

    if($status == 0) {              // Success
       echo &#39;Successfully converted to MP4!<br />&#39;;
    } else {
       echo $status."<br />failed<br />";
    }

    The code works fine on my localhost (Windows 7 + wamp).. But on live server , only $command is echoed.. and script is terminated. The output file is generated but it is only 4.5MB (it should be around 17 MB) and not complete... and sometime I get the following output..

       ffmpeg version 0.11.1 Copyright (c) 2000-2012 the FFmpeg developers  built on Sep 10 2012 00:38:24 with gcc 4.1.2 20080704 (Red Hat 4.1.2-52)  configuration: --prefix=/home/one01qsc/local --extra-cflags=&#39;-L/home/one01qsc/local/lib/ -I /home/one01qsc/local/include/&#39; --extra-ldflags=&#39;-L/home/one01qsc/local/lib/ -Wl,-rpath,/home/one01qsc/local/lib/&#39; --enable-libmp3lame --enable-libvorbis --enable-shared --disable-yasm --enable-libtheora --enable-libx264 --enable-gpl
     libavutil      51. 54.100 / 51. 54.100
     libavcodec     54. 23.100 / 54. 23.100
     libavformat    54.  6.100 / 54.  6.100
     libavdevice    54.  0.100 / 54.  0.100
     libavfilter     2. 77.100 /  2. 77.100
     libswscale      2.  1.100 /  2.  1.100
     libswresample   0. 15.100 /  0. 15.100
     libpostproc    52.  0.100 / 52.  0.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#39;/home/one01qsc/public_html/temp/pending/1455-testing-mobidick.mov&#39;:
     Metadata:
       major_brand     : qt
       minor_version   : 537199360
       compatible_brands: qt
       creation_time   : 2012-09-08 16:00:41
     Duration: 00:00:23.13, start: 0.490000, bitrate: 6028 kb/s
       Stream #0:0: Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 5331 kb/s, 29.97 fps, 29.97 tbr, 60k tbn, 59.94 tbc
       Metadata:
         creation_time   : 2012-09-08 16:00:41
         handler_name    : Apple Alias Data Handler
       Stream #0:1: Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 192 kb/s
       Metadata:
         creation_time   : 2012-09-08 16:00:41
         handler_name    : Apple Alias Data Handler
    [buffer @ 0x2405ce0] w:1920 h:1080 pixfmt:yuv420p tb:1/60000 sar:0/1 sws_param:flags=2
    [buffersink @ 0x2429ec0] No opaque field provided
    [aformat @ 0x23fa560] auto-inserting filter &#39;auto-inserted resampler 0&#39; between the filter &#39;src&#39; and the filter &#39;aformat&#39;
    [aresample @ 0x2402e60] chl:stereo fmt:s16 r:44100Hz -> chl:stereo fmt:flt r:22050Hz
    [libx264 @ 0x24288e0] using cpu capabilities: none!
    [libx264 @ 0x24288e0] profile High, level 4.0
    [libx264 @ 0x24288e0] 264 - core 128 - H.264/MPEG-4 AVC codec - Copyleft 2003-2012 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=24 lookahead_threads=4 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    Output #0, mp4, to &#39;/home/one01qsc/public_html/temp/1455-testing-mobidick.mp4&#39;:
     Metadata:
       major_brand     : qt
       minor_version   : 537199360
       compatible_brands: qt
       creation_time   : 2012-09-08 16:00:41
       encoder         : Lavf54.6.100
       Stream #0:0: Video: h264 (![0][0][0] / 0x0021), yuv420p, 1920x1080, q=-1--1, 30k tbn, 29.97 tbc
       Metadata:
         creation_time   : 2012-09-08 16:00:41
         handler_name    : Apple Alias Data Handler
       Stream #0:1: Audio: aac (@[0][0][0] / 0x0040), 22050 Hz, stereo, flt, 128 kb/s
       Metadata:
         creation_time   : 2012-09-08 16:00:41
         handler_name    : Apple Alias Data Handler
    Stream mapping:
     Stream #0:0 -> #0:0 (h264 -> libx264)
     Stream #0:1 -> #0:1 (aac -> aac)
    Press [q] to stop, [?] for help
    frame=   18 fps=0.0 q=0.0 size=       0kB time=00:00:00.00 bitrate=   0.0kbits/s

    the value printed for $status is 137 in this case.

    Any help is really appreciated.

  • ffmpeg javacv audio - integrate audio into video javacv

    16 juillet 2014, par Cyril Lequeux

    I’ve looked for this issue since a while but I didn’t find out any solution...
    I want to create a video from pictures with javacv (great, it works). But now I want to put in a sync way audio into my video. I heard I had to make a byte array with the sound data and then record() according to the audiobitrate/8 = audiobyterate but i didn’t find a simple sample...I’m not the first asking this question but all the same questions are still unanswered

       IplImage Image = cvLoadImage("data/photo.jpg");
       FrameRecorder recorder = FFmpegFrameRecorder.createDefault("out.avi", 1920, 1080);
       recorder.setVideoCodec(AV_CODEC_ID_MPEG4);
       recorder.setFrameRate(30);
       recorder.setFormat("avi");
       recorder.start();
           for(int s=0; s&lt;10; s++){
               for(int i=0; i&lt;30; i++){
                   recorder.record(Image);
    //Here I want to record my music.mp3 stream
               }
           }
           recorder.stop();

    Please help me, I’m desesperate :p
    Ps : I’m using javacv 0.3 FFMPEG 1.06 OpenCv 2.4.3

  • FFmpeg : generating H264 video in c++

    13 octobre 2015, par EZEROFIVE EMD

    Im using ffmpeg library in windows with vs2012 to convert a series of images into Mp4 with H264 encoding. Im new to FFMPEG.

    Below is my code. Everything went fine. Video is created.But i can play the video in vlc player only if i changed the extension to ".h264", also when i check for codec information it says "H264 - MPEG-4 AVC (part 10) (h264)". but when i checked the same for other mp4 videos which are downloaded from web. it says "H264 - MPEG-4" AVC (part 10) (avc1)". I dont understand where it went wrong. Also i searched a lot, some says like add SPS and PPS.

    const uint8_t sps[] = { 0x00, 0x00, 0x00, 0x01, 0x67, 0x42, 0x00,
    0x0a, 0xf8, 0x41, 0xa2 };
    const uint8_t pps[] = { 0x00, 0x00, 0x00, 0x01, 0x68, 0xce,
    0x38, 0x80 };

    So i added the above value to video file before i add the image stream. But no luck.
    Can anyone help on this..Thanks in advance.

    const uint8_t sps[] = { 0x00, 0x00, 0x00, 0x01, 0x67, 0x42, 0x00,
    0x0a, 0xf8, 0x41, 0xa2 };
    const uint8_t pps[] = { 0x00, 0x00, 0x00, 0x01, 0x68, 0xce,
    0x38, 0x80 };
    const uint8_t slice_header[] = { 0x00, 0x00, 0x00, 0x01, 0x05, 0x88,
    0x84, 0x21, 0xa0 };
    const uint8_t macroblock_header[] = { 0x0d, 0x00 };

    const uint8_t spspps[] = { 0x00, 0x00, 0x00, 0x01, 0x67, 0x42, 0x00, 0x0a, 0xf8, 0x41, 0xa2,
                              0x00, 0x00, 0x00, 0x01, 0x68, 0xce, 0x38, 0x80
                            };

    int ff_load_image(uint8_t *data[4], int linesize[4],
           int *w, int *h, enum PixelFormat *pix_fmt,
           const char *filename, void *log_ctx)
       {
           AVInputFormat *iformat = NULL;
           AVFormatContext *format_ctx = NULL;
           AVCodec *codec=NULL;
           AVCodecContext *codec_ctx=NULL;
           AVFrame *frame=NULL;
           int frame_decoded, ret = 0;
           AVPacket pkt;

           av_register_all();

           iformat = av_find_input_format("image2");
           if ((ret = avformat_open_input(&amp;format_ctx, filename, iformat, NULL)) &lt; 0) {
               return ret;
           }

           codec_ctx = format_ctx->streams[0]->codec;
           codec = avcodec_find_decoder(codec_ctx->codec_id);
           if (!codec) {
               ret = AVERROR(EINVAL);
               goto end;
           }

           if ((ret = avcodec_open2(codec_ctx, codec, NULL)) &lt; 0) {
               goto end;
           }

           //if (!(frame = avcodec_alloc_frame()) ) {
           if (!(frame = av_frame_alloc()) ) {
               ret = AVERROR(ENOMEM);
               goto end;
           }

           ret = av_read_frame(format_ctx, &amp;pkt);
           if (ret &lt; 0) {
               goto end;
           }

           ret = avcodec_decode_video2(codec_ctx, frame, &amp;frame_decoded, &amp;pkt);
           if (ret &lt; 0 || !frame_decoded) {
               goto end;
           }
           ret = 0;

           *w       = frame->width;
           *h       = frame->height;
           *pix_fmt = (PixelFormat)frame->format;

           if ((ret = av_image_alloc(data, linesize, *w, *h, (AVPixelFormat)*pix_fmt, 16)) &lt; 0)
               goto end;
           ret = 0;

           av_image_copy(data, linesize, (const uint8_t **)frame->data, frame->linesize, (AVPixelFormat)*pix_fmt, *w, *h);

    end:
           if(codec_ctx) { avcodec_close(codec_ctx); }
           if(format_ctx) { avformat_close_input(&amp;format_ctx); }
           if(frame) { av_freep(&amp;frame); }
           av_free_packet(&amp;pkt);
                   return ret;
       }

       int load_image_into_frame(AVFrame *frame, const char *filename)
       {
           int retval = -1, res;
           static struct SwsContext *sws_ctx;
           uint8_t *image_data[4];
           int linesize[4];
           int source_width, source_height;
           enum PixelFormat source_fmt;

           res = ff_load_image(image_data, linesize, &amp;source_width, &amp;source_height, &amp;source_fmt, filename, NULL);

           if (source_fmt != frame->format) {
               sws_ctx = sws_getContext(source_width, source_height, (AVPixelFormat)source_fmt,
                   frame->width, frame->height, (AVPixelFormat)frame->format,
                   sws_flags, NULL, NULL, NULL);

               sws_scale(sws_ctx,
                   (const uint8_t * const *)image_data, linesize,
                   0, frame->height, frame->data, frame->linesize);
           }

           retval = 0;
    error:
           av_freep(&amp;image_data[0]);
           sws_freeContext(sws_ctx);
           return retval;
       }

       int write_frame_to_file(FILE *file, AVFrame *frame, AVCodecContext *codec_context, AVPacket *pkt) {
           int res, got_output;
           av_init_packet(pkt);
           pkt->data = NULL;
           pkt->size = 0;

           /* generate synthetic video */
           frame->pts += 30;

           res = avcodec_encode_video2(codec_context, pkt, frame, &amp;got_output);

           if (got_output) {

               fwrite(pkt->data, 1, pkt->size, file);
               av_free_packet(pkt);
           }
           return 0;
    error:
           return -1;
       }

       int write_image_to_file(FILE *file, const char *filename, int count, AVFrame *frame, AVCodecContext *codec_context, AVPacket *pkt) {
           int res, i;
           res = load_image_into_frame(frame, filename);

           for (i = 0; i &lt; count; i++) {

               res = write_frame_to_file(file, frame, codec_context, pkt);
           }

           return 0;
    error:
           return -1;
       }

       int write_delayed_frames_to_file(FILE *file, AVFrame *frame, AVCodecContext *codec_context, AVPacket *pkt) {
           int res, got_output;

           for (got_output = 1; got_output;) {
               res = avcodec_encode_video2(codec_context, pkt, NULL, &amp;got_output);

               if (got_output) {
                   fwrite(pkt->data, 1, pkt->size, file);
                   av_free_packet(pkt);
               }
           }

           return 0;
    error:
           return -1;
       }

       AVCodecContext *get_codec_context(int width, int height, int fps)
       {
           int res;
           avcodec_register_all();

           AVCodec *codec;
           AVCodecContext *codec_context = NULL;

           codec = avcodec_find_encoder(AV_CODEC_ID_H264);

           codec_context = avcodec_alloc_context3(codec);

           codec_context->bit_rate = 441000;
           codec_context->width = width;
           codec_context->height = height;
           AVRational temp_113 = {1, fps};
           AVRational temp_114 = {fps, 1};
           codec_context->time_base= temp_113;
           codec_context->gop_size = 10;
           codec_context->max_b_frames=1;
           codec_context->pix_fmt = AV_PIX_FMT_YUV420P;        

           res = avcodec_open2(codec_context, codec, NULL);

           return codec_context;
    error:
           return NULL;
       }

       AVFrame *get_av_frame(AVCodecContext *codec_context) {
           int res;
           AVFrame *frame;

           frame = av_frame_alloc();
           frame->height = codec_context->height;
           frame->width = codec_context->width;
           frame->format = codec_context->pix_fmt;
           frame->pts = 0;

           res = av_image_alloc(frame->data, frame->linesize, frame->width, frame->height, (AVPixelFormat)frame->format, 1);

           return frame;
    error:
           return NULL;
       }

       int main(int argc, char **argv)
       {
           const char *filename = "result video\\test.mp4";
           FILE *file=NULL;
           int res, retval=-1;
           AVCodecContext *codec_context= NULL;
           AVFrame *frame=NULL;
           AVPacket pkt;
           uint8_t endcode[] = { 0, 0, 1, 0xb7 };

           codec_context = get_codec_context(1920, 1080, 30);

           file = fopen(filename, "wb");
           //check(file != NULL, "could not open destination file %s", filename);

           frame = get_av_frame(codec_context);        

           //fwrite(sps, 1, sizeof(sps), file);
           //fwrite(pps, 1, sizeof(pps), file);

           /*codec_context->extradata = (uint8_t *)malloc(sizeof(uint8_t) * sizeof(spspps));

           for(unsigned int index = 0; index &lt; sizeof(spspps); index++)
           {
               codec_context->extradata[index] = spspps[index];
           }

           codec_context->extradata_size = (int)sizeof(spspps);*/

           codec_context->flags |= CODEC_FLAG_GLOBAL_HEADER;

           int i, frames= 51;
           for (i = 0; i &lt; frames; i++) {
               std::stringstream ss;
               ss&lt;&lt;"\\frames\\out"&lt;&lt;( i + 1)&lt;&lt;".jpg";
               res = write_image_to_file(file, ss.str().c_str(), 3, frame, codec_context, &amp;pkt);
           }


           res = write_delayed_frames_to_file(file, frame, codec_context, &amp;pkt);
           fwrite(endcode, 1, sizeof(endcode), file);

           retval = 0;
    error:
           if (file)
               fclose(file);
           if (codec_context) {
               avcodec_close(codec_context);
               av_free(codec_context);
           }
           if (frame) {
               av_freep(&amp;frame->data[0]);
               av_free(frame);
           }
           return retval;
       }
    }