Recherche avancée

Médias (91)

Autres articles (69)

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

  • Récupération d’informations sur le site maître à l’installation d’une instance

    26 novembre 2010, par

    Utilité
    Sur le site principal, une instance de mutualisation est définie par plusieurs choses : Les données dans la table spip_mutus ; Son logo ; Son auteur principal (id_admin dans la table spip_mutus correspondant à un id_auteur de la table spip_auteurs)qui sera le seul à pouvoir créer définitivement l’instance de mutualisation ;
    Il peut donc être tout à fait judicieux de vouloir récupérer certaines de ces informations afin de compléter l’installation d’une instance pour, par exemple : récupérer le (...)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

Sur d’autres sites (9235)

  • ffmpeg remote url not working in lambda function

    9 septembre 2024, par Komal

    I have created lambda function to trim video.

    


    I run this command :

    


    /opt/bin/ffmpeg -protocol_whitelist file,http,https,tcp,tls -i 'https://source-bucket.s3.amazonaws.com/1.mp4' -ss 5 -t 10 -loglevel 48 -y -avoid_negative_ts 1 -acodec copy /tmp/output.mp4


    


    It gives following output :

    


    "ffmpeg version 7.0.2-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2024 the FFmpeg developers\n  built with gcc 8 (Debian 8.3.0-6)\n  configuration: --enable-gpl --enable-version3
--enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg\n  libavutil      59.  8.100 / 59.  8.100\n  libavcodec     61.  3.100 / 61.  3.100\n  libavformat    61.  1.100 / 61.  1.100\n  libavdevice    61.  1.100 /
61.  1.100\n  libavfilter    10.  1.100 / 10.  1.100\n  libswscale      8.  1.100 /  8.  1.100\n  libswresample   5.  1.100 /  5.  1.100\n  libpostproc    58.  1.100 / 58.  1.100\nSplitting the commandline.\nReading option '-protocol_whitelist' ... matched as AVOption 'protocol_whitelist' with argument 'file,http,https,tcp,tls'.\nReading option '-i' ... matched as input url with argument 'https://source-bucket.s3.amazonaws.com/1.mp4'.\nReading option '-ss' ... matched as option 'ss' (start transcoding at specified time) with argument '50'.\nReading option '-t' ... matched as option 't' (stop transcoding after specified duration) with argument '100'.\nReading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument '48'.\nReading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.\nReading option '-avoid_negative_ts' ... matched as AVOption 'avoid_negative_ts' with argument '1'.\nReading option '-acodec' ... matched as option 'acodec' (alias for -c:a (select encoder/decoder for audio streams)) with argument 'copy'.\nReading option '/tmp/output.mp4' ... matched as output url.\nFinished splitting the commandline.\nParsing a group of options: global .\nApplying option loglevel (set logging level) with argument 48.\nApplying option y (overwrite output files) with argument
1.\nSuccessfully parsed a group of options.\nParsing a group of options: input url https://source-bucket.s3.amazonaws.com/1.mp4.\nSuccessfully parsed a group of options.\nOpening an input file: https://source-bucket.s3.amazonaws.com/1.mp4.\n[AVFormatContext @ 0x70ea0c0] Opening 'https://source-bucket.s3.amazonaws.com/1.mp4' for reading\n"


    


    So, its not going beyond this : 'Opening 'https://source-bucket.s3.amazonaws.com/1.mp4' ; for reading\n'

    


    And after this, it immediately gets out. Need suggestions, where its going wrong. Same command working fine on local computer.

    


    I tried cloudfront and signed url as well, as mentioned in this post : How to read remote video on Amazon S3 using ffmpeg. But it doesnt work with url. Only working when downloaded into tmp folder.

    


    Following is the final log, which you can see is no timeout. It actually finish function execution within 2-3 seconds. I have timeout set for 15 mins to the function which is maximum :
enter image description here

    


    REPORT RequestId: 4acd7b38-017c-4dce-bb65-8f6fd3cf37e0  Duration: 1297.93 ms    Billed Duration: 1298 ms    Memory Size: 1024 MB    Max Memory Used: 103 MB Init Duration: 328.76 ms    


    


  • Livestream not reaching AWS endpoint

    13 août 2024, par NoobAmI

    I'm trying to stream my live video into Amazon IVS and I don't see it on the live channels.

    


    Is it possible I have a mistake in my FFMPEG configuration ?
