Recherche avancée

Médias (0)

Mot : - Tags -/xmlrpc

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (51)

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

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

Sur d’autres sites (5775)

  • Buffer as input and output for fluent-ffmpeg

    9 septembre 2022, par nickcoding2

    The below looks like a lot but a it's primarily just output.

    


    I'm trying to take in a buffer using multer (being send the request containing the video (.mov format) through Alamofire from an iPhone) as the input before a fluent-ffmpeg conversion, then I want it to output as a buffer, and then send the result to S3. I think I'm close, but I don't think fluent-ffmpeg can have a buffer passed in. This is deployed on heroku using this buildpack : https://github.com/jonathanong/heroku-buildpack-ffmpeg-latest.... How do I pass it in correctly ?

    


    const multer = require(&#x27;multer&#x27;)&#xA;const upload = multer({ limits: { fieldSize: 100_000_000 } })&#xA;app.post(&#x27;/create&#x27;, upload.single(&#x27;video&#x27;), async function (request, response, next) {&#xA;  let data = request.body&#xA;  console.log(data) // prints [Object: null prototype] { param1: &#x27;&#x27; }&#xA;  let bufferStream = new stream.PassThrough();&#xA;  console.log(request.file.buffer) // prints &#x27;<buffer 00="00" 14="14" 66="66" 74="74" 79="79" 70="70" 71="71" 20="20" 08="08" 77="77" 69="69" 64="64" 65="65" 01="01" 0e="0e" 28="28" 55="55" 6d="6d" 61="61" 21="21" 03="03" 40="40" 68="68" 1c="1c" 4e="4e" ff="ff" 3c="3c" 59="59" 96="96" 7c="7c" 82="82" 17718642="17718642" more="more" bytes="bytes">&#x27;&#xA;&#xA;  new ffmpeg({&#xA;    source: stream.Readable.from(request.file.buffer, { objectMode: false })&#xA;  })&#xA;  // .format(&#x27;mp4&#x27;)&#xA;  .on(&#x27;error&#x27;, function (err) {&#xA;    console.log(Error: ${err})&#xA;  })&#xA;  .on(&#x27;progress&#x27;, function (progress) {&#xA;    console.log("progress")&#xA;  })&#xA;  .on(&#x27;end&#x27;, function () {&#xA;    console.log(&#x27;Formatting finished!&#x27;);&#xA;    console.log("after");&#xA;  })&#xA;  .writeToStream(bufferStream);&#xA;&#xA;  // Read the passthrough stream&#xA;  const buffers = [];&#xA;  bufferStream.on(&#x27;data&#x27;, function (buf) {&#xA;    buffers.push(buf);&#xA;  });&#xA;  bufferStream.on(&#x27;end&#x27;, function () {&#xA;    const outputBuffer = Buffer.concat(buffers);&#xA;  // use outputBuffer&#xA;  });&#xA;  console.log("Added.")&#xA;  response.send("Success")&#xA;});&#xA;</buffer>

    &#xA;

    The output is what you can see below (without .format('mp4')) :

    &#xA;

    2022-09-03T13:12:24.194384&#x2B;00:00 heroku[router]: at=info method=POST path="/createBusiness" host=sparrow-testing.herokuapp.com request_id=2774a4ec-e21e-4c2f-8086-460a4cba7d1d fwd="74.71.236.5" dyno=web.1 connect=0ms service=13157ms status=200 bytes=762 protocol=https&#xA;2022-09-03T13:12:24.186257&#x2B;00:00 app[web.1]: [Object: null prototype] { title: &#x27;&#x27; }&#xA;2022-09-03T13:12:24.187296&#x2B;00:00 app[web.1]: <buffer 00="00" 14="14" 66="66" 74="74" 79="79" 70="70" 71="71" 20="20" 08="08" 77="77" 69="69" 64="64" 65="65" 01="01" 0e="0e" 28="28" 55="55" 6d="6d" 61="61" 21="21" 03="03" 40="40" 68="68" 1c="1c" 4e="4e" ff="ff" 3c="3c" 59="59" 96="96" 7c="7c" 82="82" 17718642="17718642" more="more" bytes="bytes">&#xA;2022-09-03T13:12:24.189891&#x2B;00:00 app[web.1]: Added.&#xA;2022-09-03T13:12:24.891564&#x2B;00:00 app[web.1]: Error: Error: ffmpeg exited with code 1: pipe:1: Invalid argument&#xA;2022-09-03T13:12:24.891570&#x2B;00:00 app[web.1]: &#xA;</buffer>

    &#xA;

    This output is what you see with .format('mp4') :

    &#xA;

    2022-09-03T13:17:07.380415&#x2B;00:00 app[web.1]: [Object: null prototype] { title: &#x27;&#x27; }&#xA;2022-09-03T13:17:07.381335&#x2B;00:00 app[web.1]: <buffer 00="00" 14="14" 66="66" 74="74" 79="79" 70="70" 71="71" 20="20" 08="08" 77="77" 69="69" 64="64" 65="65" 01="01" 0e="0e" 28="28" 55="55" 6d="6d" 61="61" 21="21" 03="03" 40="40" 68="68" 1c="1c" 4e="4e" ff="ff" 3c="3c" 59="59" 96="96" 7c="7c" 82="82" 17718642="17718642" more="more" bytes="bytes">&#xA;2022-09-03T13:17:07.384047&#x2B;00:00 app[web.1]: Added.&#xA;2022-09-03T13:17:07.388457&#x2B;00:00 heroku[router]: at=info method=POST path="/createBusiness" host=sparrow-testing.herokuapp.com request_id=84e69ead-09b1-4668-8fc8-b9fc9d5f229d fwd="74.71.236.5" dyno=web.1 connect=0ms service=13079ms status=200 bytes=762 protocol=https&#xA;2022-09-03T13:17:08.339746&#x2B;00:00 app[web.1]: Error: Error: ffmpeg exited with code 1: Conversion failed!&#xA;2022-09-03T13:17:08.339783&#x2B;00:00 app[web.1]: &#xA;</buffer>

    &#xA;

    My uploadFile function works correctly because I use it elsewhere—normally, I just pass in the request.file.buffer, but here it needs to be a buffer after the ffmpeg conversion

    &#xA;

    EDIT :

    &#xA;

    At Heiko's suggestion, I tried changing the multer initialization to

    &#xA;

    multer({ limits: { fieldSize: 100_000_000 }, dest: "uploads/" })&#xA;

    &#xA;

    and the source I was passing in to ffmpeg to

    &#xA;

    new ffmpeg({&#xA;  source: request.file.path // request.file.path seems to be a path of a Multer-generated file, I&#x27;d assume the one I&#x27;m sending to the server&#xA;})&#xA;.format(&#x27;mp4&#x27;)&#xA;

    &#xA;

    but it still errored out to

    &#xA;

    Error: ffmpeg exited with code 1: Conversion failed!&#xA;

    &#xA;

    when the request.file was :

    &#xA;

    {&#xA;  fieldname: &#x27;video&#x27;,&#xA;  originalname: &#x27;video&#x27;,&#xA;  encoding: &#x27;7bit&#x27;,&#xA;  mimetype: &#x27;clientMime&#x27;,&#xA;  destination: &#x27;uploads/&#x27;,&#xA;  filename: &#x27;08d5d3bbdcf1ac29fb97800136a306e9&#x27;,&#xA;  path: &#x27;uploads/08d5d3bbdcf1ac29fb97800136a306e9&#x27;,&#xA;  size: 1567480&#xA;}&#xA;

    &#xA;

  • avfilter : add bilateral_cuda filter

    30 août 2022, par Mohamed Khaled Mohamed
    avfilter : add bilateral_cuda filter
    

    GSoC 2022

    Signed-off-by : Mohamed Khaled <mohamed.elbassiony00@eng-st.cu.edu.eg>
    Signed-off-by : Timo Rothenpieler <timo@rothenpieler.org>

    • [DH] Changelog
    • [DH] compat/cuda/cuda_runtime.h
    • [DH] configure
    • [DH] doc/filters.texi
    • [DH] libavfilter/Makefile
    • [DH] libavfilter/allfilters.c
    • [DH] libavfilter/version.h
    • [DH] libavfilter/vf_bilateral_cuda.c
    • [DH] libavfilter/vf_bilateral_cuda.cu
  • How to Combine two Live Streams(mjpeg + pcm) for ffmpeg or ffplay playback ?

    7 septembre 2022, par sharimken

    What's the correct command to combine two live streams (mjpeg + pcm) for playback ?&#xA;Currently, I have to playback them separately via ffplay. Is it possible to combine them as one for playback ?

    &#xA;

    //video stream mjpeg&#xA;ffplay "udp://127.0.0.1:3001"&#xA;&#xA;//audio stream raw pcm&#xA;ffplay -f s16le -ac 1 -ar 11025 "udp://127.0.0.1:3002"&#xA;

    &#xA;

    I found some example commands suggested by others, but not sure how to implement for my above use case. https://superuser.com/questions/1410764/how-to-play-two-remote-streams-simultaneously

    &#xA;

    ffmpeg -headers X -i .. -headers Y -i .. -c copy -f nut - | ffplay -f nut -i -&#xA;

    &#xA;

    Edit 2022/09/07 :

    &#xA;

    Thanks for @kesh suggestion, below script works for first 1 second with video and sound.

    &#xA;

    ffmpeg -i "udp://127.0.0.1:3001" \&#xA;-f s16le -ac 1 -ar 11025 -i "udp://127.0.0.1:3002" \&#xA;-c copy -f nut - | ffplay -f nut -i -&#xA;

    &#xA;

    However, sound was muted after first error occured.

    &#xA;

    udp://127.0.0.1:3001: Input/output error&#xA;

    &#xA;

    Updates :&#xA;Above issue has been solved, with below commands :

    &#xA;

    ffmpeg -i "udp://127.0.0.1:3001?overrun_nonfatal=1&amp;fifo_size=100000" \&#xA;-f s16le -ac 1 -ar 11025 -i "udp://127.0.0.1:3002?overrun_nonfatal=1&amp;fifo_size=100000" \&#xA;-c copy -f nut - | ffplay -f nut -i -&#xA;

    &#xA;

    However, if the mjpeg stream is paused or skipped few frames, the audio will stop too. It's not necessary to sync them, and how to keep the audio stream playing as long as it receives data ?

    &#xA;

    Q1 : the default video fps is 25, can I set it to 30 or 60 ?

    &#xA;

    Q2 : pcm data stream is consistence, but mjpeg is not consistence. audio stream will stop once mjpeg is paused/resumed. What's the best solution ?

    &#xA;