Recherche avancée

Médias (1)

Mot : - Tags -/remix

Autres articles (12)

  • Ajouter notes et légendes aux images

    7 février 2011, par

    Pour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
    Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
    Modification lors de l’ajout d’un média
    Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)

  • Les formats acceptés

    28 janvier 2010, par

    Les commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
    ffmpeg -codecs ffmpeg -formats
    Les format videos acceptés en entrée
    Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
    Les formats vidéos de sortie possibles
    Dans un premier temps on (...)

  • Les vidéos

    21 avril 2011, par

    Comme les documents de type "audio", Mediaspip affiche dans la mesure du possible les vidéos grâce à la balise html5 .
    Un des inconvénients de cette balise est qu’elle n’est pas reconnue correctement par certains navigateurs (Internet Explorer pour ne pas le nommer) et que chaque navigateur ne gère en natif que certains formats de vidéos.
    Son avantage principal quant à lui est de bénéficier de la prise en charge native de vidéos dans les navigateur et donc de se passer de l’utilisation de Flash et (...)

Sur d’autres sites (4469)

  • Merge commit ’4f7723cb3b913c577842a5bb088c804ddacac8df’

    17 novembre 2016, par Hendrik Leppkes
    Merge commit ’4f7723cb3b913c577842a5bb088c804ddacac8df’
    

    * commit ’4f7723cb3b913c577842a5bb088c804ddacac8df’ :
    movenc : Add an option for skipping writing the mfra/tfra/mfro trailer

    Merged-by : Hendrik Leppkes <h.leppkes@gmail.com>

    • [DH] libavformat/movenc.c
    • [DH] libavformat/movenc.h
  • h264/aac encoded video not playing in Edge, but working Chrome and Firefox

    7 août 2016, par Flai

    I am trying to encode a video to use in the HTML5 video-Element. However, it doesn’t work in IE Edge on my PC. It does, however, work on :

    • Chrome, Firefox
    • My android smartphone (Chrome, Firefox)

    I have two very similar files (one being the big bucks bunny trailer, the second being the video I’m trying to encode) :

    Picture : Encoding-Settings

    As you can see "1.mp4" is playing correctly, and "3.mp4" is not.

    You can download the files here : 3.mp4 - change 3.mp4 to 1.mp4 to get the other video.

    My ffmpeg-commandline is this :

    ffmpeg.exe -i in.mp4 -c:v libx264 -movflags faststart -profile:v baseline -level 3.1 -preset slower -crf 30 -c:a copy 3.mp4

    However, I have also tried :

    ffmpeg.exe -i in.mp4 -c:v libx264 -profile:v baseline -level 3.1 -preset slower -crf 30 -c:a copy 3.mp4

    and

    ffmpeg.exe -i in.mp4 -c:v libx264 -preset slower -crf 30 -c:a copy 3.mp4

    The output of ffprobe of the result is (for the file that works) :

    $ ffprobe.exe 1.mp4
    ffprobe version N-81045-g450cf40 Copyright (c) 2007-2016 the FFmpeg developers
     built with gcc 5.4.0 (GCC)
     configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-libebur128 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
     libavutil      55. 28.100 / 55. 28.100
     libavcodec     57. 50.100 / 57. 50.100
     libavformat    57. 42.100 / 57. 42.100
     libavdevice    57.  0.102 / 57.  0.102
     libavfilter     6. 47.100 /  6. 47.100
     libswscale      4.  1.100 /  4.  1.100
     libswresample   2.  1.100 /  2.  1.100
     libpostproc    54.  0.100 / 54.  0.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '1.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf55.12.102
     Duration: 00:00:33.05, start: 0.000000, bitrate: 891 kb/s
       Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 512x288, 770 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
       Metadata:
         handler_name    : VideoHandler
       Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 127 kb/s (default)
       Metadata:
         handler_name    : SoundHandler

    and for the file that doesn’t work :

    $ ffprobe.exe 3.mp4
    ffprobe version N-81045-g450cf40 Copyright (c) 2007-2016 the FFmpeg developers
     built with gcc 5.4.0 (GCC)
     configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-libebur128 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-decklink --enable-zlib
     libavutil      55. 28.100 / 55. 28.100
     libavcodec     57. 50.100 / 57. 50.100
     libavformat    57. 42.100 / 57. 42.100
     libavdevice    57.  0.102 / 57.  0.102
     libavfilter     6. 47.100 /  6. 47.100
     libswscale      4.  1.100 /  4.  1.100
     libswresample   2.  1.100 /  2.  1.100
     libpostproc    54.  0.100 / 54.  0.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '3.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf57.42.100
     Duration: 00:00:13.10, start: 0.000000, bitrate: 2317 kb/s
       Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 2143 kb/s, 60 fps, 60 tbr, 15360 tbn, 120 tbc (default)
       Metadata:
         handler_name    : VideoHandler
       Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 163 kb/s (default)
       Metadata:
         handler_name    : SoundHandler

    Can anyone point me in the right direction what the difference between the two videos is and how I can fix my ffmpeg command-line to play "3.mp4" in IE Edge ?

  • Connection reset by peer, ffmpeg

    18 août 2016, par Johnnylin

    I have tried several ways and done a lot of search. I just cannot figure out why this happens.

    This is the thread. I did almost the same thing.

    https://ffmpeg.org/pipermail/libav-user/2014-March/006356.html

    When you use ffmpeg command line together with ffserver, it works. But when you use sample code. It just does not work.

    What is missing ?

    EDIT

    Hi all,

    I took the muxing.c example and modified it in order to send a stream
    through a network socket. I only made few modifications :

    main function now looks like :

    int main()
    {
       AVOutputFormat *fmt;
       AVFormatContext *oc;
       AVStream *audio_st, *video_st;
       AVCodec *audio_codec, *video_codec;
       double audio_time, video_time;
       int flush, ret;

       /* Initialize libavcodec, and register all codecs and formats. */
       av_register_all();
       avformat_network_init();

       /* allocate the output media context */
       avformat_alloc_output_context2(&amp;oc, NULL, "mpegts", NULL);
       if (!oc) {
           printf("Could not deduce output format from file extension: using
    MPEG.\n");
           avformat_alloc_output_context2(&amp;oc, NULL, "mpegts", NULL);
       }
       if (!oc)
           return 1;

       fmt = oc->oformat;
       //fmt->video_codec = AV_CODEC_ID_MPEG2VIDEO;
       //fmt->audio_codec = AV_CODEC_ID_MP3;

       /* Add the audio and video streams using the default format codecs
        * and initialize the codecs. */
       video_st = NULL;
       audio_st = NULL;

       if (fmt->video_codec != AV_CODEC_ID_NONE)
           video_st = add_stream(oc, &amp;video_codec, fmt->video_codec);
       if (fmt->audio_codec != AV_CODEC_ID_NONE)
           audio_st = add_stream(oc, &amp;audio_codec, fmt->audio_codec);

       /* Now that all the parameters are set, we can open the audio and
        * video codecs and allocate the necessary encode buffers. */
       if (video_st)
           open_video(oc, video_codec, video_st);
       if (audio_st)
           open_audio(oc, audio_codec, audio_st);

      av_dump_format(oc, 0, "http://localhost:8090/feed1.ffm", 1);

       /* open the output file, if needed */
       if (!(fmt->flags &amp; AVFMT_NOFILE)) {
           ret = avio_open(&amp;oc->pb, "http://localhost:8090/feed1.ffm",
    AVIO_FLAG_WRITE);
           if (ret &lt; 0) {
               fprintf(stderr, "Could not open '%s': %s\n", "
    http://localhost:8090/feed1.ffm",
                       av_err2str(ret));
               return 1;
           }
       }

       /* Write the stream header, if any. */
       ret = avformat_write_header(oc, NULL);
       if (ret &lt; 0) {
           fprintf(stderr, "Error occurred when opening output file: %s\n",
                   av_err2str(ret));
           return 1;
       }

       flush = 0;
       while ((video_st &amp;&amp; !video_is_eof) || (audio_st &amp;&amp; !audio_is_eof)) {
           /* Compute current audio and video time. */
           audio_time = (audio_st &amp;&amp; !audio_is_eof) ? audio_st->pts.val *
    av_q2d(audio_st->time_base) : INFINITY;
           video_time = (video_st &amp;&amp; !video_is_eof) ? video_st->pts.val *
    av_q2d(video_st->time_base) : INFINITY;

           if (!flush &amp;&amp;
               (!audio_st || audio_time >= STREAM_DURATION) &amp;&amp;
               (!video_st || video_time >= STREAM_DURATION)) {
               flush = 1;
           }

           /* write interleaved audio and video frames */
           if (audio_st &amp;&amp; !audio_is_eof &amp;&amp; audio_time &lt;= video_time) {
               write_audio_frame(oc, audio_st, flush);
           } else if (video_st &amp;&amp; !video_is_eof &amp;&amp; video_time &lt; audio_time) {
               write_video_frame(oc, video_st, flush);
           }
       }

       /* Write the trailer, if any. The trailer must be written before you
        * close the CodecContexts open when you wrote the header; otherwise
        * av_write_trailer() may try to use memory that was freed on
        * av_codec_close(). */
       av_write_trailer(oc);

       /* Close each codec. */
       if (video_st)
           close_video(oc, video_st);
       if (audio_st)
           close_audio(oc, audio_st);

       if (!(fmt->flags &amp; AVFMT_NOFILE))
           /* Close the output file. */
           avio_close(oc->pb);

       /* free the stream */
       avformat_free_context(oc);

       return 0;
    }  

    and, in order to avoid a warning about channel layout not specified, I
    added :

    c->channel_layout = av_get_default_channel_layout(c->channels);

    in function AVStream *add_stream(AVFormatContext *oc, AVCodec **codec,
                           enum AVCodecID codec_id)

    just under the row c->channels = 2 ;

    I also raised a ffserver with the following configuration (showing only
    feed lines) :

    <feed>
           File /tmp/feed1.ffm
           FileMaxSize 1GB
           ACL allow 127.0.0.1
           ACL allow 192.168.0.0 192.168.255.255
    </feed>

    ffserver is working fine if I feed it with a ffmpeg commandline, e.g :

    ffmpeg -r 25 -i movie.mp4 -acodec libfdk_aac  -ab 128k -vcodec libx264 -fpre libx264-fast.ffpreset http://localhost:8090/feed1.ffm

    But with my example, I can write only few frames and after that may muxing
    modified program ends with :

    Error while writing video frame : Connection reset by peer

    I tried also different codecs (h264) and format (flv), turning out in a
    different number of frames written, but eventually I got the same error
    above.

    ffserver do not reports errors at all, only write:
    Tue Mar  4 12:55:10 2014 127.0.0.1 - - [POST] "/feed1.ffm HTTP/1.1" 200 4096
    confirming that the communication socket was open

    What am i missing ??

    Thanks