Recherche avancée

Médias (1)

Mot : - Tags -/stallman

Autres articles (112)

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP automatically converts uploaded files to internet-compatible formats.
    Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
    Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
    Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
    All uploaded files are stored online in their original format, so you can (...)

Sur d’autres sites (7475)

  • FFMPEG - Struggling to find correct input audio codec parameters on macOS

    20 septembre 2024, par Xavi

    I am trying to read my external stereo microphone with ffmpeg within my Qt Windows+macOs application, but I am struggling to obtain consistent correct input codec parameters on macOs. My findings and suspicions so far :

    


    The code I'm using in macOs is the following, where everything returns a successful return code :

    


     avdevice_register_all();
 
 //macOs only, the same code in windows looks for "dshow" 
 const AVInputFormat *inputFormat = av_find_input_format("avfoundation");
 
 AVFormatContext* inputFormatContext;
 avformat_open_input(&inputFormatContext, inputDevice, inputFormat, NULL);

 avformat_find_stream_info(inputFormatContext, NULL);
 
 //... allocate the codec context for the single input stream and
 // copy the parameters from the stream to the context



    


    In my standalone minimal reproducer this always results on the codec ID of the single stream being AV_CODEC_ID_PCM_F32LE, in both macOS and Windows. When I integrate this code in my Qt application on Windows, I get the same result. However, on macOS, most of the times results in the codec id of the stream being AV_CODEC_ID_PCM_S16LE (via AV_CODEC_ID_FIRST_AUDIO) and sometimes AV_CODEC_ID_PCM_F32LE. Both sample formats are supported by my microphone.

    


    AV_CODEC_ID_PCM_F32LE always results in a correct output. AV_CODEC_ID_PCM_S16LE results on buzzy noisy audio slowed down to 0.5x, and If in this case I decode with AV_CODEC_ID_PCM_F32LE instead of copying the codec parameters from the stream, the output sounds correct again.

    


    I am trying to write generic code, so while enforcing the AV_CODEC_ID_PCM_F32LE codec works, I'd rather understand what is happening.

    


    What am I missing ? Is Qt interacting in some way that I can't think of ? I am compiling and linking my own ffmpeg libraries (6.1.1) and not using Qt's ones.

    


  • Clip long video segment quickly

    30 janvier 2020, par PRMan

    Let’s say I have a video called Concert.mp4. I want to extract a performance from it quickly with minimal reencoding. I want to do the equivalent of this, but faster :

    ffmpeg -i "Concert.mp4" -ss 00:11:45 -to 00:18:15  -preset veryfast -y artist.mp4

    This takes 17 seconds, which is way too long for our needs.

    Now, it turns out that 11:45 and 18:15 don’t fall on iframes, so if you try this you will get a 3 second delay at the beginning before the video shows :

    ffmpeg -i "Concert.mp4" -ss 00:11:45 -to 00:18:15 -c copy -y artist.mp4

    Running this command, we can see where we need to cut :

    ffprobe -read_intervals "11:00%19:00" -v error -skip_frame nokey -show_entries frame=pkt_pts_time -select_streams v -of csv=p=0 "Concert.mp4" > frames.txt

    So what we need to do is encode the first 3.708 seconds, copy the middle, and then encode the last 5.912 seconds.

    I can get the 3 segments to all look perfect (by themselves) like this :

    ffmpeg -ss 698.698 -i "Concert.mp4" -ss 6.302 -t 3.708 -c:v libx264 -c:a copy -c:s copy -y clipbegin.mp4

    ffmpeg -ss 708.708 -to 1089.088 -i "Concert.mp4" -c copy -y clipmiddle.mp4

    ffmpeg -ss 1089.088 -i "Concert.mp4" -t 5.912 -c:v libx264 -c:a copy -c:s copy -y clipend.mp4

    ffmpeg -f concat -i segments.txt -c copy -y artist.mp4

    segments.txt of course contains the following :

    file 'clipbegin.mkv'
    file 'clipmiddle.mkv'
    file 'clipend.mkv'

    I saw this solution presented here, but no amount of tweaking gets it to work for me :

    https://superuser.com/a/1039134/73272

    As far as I can tell, this method doesn’t work at all. It crashes VLC pretty hard no matter what I try.

    The combined video keeps glitching after the 3 seconds, probably because the PTS times are different or something (using some options, I have seen warning messages to this effect). Is there anything I can add to the commands above to get this to work ? The only requirement is that the middle command must not re-encode the video, but must do a fast copy.

    Thanks in advance.

  • FFmpeg chromakey libavfilter using C-API - key/replace green with alpha transparency

    3 juin 2020, par ZeroDefect

    I'm trying to use the FFmpeg chromakey libavfilter (via the C-API using C++17) to key some green pixels in a YUVA422p image and replace them with alpha transparency.

    



    Now, I setup/initialise the graph, connect the filters, and push through a frame ; however, the output frame appears unchanged. I suspect one of my configuration parameters is incorrect, but I'm really unsure. After having read the pertinent documentation, I still don't understand the problem.

    



    I have published a (minimal) code sample in github - https://github.com/zerodefect/chromakey_test. I have tried to keep the code sample as brief as possible but it is still a bit lengthy.

    



    The code sample includes a sample image (green_screen.png) for the purposes of testing.

    



    To run the application, the following parameters are required :

    



    


    ./cb_chroma_key_test ./green_screen.png [OUTPUT_PATH]

    


    



    The application dumps out a PLANAR image at YUV422p which I then load in via rawpixels.net - a brilliant little online utility to view raw image data (packed or planar).

    



    My avfilter graph consists of :

    



    


    buffersrc -> format -> chromakey -> buffersink

    


    



    The format filter is taking the RGBA (packed) format and converting it to YUVA422 planar.

    



      

    • GCC 8.4
    • 


    • Ubuntu 18.04
    • 


    • FFmpeg 4.2
    •