Recherche avancée

Médias (0)

Mot : - Tags -/performance

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (45)

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

  • Contribute to documentation

    13 avril 2011

    Documentation is vital to the development of improved technical capabilities.
    MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
    To contribute, register to the project users’ mailing (...)

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

  • x264 Building error - Android

    21 avril 2016, par Jay Parikh

    I am using this repository to build ffmpeg static library which includes x264,libpng and others, please
    visit this link https://github.com/writingminds/ffmpeg-android

    i am using windows 7 as host and ubuntu 15.10 (_64) as guest os using VMware Workstation 12
    and
    Android-ndk-r11b-linux-x86_64

    i do have Prebuilt libraries , but now i want it without PIE support

    i am getting this error in config.log in x264 folder while building
    through

    ./android_build.sh

    here is the log :

    x264 configure script
    Command line options: "--cross-prefix=/mnt/hgfs/uShare/ffmpeg-android/toolchain-android/bin/arm-linux
    /mnt/hgfs/uShare/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi-gcc

    checking whether /mnt/hgfs/uShare/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi-gcc

    --sysroot=/mnt/hgfs/uShare/ffmpeg-android/toolchain-android/sysroot works... no

    Failed commandline was:

    --sysroot=/mnt/hgfs/uShare/ffmpeg-android/toolchain-android/sysroot conftest.c  -Wall -I. -I$(SRCPATH) --sysroot=/mnt/hgfs/uShare/ffmpeg-android/toolchain-android/sysroot    --sysroot=/mnt/hgfs/uShare/ffmpeg-android/toolchain-android/sysroot -lm -o conftest

    /mnt/hgfs/uShare/ffmpeg-android/toolchain-android/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld: fatal error:

    conftest: Input/output error

    Failed program was:

    int main (void) {  return 0; }

    DIED: No working C compiler found.

    ushare is my shared folder between windows and ubuntu

    I have spend almost a week ,trying to solve every error i get.
    these errors are like never ending , 1 solution give 10 more errors
    i have researched a LOT for this library

    thanks a lot in advance.

    Also i thought that x264 library might have poroblem ,so i tried to disable it
    but next library "libpng" also had Same log Error

    i think problem is in Input/output error (obviously)
    this line in log kind of confuses me (those /../../)

    /mnt/hgfs/uShare/ffmpeg-android/toolchain-android/bin/../lib/gcc/arm-linux-androideabi/4.9/../../../../arm-linux-androideabi/bin/ld : fatal error :

    its like two folder overlaping address...

    thanks a lot in advance.
    please don’t go harsh on me ,its my first time,all thanks to this thing...

  • FFMPEG multi livestream - recorded stream send to different services like YT and Twitch at different time (on different button clicks )

    4 octobre 2022, par Ganesh

    Trying for the last 10 days and still no success, I am creating a python application that will accept the URL and visit that URL using chromium, capture that screen and send that real-time screen recording to different live stream acceptors as youtube live, twitch Twitter, Facebook live or some other sources and many of these could be multiple.

    


    There are two challenges (both challenges depend on a user action like different button clicks) -

    


      

    • The time of starting the Livestream we know only one Livestream acceptor and other acceptors could be sent via another API at any time or may not be sent on the whole live stream.
    • 


    • Any of the streams could be stopped at any moment including the first one which started the original live streaming service
    • 


    


    To Solve these challenges I am trying the following process (i took mp4 as a source for simplifying)

    


      

    • create a stream and store it into PIPE.stdout
    • 


    


    ffmpeg_Command_get_stream = 'ffmpeg -re -i test.mp4 -f flv pipe:1'
ffmpeg_Command_get_stream=ffmpeg_Command_get_stream.split()
pipe = sp.Popen(ffmpeg_Command_get_stream,
            stdout=sp.PIPE,
            stderr=sp.PIPE,
            bufsize=8000000,
            shell=True,
            universal_newlines=True
            )
