Recherche avancée

Médias (91)

Autres articles (98)

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

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

Sur d’autres sites (8210)

  • Media conversion on AWS

    27 juin 2022, par Gurmeet Singh

    I have an API written in nodeJS (/api/uploadS3) which is a PUT request and accepts a video file and a URL (AWS s3 URL in this case). Once called its task is to upload the file on the s3 URL.

    


    Now, users are uploading files to this node API in different formats (thanks to the different browsers recording videos in different formats) and I want to convert all these videos to mp4 and then store them in s3.

    


    I wanted to know what is the best approach to do this ?

    


    I have 2 solutions till now

    


    1. Convert on node server using ffmpeg -

    


    The issue with this is that ffmpeg can only execute a single operation at a time. And since I have only one server I will have to implement a queue for multiple requests which can lead to longer waiting times for users who are at the end of the queue. Apart from that, I am worried that during any ongoing video conversion if my node's traffic handling capability will be affected.

    


    Can someone help me understand what will be the effect of other requests coming to my server while video conversion is going on ? How will it impact the RAM, CPU usage and speed of processing other requests ?

    


    2. Using AWS lambda function -

    


    To avoid load on my node server I was thinking of using an AWS lambda server where my node API will upload the file to S3 in the format provided by the user. Once, done s3 will trigger a lambda function which can then take that s3 file and convert it into .mp4 using ffmpeg or AWS MediaConvert and once done it uploads the mp4 file to a new s3 path. Now I don't want the output path to be any s3 path but the path that was received by the node API in the first place.

    


    Moreover, I want the user to wait while all this happens as I have to enable other UI features based on the success or error of this upload.

    


    The query here is that, is it possible to do this using just a single API like /api/uploadS3 which —> uploads to s3 —> triggers lambda —> converts file —> uploads the mp4 version —> returns success or error.

    


    Currently, if I upload to s3 the request ends then and there. So is there a way to defer the API response until and unless all the operations have been completed ?

    


    Also, how will the lambda function access the path of the output s3 bucket which was passed to the node API ?

    


    Any other better approach will be welcomed.

    


    PS - the s3 path received by the node API is different for each user.

    


  • YouTube Live not working with FFMPEG

    29 septembre 2020, par Benedikt Neumayr

    EDIT : It already works. My new router seems to block rtmp traffic. I edited the firewall config and now it works !
    
I'm trying to stream to YouTube with ffmpeg with the following command :

    



    ffmpeg -f alsa -ac 2 -i hw:0,0 -f v4l2 -s 1280x720 -r 10 -i /dev/video0 -vcodec libx264 -pix_fmt yuv420p -preset ultrafast -strict experimental -r 25 -g 20 -b:v 2500k -codec:a libmp3lame -ar 44100 -b:a 11025 -bufsize 512k -f flv rtmp://a.rtmp.youtube.com/live2/45ee-qka9-0djm-796z   


    



    My ffmpeg version 2.8.11 on Linux Mint 18.2 then says :

    



    Input #0, alsa, from 'hw:0,0':
  Duration: N/A, start: 1511081240.166016, bitrate: 1536 kb/s
    Stream #0:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s 
[video4linux2,v4l2 @ 0xacba60] The driver changed the time per frame from 1/10 to 2/15
Input #1, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 5907.755626, bitrate: 110592 kb/s
    Stream #1:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1280x720, 110592 kb/s, 7.50 fps, 7.50 tbr, 1000k tbn, 1000k tbc


    



    After that it does nothing for about 3 minutes,then it finally returns the following error :

    



    RTMP_Connect0, failed to connect socket. 110 (Connection timed out)
rtmp://a.rtmp.youtube.com/live2: Unknown error occurred


    



    I used these instructions :

    



    


  • Use FFMPEG without downloading full file

    19 août 2020, par servalex

    I'm generating thumbnails for a videos that are available from s3 and need to minimize traffic.
Frame is going to be from the first couple seconds of the video so the question : is there a way to get frame without passing the full file through network ?

    


    At the moment I'm passing video url to ffmpeg but seems like it downloads the whole file, not only first couple seconds.

    


    ffmpeg -ss 0 -noaccurate_seek -i {srcPresignedUrl} -vframes 1 -q:v 2 {outputFileName}

    


    I tried downloading first 10mb of the file and passing it, this works for some mp4 files, but fails on mov :

    


    ffmpeg.exe -ss 0 -i source.mov -vframes 1 -q:v 2 thumb.jpg
ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 10.2.1 (GCC) 20200726
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libgsm --enable-librav1e --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000017582ffff40] moov atom not found
source.mov: Invalid data found when processing input