Recherche avancée

Médias (91)

Autres articles (28)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • 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 (...)

Sur d’autres sites (3224)

  • 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(&oc, NULL, "mpegts", NULL);
       if (!oc) {
           printf("Could not deduce output format from file extension: using
    MPEG.\n");
           avformat_alloc_output_context2(&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, &video_codec, fmt->video_codec);
       if (fmt->audio_codec != AV_CODEC_ID_NONE)
           audio_st = add_stream(oc, &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 & AVFMT_NOFILE)) {
           ret = avio_open(&oc->pb, "http://localhost:8090/feed1.ffm",
    AVIO_FLAG_WRITE);
           if (ret < 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 < 0) {
           fprintf(stderr, "Error occurred when opening output file: %s\n",
                   av_err2str(ret));
           return 1;
       }

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

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

           /* write interleaved audio and video frames */
           if (audio_st && !audio_is_eof && audio_time <= video_time) {
               write_audio_frame(oc, audio_st, flush);
           } else if (video_st && !video_is_eof && video_time < 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 & 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

  • ffmpeg - Making a Clean WAV file

    24 septembre 2016, par Edward

    I’m looking to batch convert a number of files to audio files using ffmpeg for a game called Star Wars: Jedi Knight: Dark Forces II. The problem I’m having is that ffmpeg seems to be doing something that does so that Jedi Knight can’t play the sound file.

    Jedi Knight accepts plain old PCM WAV files of various ranges, from 5khz to 96khz, 8 and 16 bit, mono and stereo. This sounds plain and simple. Except for that if one were to create a WAV file using MS Sound Recorder, Jedi Knight could not play it. Speculation was that it added something extra to header or something. But it can play a WAV file created by Audacity, GoldWave or ModPlug Tracker to name a few.

    So why not ffmpeg ? Am I using the wrong codec or params ? I took an original sound file from the game and performed the following :

    ffmpeg -i "orig_thrmlpu2.wav" -f wav -acodec pcm_s16le -ar 22050 -ac 1 "ffmpeg_thrmlpu2.wav"

    The ffmpeg version does not play in the game. ffprobe shows that the ffmpeg version has some Metadata which the original doesn’t have. What params should I use to try and get the same WAV format as the original ? Mind you, -ar, -ac and bits aren’t the important parts.

    Here are the files for you to examine : http://www.edwardleuf.org/Games/JK/thrmlpu2.zip

  • FFMPEG : Adding font to Video gives error

    7 juin 2016, par janki gadhiya

    I am trying to execute ffmpeg on android. I have successfully executed 2-3 commands also. But i am stuck at one point where i am adding text to the video.

    Here is the command i am executing.

    NOT WORKING : because the text argument has a space between two words.

    "-i "+path+"out.mp4 -vf drawtext=fontfile="+path+"f1.ttf:text='Stack OverFlow' -y -c:v libx264 -c:a copy -movflags +faststart "+path+"output.mp4"

    WORKING : just removed space.

    "-i "+path+"out.mp4 -vf drawtext=fontfile="+path+"f1.ttf:text='StackOverFlow' -y -c:v libx264 -c:a copy -movflags +faststart "+path+"output.mp4"

    Here path contains my external Sd card’s path. out.mp4 and f1.ttf exists in my folder.

    My Question is why it is not working with space.

    Here is the stack trace i am getting.

    FAILED with output : WARNING: linker: /data/data/com.github.hiteshsondhi88.sampleffmpeg/files/ffmpeg has text relocations. This is wasting memory and prevents security hardening. Please fix.
    ffmpeg version n3.0.1 Copyright (c) 2000-2016 the FFmpeg developers
    built with gcc 4.8 (GCC)
    configuration: --target-os=linux --cross-prefix=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/bin/i686-linux-android- --arch=x86 --cpu=i686 --enable-runtime-cpudetect --sysroot=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/vagrant/SourceCode/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/vagrant/SourceCode/ffmpeg-android/build/x86 --extra-cflags='-I/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all -march=i686' --extra-ldflags='-L/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
    libavutil      55. 17.103 / 55. 17.103
    libavcodec     57. 24.102 / 57. 24.102
    libavformat    57. 25.100 / 57. 25.100
    libavdevice    57.  0.101 / 57.  0.101
    libavfilter     6. 31.100 /  6. 31.100
    libswscale      4.  0.100 /  4.  0.100
    libswresample   2.  0.101 /  2.  0.101
    libpostproc    54.  0.100 / 54.  0.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/Testing/out.mp4':
    Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.25.100
    Duration: 00:00:05.00, start: 0.000000, bitrate: 117 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 300x300 [SAR 40:33 DAR 40:33], 113 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
    Metadata:
    handler_name    : VideoHandler
    [NULL @ 0xb585f000] Unable to find a suitable output format for 'text='Stack'
    text='Stack: Invalid argument

    Why it is saying invalid argument. It will be great if any ffmpeg expert can guide me in what i am doing wrong here.

    I have refered this Question of SO : Text on video ffmpeg