out,err = pipe.communicate()


    


      

    • and send that stream with the help of FFMPEG to the Livestream acceptor with the click of the youtube Livestream button

      


      ffmpeg_Command_send_stream = ['ffmpeg','-i',pipe.stdout,'-f','flv',RTMPURL_YOUTUBE]

      


    • 


    


    Update Trying to Explain it a little more :

    


    step 1 - I need a real-time stream from the first command, so I used -re in FFMPEG

    


    step 2 - Use above stream as an input for other command and send that as an output as a Livestream to youtube (or twitch/Facebook), But the second step would happen only when the user click on the button "YT LiveStream", Here the tricky thing is there are multiple buttons (YT LiveStream, Twitch LiveStream, Facebook LiveStream) and user can click any time on any of button, also can click on all button one by one.

    


    enter image description here

    


    sorry for bad explaination

    


    what I am doing wrong ? , Is this Possible ? or need to go with another process,

    


    any help would be greatly appreciated

    


  • ffmpeg creating mpeg-dash chunk files too slowly resulting in 404 errors

    17 juillet 2021, par Danny

    I have a hardware encoder feeding FFmpeg to create a MPEG-DASH Low Latency stream. It works well for a while, but after letting FFmpeg run for a while and reloading the page there are many 404 errors.

    


    When that happens, the dash.js player tries to fetch the segment file on the "live edge" but the file has not been created yet by FFmpeg. For example, after running for 20-30 minutes and loading the web page player, debug code in the web server shows :

    


    2021-07-16 16:46:30.64 : GET REQUEST : /data/ott/chunk-stream0-00702.m4s
2021-07-16 16:46:30.67 : NOT FOUND. Latest files on filesystem:
    chunk-stream0-00699.m4s.tmp
    chunk-stream0-00698.m4s
    chunk-stream0-00697.m4s
    chunk-stream0-00696.m4s
    ...


    


    So you can see the browser requested chunk 702 but the latest on the server is (part of) 699. With 2 second chunks, that is 3-5 seconds of content not yet available.

    


    To analyze, I modified FFmpeg's dashenc.c to add a timestamp every time a file is opened which displays like :

    


    [dash @ 0x9b17c0] 21:48:52.935 1626443332.935  : dashenc_io_open() - opened /data/ott/chunk-stream0-00060.m4s.tmp


    


    And loaded the timestamps into Excel.

    


    Despite a segment duration of 2.000 seconds, the average time between file opens is 2.011 seconds. Over two hours this accumulated to a 45 second difference between the calculated live edge and the latest file on the server.

    


    The HW encoder is set to 25 fps and a GOP size of 5. I've confirmed both by analyzing the H.264 NALUs output by the HW encoder.

    


    My Question : Is this a bug in FFmpeg or can I avoid this problem by adjusting the settings of either the HW encoder and/or FFmpeg options ?

    


    REFERENCE

    


    FFmpeg: Version 4.4 
Centos 8 
Apache 2.4.37


    


    FFmpeg command line (pipe is fed by process reading HW encoder)

    


    ffmpeg -re -loglevel verbose -an -f h264 -i pipe:17 -c:v copy \
-f dash -dash_segment_type mp4 -b:v 1000000 -seg_duration 2.000000 \
-frag_type duration -frag_duration 0.200000 -target_latency 1 \
-window_size 10 -extra_window_size 5 -remove_at_exit 1 -streaming 1 \
-ldash 1 -use_template 1 -use_timeline 0 -write_prft 1 -avioflags direct \
-fflags +nobuffer+flush_packets -format_options movflags=+cmaf \
-utc_timing_url /web/be/time.php /data/ott/master.mpd


    


    Modified dash_io_open() from dashenc.c

    


    static int 
dashenc_io_open(AVFormatContext *s, AVIOContext **pb, char *filename, AVDictionary **options)
{
    DASHContext *c = s->priv_data;
    int http_base_proto = filename ? ff_is_http_proto(filename) : 0;
    int err = AVERROR_MUXER_NOT_FOUND;
    if (!*pb || !http_base_proto || !c->http_persistent)
    {
        err = s->io_open(s, pb, filename, AVIO_FLAG_WRITE, options);

        // My Debug
        {
            char buf[20], milli[60];
            struct timeb tp;

            ftime(&tp); // sec + ms
            struct tm *tmInfo = localtime(&tp.time);

            // 2020-05-15 21:15:12.123
            strftime(buf, sizeof(buf), "%H:%M:%S", tmInfo);
            snprintf(milli, 59, "%s.%03d %d.%03d ", buf, tp.millitm, tp.time, tp.millitm);

            av_log(s, AV_LOG_INFO, "%s : dashenc_io_open() - opened %s\n", milli, filename);
        }
    }
    return err;
}