Recherche avancée

Médias (91)

Autres articles (13)

  • Contribute to a better visual interface

    13 avril 2011

    MediaSPIP is based on a system of themes and templates. Templates define the placement of information on the page, and can be adapted to a wide range of uses. Themes define the overall graphic appearance of the site.
    Anyone can submit a new graphic theme or template and make it available to the MediaSPIP community.

  • Submit bugs and patches

    13 avril 2011

    Unfortunately a software is never perfect.
    If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
    If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
    You may also (...)

  • Gestion générale des documents

    13 mai 2011, par

    MédiaSPIP ne modifie jamais le document original mis en ligne.
    Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
    Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...)

Sur d’autres sites (2894)

  • Improper use of system() call ?

    28 mai 2013, par Dima1982

    I have a particle system program that generates a .dat file with particle coordinates in every iteration. The end goal is to run the program multiple times via a script with different parameters. So, I am trying to setup my program in a way that, for every run, all relevant data are going to be stored in a folder.

    What I do is to generate PNGs from the .dat files with Gnuplot, call ffmpeg to create a video out of the PNGs, use WinRAR to compress the .dat files and finally clean up, by deleting all the intermediate files. This works, when I do it in the working directory.

    Now I try to create a new directory and do the same stuff in there. My code :

    // Load the proper library to use chdir() function
    #ifdef _WIN32
    #include
    #elif defined __linux__ || defined __APPLE__&&__MACH__
    #include
    #endif

    // Make output directory and change working directory to new directory
       ostringstream dirCommand;
       dirCommand << "mkdir " << folderName_str;
       system(dirCommand.str().c_str());
       const char* test  = folderName_str.c_str();
       #ifdef _WIN32
           if(_chdir(test))
           {
               printf( "Unable to locate the directory: %s\n",test);
               return;
           }
       #elif defined __linux__ || defined __APPLE__&&__MACH__
           if(chdir(test))
           {
               printf( "Unable to locate the directory: %s\n",test);
               return;
           }
       #endif
           else
               printf("Created output directory...\n");

    Already for this part, I know that there are going to be objections. I have looked extensively on SO and many people favor SetCurrentDirectory() for Windows, or they are skeptical about using system(). In my defense, I am a novice programmer and my knowledge is really limited...

    Now, when I try to make the video with FFMpeg and then rar/tar my files :

    // Make video
           std::cout << "Generating Video..." << endl;
           ostringstream command;
           command << "ffmpeg -f image2 -r 1/0.1 -i output_%01d.png -vcodec mpeg4 " << videoName_str << ".avi -loglevel quiet";
           std::system(command.str().c_str());

           // Clean Up!
           std::cout << "Cleaning up!" << endl;
           ostringstream command2;
           #ifdef _WIN32
               command2 << "rar -inul a " << videoName_str << ".rar *.dat settings.gp loadfile.gp";
           #elif defined __linux__ || defined __APPLE__&&__MACH__
               command2 << "tar cf " << videoName_str << ".tar *.dat settings.gp loadfile.gp";
           #endif
           std::system(command2.str().c_str());

    I get very different behaviors in Win/ Linux.

    Win 7 x64, Visual Studio 2010/12

    In windows, the folder is created. The .dat files are generated correctly and gnuplot plots the PNGs as well. When ffmpeg is called, nothing happens. No error message from FFMpeg or anything. The same goes for WinRAR. Maybe, for the last thing, I can use the command line utility of 7z which is free !

    Linux Mint 14 x64, Qt 4.8.1

    Strangely enough, the behavior is inverted from that of Windows. As soon as the dir is changed, only the first .dat file is generated. It is as if every subsequent call I make to fprintf() for my file generation does not work, or gets lost somewhere. Gnuplot works, as do ffmpeg and tar !!

    I am really perplexed. Any help, would be really appreciated.

  • FFMPEG : Obtain the system time corresponding to each frame present in a video

    18 mai 2022, par User

    I am currently recording the screen using the below command on Windows 10 system,

    



    ffmpeg.exe -loglevel quiet -f gdigrab -framerate 30 -i desktop -vf mpdecimate,setpts=N/FRAME_RATE/TB -vcodec libx264 -pix_fmt yuv420p -preset slow -crf 0 -threads 0 nodups.mkv


    



    If I record a video for 5 mins, where 4 minutes out of it is idle. The final video obtained is only 1 minute. I want to know the system time corresponding to a specific frame from this 1 minute video. 
I tried making use of the command to obtain the frame information from this 1 minute video for 40th frame like : ffmpeg -i nodups.mkv -vf select='eq(n,40)',showinfo -f null -
This outputs me

    



    [Parsed_showinfo_1 @ 000002455fce5dc0] n:   0 pts:   1333 pts_time:1.333   pos:   158601 fmt:yuv420p sar:0/1 s:1600x900 i:P iskey:0 type:P checksum:885ECCE2 plane_checksum:[7D89AD8E DC745BDC 0E23C369] mean:[158 128 128] stdev:[101.7 4.5 4.0


    



    Is there a way to obtain the system time when this frame was captured using FFMPEG ? Any inputs will help.

    


  • avfilter/unsharp : Call function directly rather than via function pointer

    26 août 2024, par Zhao Zhili
    avfilter/unsharp : Call function directly rather than via function pointer
    

    Signed-off-by : Zhao Zhili <zhilizhao@tencent.com>

    • [DH] libavfilter/vf_unsharp.c