Recherche avancée

Médias (1)

Mot : - Tags -/copyleft

Autres articles (56)

  • Submit bugs and patches

    13 avril 2011

    Unfortunately a software is never perfect.
    If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
    If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
    You may also (...)

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

Sur d’autres sites (4264)

  • FFMPEG or FFPLAY, catch FFT signal in real time as floats

    25 avril 2021, par NVRM

    Looking to extract in real time a FFT snapshot of waveforms data with ffplay, in the view of creating animations.

    


    This is exactly what I am looking to catch, but this demo is using JavaScript in a browser. (Source own post)

    


    

    

    const audio = document.getElementById('music');
audio.load();
audio.play();

const ctx = new AudioContext();
const audioSrc = ctx.createMediaElementSource(audio);
const analyser = ctx.createAnalyser();

audioSrc.connect(analyser);
analyser.connect(ctx.destination);

analyser.fftSize = 256;
const bufferLength = analyser.frequencyBinCount;
const frequencyData = new Uint8Array(bufferLength);

setInterval(() => {
   analyser.getByteFrequencyData(frequencyData);
   console.log(frequencyData);
}, 1000);

    


    <audio src="http://strm112.1.fm/reggae_mobile_mp3" crossorigin="use-URL-credentials" controls="true"></audio>

    &#xD;&#xA;

    &#xD;&#xA;

    &#xD;&#xA;&#xA;


    &#xA;

    I tried many variations around the method posted on https://trac.ffmpeg.org/wiki/Waveform .

    &#xA;

    enter image description here

    &#xA;

    The problem is the output format for FFT is PCM (Pulse Code Modulation), and not real time.

    &#xA;


    &#xA;

    In a generic way, is there a simple way to do this, while the sound is playing, to retrieve this data ?

    &#xA;

    ffplay -fft file.mp3 > fft.json&#xA;

    &#xA;


    &#xA;

    Using C, same stuff : Apply FFT on pcm data and convert to a spectrogram

    &#xA;

    FFMPEG waveform filter documentation

    &#xA;

  • How do I know ffmpeg-php is installed ?

    18 juillet 2014, par Rob Avery IV

    I just followed the instructions from this link on how to install ffmpeg-php on my dedicated server : http://www.ndchost.com/wiki/server-administration/install-ffmpeg

    At the bottom, it says to run the command php -i|grep ffmpeg and if it outputs the following lines then it is installed :

    ffmpegffmpeg support (ffmpeg-php) => enabled
    ffmpeg-php version => 0.6.0
    ffmpeg.allow_persistent => 0 => 0

    When I run it, it gives me this :

    ffmpeg
    ffmpeg-php version => 0.6.0-svn
    ffmpeg-php built on => Jul 18 2014 08:46:12
    ffmpeg-php gd support  => enabled
    ffmpeg libavcodec version => Lavc52.108.0
    ffmpeg libavformat version => Lavf52.93.0
    ffmpeg swscaler version => SwS0.12.0
    ffmpeg.allow_persistent => 0 => 0
    ffmpeg.show_warnings => 0 => 0
    PWD => /usr/local/src/ffmpeg-php-0.6.0
    _SERVER["PWD"] => /usr/local/src/ffmpeg-php-0.6.0
    _ENV["PWD"] => /usr/local/src/ffmpeg-php-0.6.0

    I got 2/3 lines, but the one is not character-for-character the same.

    Is ffmpegffmpeg support (ffmpeg-php) => enabled the same as ffmpegffmpeg support (ffmpeg-php) => enabled in this context ?

    EDIT :
    Running this command ffmpeg -version gives me this result :

    FFmpeg version SVN-r26402, Copyright (c) 2000-2011 the FFmpeg developers
     built on Jul 18 2014 08:41:45 with gcc 4.4.7 20120313 (Red Hat 4.4.7-3)
     configuration: --enable-libmp3lame --disable-mmx --enable-shared
     libavutil     50.36. 0 / 50.36. 0
     libavcore      0.16. 1 /  0.16. 1
     libavcodec    52.108. 0 / 52.108. 0
     libavformat   52.93. 0 / 52.93. 0
     libavdevice   52. 2. 3 / 52. 2. 3
     libavfilter    1.74. 0 /  1.74. 0
     libswscale     0.12. 0 /  0.12. 0
    FFmpeg SVN-r26402
    libavutil     50.36. 0 / 50.36. 0
    libavcore      0.16. 1 /  0.16. 1
    libavcodec    52.108. 0 / 52.108. 0
    libavformat   52.93. 0 / 52.93. 0
    libavdevice   52. 2. 3 / 52. 2. 3
    libavfilter    1.74. 0 /  1.74. 0
    libswscale     0.12. 0 /  0.12. 0
  • Cannot get JACK Audio/Netjack working over LAN

    23 juin 2020, par James

    I'm trying to stream low latency audio between 2 raspberry pis. Both gstreamer and ffmpeg induce 2+ second delays for me.

    &#xA;&#xA;

    I've played around with Jack Audio and locally on a single pi it seems promising. I can route mic input to a speaker locally and it is almost instantaneous.

    &#xA;&#xA;

    However, I have been having trouble getting it to route between devices using Netjack.

    &#xA;&#xA;

    # ON SERVER&#xA;jackd -P70 -p16 -t2000 -dalsa -dhw:1 -p128 -n3 -r44100 -s &#xA;&#xA;# ON CLIENT&#xA;jackd -v -R -P70 -dnetone -i1 -o1 -I0 -O0  -r44100 -p128 -n3&#xA;&#xA;# ON SERVER&#xA;jack_netsource -H &lt; ip address of client >&#xA;jack_lsp # list availible connection ports&#xA;&#xA;>system:capture_1&#xA;>system:playback_1&#xA;>system:playback_2&#xA;>netjack:capture_1&#xA;>netjack:capture_2&#xA;>netjack:capture_3&#xA;>netjack:playback_1&#xA;>netjack:playback_2&#xA;>netjack:playback_3&#xA;&#xA;jack_connect system:capture_1 system:playback_1 # this works&#xA;jack_connect system:capture_1 netjack:playback_1 # this doesn&#x27;t work :(&#xA;

    &#xA;&#xA;

    Most of the launch options I pulled from here http://wiki.linuxaudio.org/wiki/raspberrypi#using_jack. I'll be honest I don't really know what they do.

    &#xA;&#xA;

    The client jackd output shows messages like

    &#xA;&#xA;

    Jack: data not valid&#xA;Jack: data not valid&#xA;Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 6&#xA;Jack: JackRequest::Notification&#xA;Jack: JackEngine::ClientNotify: no callback for notification = 3&#xA;Jack: JackEngine::ClientNotify: no callback for notification = 3&#xA;netxruns... duration: 139ms&#xA;Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 6&#xA;Jack: JackRequest::Notification&#xA;Jack: JackEngine::ClientNotify: no callback for notification = 3&#xA;Jack: JackEngine::ClientNotify: no callback for notification = 3&#xA;

    &#xA;&#xA;

    And the server jack_netsource output looks like

    &#xA;&#xA;

    current latency 114&#xA;current latency 20&#xA;current latency 27&#xA;current latency 29&#xA;current latency 48&#xA;current latency 23&#xA;current latency 33&#xA;current latency 28&#xA;current latency 41&#xA;current latency 84&#xA;current latency 44&#xA;

    &#xA;&#xA;

    and the server jackd output looks like

    &#xA;&#xA;

    JackAudioDriver::ProcessGraphAsyncMaster: Process error&#xA;JackAudioDriver::ProcessGraphAsyncMaster: Process error&#xA;JackAudioDriver::ProcessGraphAsyncMaster: Process error&#xA;JackAudioDriver::ProcessGraphAsyncMaster: Process error&#xA;JackEngine::XRun: client = netjack was not finished, state = Triggered&#xA;JackAudioDriver::ProcessGraphAsyncMaster: Process error&#xA;JackAudioDriver::ProcessGraphAsyncMaster: Process error&#xA;JackEngine::XRun: client = netjack was not finished, state = Triggered&#xA;JackEngine::XRun: client = netjack was not finished, state = Triggered&#xA;

    &#xA;&#xA;

    I believe the -dnetone flag indicates to use Netjack2. Netjack 1, which I've tried with the -dnet flag results in a single Not Connected message from jack_netsource and :

    &#xA;&#xA;

    Jack: CatchHost fd = 5 err = Resource temporarily unavailable&#xA;Jack: CatchHost fd = 5 err = Resource temporarily unavailable&#xA;Jack: CatchHost fd = 5 err = Resource temporarily unavailable&#xA;Jack: CatchHost fd = 5 err = Resource temporarily unavailable&#xA;Jack: CatchHost fd = 5 err = Resource temporarily unavailable&#xA;Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 6&#xA;

    &#xA;&#xA;

    from the client jackd.

    &#xA;