Recherche avancée

Médias (91)

Autres articles (56)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • L’agrémenter visuellement

    10 avril 2011

    MediaSPIP est basé sur un système de thèmes et de squelettes. Les squelettes définissent le placement des informations dans la page, définissant un usage spécifique de la plateforme, et les thèmes l’habillage graphique général.
    Chacun peut proposer un nouveau thème graphique ou un squelette et le mettre à disposition de la communauté.

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

Sur d’autres sites (10051)

  • ffmpeg : improving MP4 to webm ogg conversions

    14 juillet 2017, par Randy

    (Edited to include some of the things I’ve tried)

    I’m a musician, and occasional web coder. I’ve been using video editing software (old version of Roxio Videowave from 2011) to build promotional videos from clips of some of my performances, and I’d like to put some of them on my own web pages in HTML5 video format. So that currently means I need MP4, WEBM, and OGG conversions. Fortunately the editing software churns out some very nice MP4 (H264) files, and has plenty of options for doing so. I purposely output the output size about 2X the likely display size, in hopes of offering more detail for better conversions. Specifically, the video output was AVC/H.264, 800 x 450, 30fps, variable bit rate, but with 600000 as a base line (that was the default for this setting anyway).

    Now I’m nowhere near expert at this stuff, and I probably left out some important data. But bottom line, the resulting MP4 looked very good. Unfortunately, to put it on my own web page means at least converting to WEBM and OGG formats. It would be nice if all browsers just supported MP4, but then there would be licensing fees, so conversions are needed. Sadly, I’ve been wasting days now trying to do this with ffmpeg. Its easy to do, its doing it WELL that is a mystery to me. Just letting ffmpeg work using its defaults (meaning I just specify an input and output file) results in pretty terrible video. But I’ve also tried most of the settings for better quality available, and the resulting conversions are nowhere near as good as youtube’s conversions.

    Based on the info about my original MP4 file, can someone suggest some better settings for ffmpeg conversions to WEBM and OGG ? Am I going about this all wrong ? The best I’ve done so far was with a string like this, which specified a high quality and a fairly robust bit rate...

    ffmpeg -i input-file.mp4 -c:v libvpx -crf 10 -b:v 1M -c:a libvorbis output-file.webm

    That was much better than the default settings, but still nowhere near the quality of YOUTUBE conversions. In my resulting WEBM video, you can pretty plainly see how the picture degrades, and will snap into focus every few seconds when a "key frame" comes up. These artifacts should not be so obvious. Thanks for any help.

  • FFMPEG : Remove packets based on PTS/DTS

    9 mai 2018, par stevendesu

    I have a video which contains some audio packets beyond the end of the video data :

    $> ffprobe -show_packets video.mp4
    ...
    ...
    ...
    [PACKET]
    codec_type=video
    stream_index=0
    pts=5653648
    pts_time=235.568667
    dts=5653648
    dts_time=235.568667
    duration=1001
    duration_time=0.041708
    convergence_duration=N/A
    convergence_duration_time=N/A
    size=1030
    pos=25233684
    flags=__
    [/PACKET]
    [PACKET]
    codec_type=audio
    stream_index=1
    pts=11310080
    pts_time=235.626667
    dts=11310080
    dts_time=235.626667
    duration=1024
    duration_time=0.021333
    convergence_duration=N/A
    convergence_duration_time=N/A
    size=284
    pos=25234714
    flags=K_
    [/PACKET]
    [PACKET]
    codec_type=audio
    stream_index=1
    pts=11311104
    pts_time=235.648000
    dts=11311104
    dts_time=235.648000
    duration=1024
    duration_time=0.021333
    convergence_duration=N/A
    convergence_duration_time=N/A
    size=285
    pos=25234998
    flags=K_
    [/PACKET]
    [PACKET]
    codec_type=audio
    stream_index=1
    pts=11312128
    pts_time=235.669333
    dts=11312128
    dts_time=235.669333
    duration=992
    duration_time=0.020667
    convergence_duration=N/A
    convergence_duration_time=N/A
    size=290
    pos=25235283
    flags=K_
    [/PACKET]
    $>

    The last video packet in the video has a PTS time of 235.568667 and a duration of 0.041708 - meaning all video data ends at 235.610375. However there are audio packets beginning at 235.626667 and later.

    Is there an easy way to strip these audio packets from the file so that the audio and video end simultaneously ?

  • How to read raw audio data using FFmpeg ?

    6 juin 2020, par Yousef Alaqra

    I'm trying to use this command to get the audio stream using UDP :

    



    ffmpeg -i udp://192.168.1.1:6980 -acodec copy


    



    I got an error when I execute it, which says :

    



    [udp @ 00000157a76b9a40] bind failed: Error number -10048 occurred
udp://192.168.1.1:6980: I/O error


    



    What's the meaning of this error ?

    



    Update :

    



    I was able to read raw audio data using FFmpeg and output into a wave file, using the following command :

    



    ffmpeg -f u16be -ar 44100 -ac 2 -i 'udp://127.0.0.1:1223' output.wav


    



    The problem now, Sine there is surrounding metadata in the network packets being received, it needs to be stripped out or it will result in noise.

    



    In C# I used Skip() to trim the first 28 bytes of the received packet, how would I achieve this using FFmpeg ?

    



    Update :

    



    I was able to read the raw bytes from UDP packets using by executing child process in node js :

    



    var http = require("http");
var port = 8888;
var host = "localhost";
var children = require("child_process");

http
  .createServer(function (req, res) {
    //ffmpeg -f s16le -ar 48000 -ac 2 -i 'udp://192.168.1.230:65535' -b:a 128k -f webm -
    var ffm = children.spawn(
      "ffmpeg",
      "-f s16le -ar 48000 -ac 2 -i udp://192.168.1.230:65535 -b:a 128k -f webm -".split(
        " "
      )
    );

    res.writeHead(200, { "Content-Type": "audio/webm" });
    ffm.stdout.on("data", (data) => {
      console.log(data);
      res.write(data);
    });
  })
  .listen(port, host);

console.log("Server running at http://" + host + ":" + port + "/");


    



    As you can see in the code sample above, I'm trying to pipe the output of the child process into the response, so I would be able to hear the audio in the browser.

    



    I'm receiving the data, after executing the child process, but the browser unable to play audio for some reason that I need to figure it out.

    



    Do you have an idea of what am I missing ?