I'm expecting to see this in my playback url or on the console screen for playback but I see nothing at the moment.

    


    As I understand it, shouldn't I see some kind of playback in the live channels if a stream is being sent that channel ?

    


      async ivsStreamingService(payload: any): Promise<void> {&#xA;    const injestServer = &#x27;***.global-contribute.live-video.net:443/app/&#x27;;&#xA;    const streamKey = &#x27;sk_us-east-1_*****&#x27;;&#xA;    const ffmpeg = spawn(&#x27;ffmpeg&#x27;, [&#xA;      &#x27;-re&#x27;,&#xA;      &#x27;-i&#x27;, &#x27;-&#x27;,&#xA;      &#x27;-r&#x27;, &#x27;30&#x27;,&#xA;      &#x27;-c:v&#x27;, &#x27;libx264&#x27;,&#xA;      &#x27;-pix_fmt&#x27;, &#x27;yuv420p&#x27;,&#xA;      &#x27;-profile:v&#x27;, &#x27;main&#x27;,&#xA;      &#x27;-preset&#x27;, &#x27;veryfast&#x27;,&#xA;      &#x27;-x264opts&#x27;, &#x27;nal-hrd=cbr:no-scenecut&#x27;,&#xA;      &#x27;-minrate&#x27;, &#x27;3000k&#x27;,&#xA;      &#x27;-maxrate&#x27;, &#x27;3000k&#x27;,&#xA;      &#x27;-g&#x27;, &#x27;60&#x27;,&#xA;      &#x27;-c:a&#x27;, &#x27;aac&#x27;,&#xA;      &#x27;-b:a&#x27;, &#x27;160k&#x27;,&#xA;      &#x27;-ac&#x27;, &#x27;2&#x27;,&#xA;      &#x27;-ar&#x27;, &#x27;44100&#x27;,&#xA;      &#x27;-f&#x27;, &#x27;flv&#x27;,&#xA;      `rtmps://${ingestServer}${streamKey}`&#xA;    ]);&#xA;  &#xA;    ffmpeg.stdin.write(payload, (err) => {&#xA;      console.log(payload)&#xA;      if (err) console.error(&#x27;Error writing payload to FFmpeg stdin:&#x27;, err);&#xA;    });&#xA;  &#xA;    ffmpeg.on(&#x27;close&#x27;, (code) => {&#xA;      console.log(`FFmpeg process exited with code ${code}`);&#xA;    });&#xA;  &#xA;    ffmpeg.stdin.on(&#x27;error&#x27;, (err) => {&#xA;      console.error(&#x27;Error writing to FFmpeg stdin:&#x27;, err);&#xA;    });&#xA;  &#xA;    ffmpeg.stderr.on(&#x27;data&#x27;, (data) => {&#xA;      console.error(`FFmpeg error: ${data}`);&#xA;    });&#xA;  }&#xA;</void>

    &#xA;

    Example of the consoled data

    &#xA;

    I'm not quite sure why it wouldn't receive the stream, as it would appear everything is correct.

    &#xA;

  • Live stream doesn't seem to be passed to AWS correctly

    12 août 2024, par NoobAmI

    I'm trying to stream my live video into Amazon IVS and I don't see it on the live channels.

    &#xA;

    Is it possible I have a mistake in my FFMPEG configuration ?&#xA;I'm expecting to see this in my playback url or on the console screen for playback but I see nothing at the moment.

    &#xA;

    As I understand it, shouldn't I see some kind of playback in the live channels if a stream is being sent that channel ?

    &#xA;

    `  async sendDataToIvs(channelArn: string, payload: any): Promise<void> {&#xA;    const injestServer = &#x27;***.global-contribute.live-video.net&#x27;;&#xA;    const streamKey = &#x27;sk_us-east-1_*****&#x27;;&#xA;  &#xA;    const ffmpeg = spawn(&#x27;ffmpeg&#x27;, [&#xA;      &#x27;-re&#x27;, // Read input at native frame rate&#xA;      &#x27;-i&#x27;, &#x27;-&#x27;, // Input from stdin (live stream data)&#xA;      &#x27;-r&#x27;, &#x27;30&#x27;, // Frame rate&#xA;      &#x27;-c:v&#x27;, &#x27;libx264&#x27;, // Video codec - H.264&#xA;      &#x27;-pix_fmt&#x27;, &#x27;yuv420p&#x27;, // Pixel format&#xA;      &#x27;-profile:v&#x27;, &#x27;main&#x27;, // H.264 profile&#xA;      &#x27;-preset&#x27;, &#x27;veryfast&#x27;, // Encoder quality setting&#xA;      &#x27;-x264opts&#x27;, &#x27;nal-hrd=cbr:no-scenecut&#x27;, // Additional x264 options&#xA;      &#x27;-minrate&#x27;, &#x27;3000&#x27;, // Minimum bitrate&#xA;      &#x27;-maxrate&#x27;, &#x27;3000&#x27;, // Maximum bitrate&#xA;      &#x27;-g&#x27;, &#x27;60&#x27;, // GOP size&#xA;      &#x27;-c:a&#x27;, &#x27;aac&#x27;, // Audio codec&#xA;      &#x27;-b:a&#x27;, &#x27;160k&#x27;, // Audio bitrate&#xA;      &#x27;-ac&#x27;, &#x27;2&#x27;, // Audio channels&#xA;      &#x27;-ar&#x27;, &#x27;44100&#x27;, // Audio sample rate&#xA;      &#x27;-f&#x27;, &#x27;flv&#x27;, // Output format&#xA;      `rtmps://${injestServer}:443/app/${streamKey}` // Output destination&#xA;    ]);&#xA;  &#xA;    ffmpeg.stdin.write(payload, (err) => {&#xA;      console.log(payload)&#xA;      if (err) console.error(&#x27;Error writing payload to FFmpeg stdin:&#x27;, err);&#xA;    });&#xA;  &#xA;    ffmpeg.on(&#x27;close&#x27;, (code) => {&#xA;      console.log(`FFmpeg process exited with code ${code}`);&#xA;    });&#xA;  &#xA;    ffmpeg.stdin.on(&#x27;error&#x27;, (err) => {&#xA;      console.error(&#x27;Error writing to FFmpeg stdin:&#x27;, err);&#xA;    });&#xA;  &#xA;    ffmpeg.stderr.on(&#x27;data&#x27;, (data) => {&#xA;      console.error(`FFmpeg error: ${data}`);&#xA;    });&#xA;  } `&#xA;</void>

    &#xA;