Recherche avancée

Médias (1)

Mot : - Tags -/wave

Autres articles (111)

  • 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

  • Other interesting software

    13 avril 2011, par

    We don’t claim to be the only ones doing what we do ... and especially not to assert claims to be the best either ... What we do, we just try to do it well and getting better ...
    The following list represents softwares that tend to be more or less as MediaSPIP or that MediaSPIP tries more or less to do the same, whatever ...
    We don’t know them, we didn’t try them, but you can take a peek.
    Videopress
    Website : http://videopress.com/
    License : GNU/GPL v2
    Source code : (...)

  • Script d’installation automatique de MediaSPIP

    25 avril 2011, par

    Afin de palier aux difficultés d’installation dues principalement aux dépendances logicielles coté serveur, un script d’installation "tout en un" en bash a été créé afin de faciliter cette étape sur un serveur doté d’une distribution Linux compatible.
    Vous devez bénéficier d’un accès SSH à votre serveur et d’un compte "root" afin de l’utiliser, ce qui permettra d’installer les dépendances. Contactez votre hébergeur si vous ne disposez pas de cela.
    La documentation de l’utilisation du script d’installation (...)

Sur d’autres sites (10433)

  • swscale/aarch64 : add hscale specializations

    26 mai 2022, par Swinney, Jonathan
    swscale/aarch64 : add hscale specializations
    

    This patch adds code to support specializations of the hscale function
    and adds a specialization for filterSize == 4.

    ff_hscale8to15_4_neon is a complete rewrite. Since the main bottleneck
    here is loading the data from src, this data is loaded a whole block
    ahead and stored back to the stack to be loaded again with ld4. This
    arranges the data for most efficient use of the vector instructions and
    removes the need for completion adds at the end. The number of
    iterations of the C per iteration of the assembly is increased from 4 to
    8, but because of the prefetching, there must be a special section
    without prefetching when dstW < 16.

    This improves speed on Graviton 2 (Neoverse N1) dramatically in the case
    where previously fs=8 would have been required.

    before : hscale_8_to_15__fs_8_dstW_512_neon : 1962.8
    after : hscale_8_to_15__fs_4_dstW_512_neon : 1220.9

    Signed-off-by : Jonathan Swinney <jswinney@amazon.com>
    Signed-off-by : Martin Storsjö <martin@martin.st>

    • [DH] libswscale/aarch64/hscale.S
    • [DH] libswscale/aarch64/swscale.c
    • [DH] libswscale/utils.c
  • ffmpeg app using node occasionally crashes as file doesn't appear to be read correctly

    31 mai 2022, par Zabs

    I have an simple Node application that allows me to pass an AWS S3 URL link to a file (in this case video files). It uses the FFMPEG library to read the video file and return data like codecs, duration, bitrate etc..

    &#xA;

    The script is called from PHP script which in turn send the data to the Node endpoint and passes the Amazon S3 URL to node. Sometimes for no obvious reasons the video file fails to return the expected values regarding container, codec, duration etc... and just returns '0'. But when I try the exact same file/request again it returns this data correctly e.g container:mp4

    &#xA;

    I'm not sure but I think the script somehow needs the createWriteStream to be closed but I cannot be sure, the problem is the issue I have found doesn't happen all the time but sporadically so its hard to get to the issue when its difficult to replicate it.

    &#xA;

    Any ideas ?

    &#xA;

    router.post(&#x27;/&#x27;, async function(req, res) {&#xA;  const fileURL = new URL(req.body.file);&#xA;  var path = fileURL.pathname;&#xA;  path = &#x27;tmp/&#x27;&#x2B;path.substring(1);    // removes the initial / from the path&#xA;&#xA;  let file = fs.createWriteStream(path);  // create the file locally&#xA;  const request = https.get(fileURL, function(response) {&#xA;    response.pipe(file);&#xA;  });&#xA;  &#xA;  // after file has saved&#xA;  file.on(&#x27;finish&#x27;, function () {&#xA;    var process = new ffmpeg(path);&#xA;    process.then(function (video) {&#xA;      let metadata = formatMetadata(video.metadata);&#xA;&#xA;      res.send ({&#xA;        status: &#x27;200&#x27;,&#xA;        data: metadata,&#xA;        errors: errors,&#xA;        response: &#x27;success&#x27;&#xA;      });&#xA;&#xA;    }, function (err) {&#xA;      console.warn(&#x27;Error: &#x27; &#x2B; err);&#xA;&#xA;      res.send ({&#xA;        status: &#x27;400&#x27;,&#xA;        data: &#x27;Something went wrong processing this video&#x27;,&#xA;        response: &#x27;fail&#x27;,&#xA;      });&#xA;    });&#xA;  });&#xA;&#xA;  file.on(&#x27;error&#x27;, function (err) {&#xA;    console.warn(err);&#xA;  });&#xA;&#xA;});&#xA;&#xA;function formatMetadata(metadata) {&#xA;  const data = {&#xA;    &#x27;video&#x27; : metadata.video,&#xA;    &#x27;audio&#x27; : metadata.audio,&#xA;    &#x27;duration&#x27; : metadata.duration&#xA;  };&#xA;  return data;&#xA;}&#xA;

    &#xA;

    // Expected output

    &#xA;

    {"data":{"video":{"container":"mov","bitrate":400,"stream":0,"codec":"h264","resolution":{"w":1280,"h":720},"resolutionSquare":{"w":1280,"h":720},"aspect":{"x":16,"y":9,"string":"16:9","value":1.7777777777777777},"rotate":0,"fps":25,"pixelString":"1:1","pixel":1},"audio":{"codec":"aac","bitrate":"127","sample_rate":44100,"stream":0,"channels":{"raw":"stereo","value":2}},"duration":{"raw":"00:00:25.68","seconds":25}}&#xA;

    &#xA;

    // Actual output

    &#xA;

    {"data":{"video":{"container":"","bitrate":0,"stream":0,"codec":"","resolution":{"w":0,"h":0},"resolutionSquare":{"w":0,"h":null},"aspect":{},"rotate":0,"fps":0,"pixelString":"","pixel":0},"audio":{"codec":"","bitrate":"","sample_rate":0,"stream":0,"channels":{"raw":"","value":""}},"duration":{"raw":"","seconds":0}}&#xA;

    &#xA;

    Note - this happens sporadically

    &#xA;

  • Need help understanding this script which uses ffmpeg to send rtmp input to node.js script

    4 juin 2022, par Arpit Shukla

    I was trying to understand this shell script which uses ffmpeg to take an rtmp input stream and send it to a node.js script. But I am having trouble understanding the syntax. Can someone please explain what is going on here ?

    &#xA;

    The script :

    &#xA;

    while :&#xA;do&#xA;  echo "Loop start"&#xA;&#xA;  feed_time=$(ffprobe -v error -show_entries format=start_time -of default=noprint_wrappers=1:nokey=1 $RTMP_INPUT)&#xA;  printf "feed_time value: ${feed_time}"&#xA;&#xA;  if [ ! -z "${feed_time}" ]&#xA;  then&#xA;  ffmpeg -i $RTMP_INPUT -tune zerolatency -muxdelay 0 -af "afftdn=nf=-20, highpass=f=200, lowpass=f=3000" -vn -sn -dn -f wav -ar 16000 -ac 1 - 2>/dev/null | node src/transcribe.js $feed_time&#xA;&#xA;  else&#xA;  echo "FFprobe returned null as a feed time."&#xA;  &#xA;  fi&#xA;&#xA;  echo "Loop finish"&#xA;  sleep 3&#xA;done&#xA;

    &#xA;

      &#xA;
    • What is feed_time here ? What does it represent ?
    • &#xA;

    • What is this portion doing - 2>/dev/null | node src/transcribe.js $feed_time ?
    • &#xA;

    • What is the use of sleep 3 ? Does this mean that we are sending audio stream to node.js in chuncks of 3 seconds ?
    • &#xA;

    &#xA;