Recherche avancée

Médias (3)

Mot : - Tags -/plugin

Autres articles (106)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

  • Gestion de la ferme

    2 mars 2010, par

    La ferme est gérée dans son ensemble par des "super admins".
    Certains réglages peuvent être fais afin de réguler les besoins des différents canaux.
    Dans un premier temps il utilise le plugin "Gestion de mutualisation"

  • MediaSPIP Player : problèmes potentiels

    22 février 2011, par

    Le lecteur ne fonctionne pas sur Internet Explorer
    Sur Internet Explorer (8 et 7 au moins), le plugin utilise le lecteur Flash flowplayer pour lire vidéos et son. Si le lecteur ne semble pas fonctionner, cela peut venir de la configuration du mod_deflate d’Apache.
    Si dans la configuration de ce module Apache vous avez une ligne qui ressemble à la suivante, essayez de la supprimer ou de la commenter pour voir si le lecteur fonctionne correctement : /** * GeSHi (C) 2004 - 2007 Nigel McNie, (...)

Sur d’autres sites (9905)

  • FFMPEG - How to pipe RMS_level and pts_time metadata without generating unwanted metadata

    6 février 2020, par Tovi Newman

    I am trying to find the loudest (highest rms_level) moment in an audio file, but I need to pipe the metadata rather than write to a file.

    I converted the answer found here : [https://superuser.com/questions/1183663/determining-audio-level-peaks-with-ffmpeg][1]

    By removing the write to file command and adding a pipe.
    Here’s what I’ve got.

    ffmpeg -i loudSoft.mp3 -af astats=metadata=1:reset=1,ametadata=print:key=lavfi.astats.Overall.RMS_level -f null - 2> result.txt

    The only problem is, now I’ve got a lot of unwanted metadata before and after the RMS_level and pts_time data as well as [Parsed_ametadata_1 @ 0x7f9d42c37500] being printed on each line. None of that was being written when I was writing to a file instead of piping. (all I need is the time and the rms.)

    Here is an abridged version of what I get when I write to file :

    frame:0    pts:0       pts_time:0
    lavfi.astats.Overall.RMS_level=-inf
    frame:1    pts:47      pts_time:0.00106576
    lavfi.astats.Overall.RMS_level=-165.163347
    frame:2    pts:1199    pts_time:0.0271882
    lavfi.astats.Overall.RMS_level=-99.736394
    frame:3    pts:2351    pts_time:0.0533107
    lavfi.astats.Overall.RMS_level=-88.112282
    frame:4    pts:3503    pts_time:0.0794331
    lavfi.astats.Overall.RMS_level=-86.554314
    frame:5    pts:4655    pts_time:0.105556
    lavfi.astats.Overall.RMS_level=-82.977501
    frame:6    pts:5807    pts_time:0.131678
    lavfi.astats.Overall.RMS_level=-79.698739
    frame:7    pts:6959    pts_time:0.1578
    lavfi.astats.Overall.RMS_level=-76.629393
    frame:8    pts:8111    pts_time:0.183923
    lavfi.astats.Overall.RMS_level=-71.581211
    frame:9    pts:9263    pts_time:0.210045
    lavfi.astats.Overall.RMS_level=-75.038503
    frame:10   pts:10415   pts_time:0.236168

    And here is what I’m looking at :

    ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
     built with Apple clang version 11.0.0 (clang-1100.0.33.16)
     configuration: --prefix=/usr/local/Cellar/ffmpeg/4.2.2_1 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.0.1.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.0.1.jdk/Contents/Home/include/darwin -fno-stack-check' --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librubberband --enable-libsnappy --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --disable-libjack --disable-indev=jack
     libavutil      56. 31.100 / 56. 31.100
     libavcodec     58. 54.100 / 58. 54.100
     libavformat    58. 29.100 / 58. 29.100
     libavdevice    58.  8.100 / 58.  8.100
     libavfilter     7. 57.100 /  7. 57.100
     libavresample   4.  0.  0 /  4.  0.  0
     libswscale      5.  5.100 /  5.  5.100
     libswresample   3.  5.100 /  3.  5.100
     libpostproc    55.  5.100 / 55.  5.100
    Input #0, mp3, from 'loudSoft2.mp3':
     Metadata:
       encoder         : Lavf58.29.100
     Duration: 00:00:09.85, start: 0.025057, bitrate: 128 kb/s
       Stream #0:0: Audio: mp3, 44100 Hz, stereo, fltp, 128 kb/s
       Metadata:
         encoder         : Lavc58.54
    Stream mapping:
     Stream #0:0 -> #0:0 (mp3 (mp3float) -> pcm_s16le (native))
    Press [q] to stop, [?] for help
    [Parsed_ametadata_1 @ 0x7f9d42c37500] frame:0    pts:0       pts_time:0
    [Parsed_ametadata_1 @ 0x7f9d42c37500] lavfi.astats.Overall.RMS_level=-inf
    Output #0, null, to 'pipe:':
     Metadata:
       encoder         : Lavf58.29.100
       Stream #0:0: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s
       Metadata:
         encoder         : Lavc58.54.100 pcm_s16le
    [Parsed_ametadata_1 @ 0x7f9d42c37500] frame:1    pts:47      pts_time:0.00106576
    [Parsed_ametadata_1 @ 0x7f9d42c37500] lavfi.astats.Overall.RMS_level=-165.163347
    [Parsed_ametadata_1 @ 0x7f9d42c37500] frame:2    pts:1199    pts_time:0.0271882
    [Parsed_ametadata_1 @ 0x7f9d42c37500] lavfi.astats.Overall.RMS_level=-99.736394
    [Parsed_ametadata_1 @ 0x7f9d42c37500] frame:3    pts:2351    pts_time:0.0533107


    *** MIDDLE OMITTED FOR BREVITY ***


    [Parsed_ametadata_1 @ 0x7f9d42c37500] lavfi.astats.Overall.RMS_level=-88.532185
    [Parsed_ametadata_1 @ 0x7f9d42c37500] frame:375  pts:430895  pts_time:9.77086
    [Parsed_ametadata_1 @ 0x7f9d42c37500] lavfi.astats.Overall.RMS_level=-88.594276
    [Parsed_ametadata_1 @ 0x7f9d42c37500] frame:376  pts:432047  pts_time:9.79698
    [Parsed_ametadata_1 @ 0x7f9d42c37500] lavfi.astats.Overall.RMS_level=-88.654138
    size=N/A time=00:00:09.82 bitrate=N/A speed=82.6x    
    video:0kB audio:1692kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
    [Parsed_astats_0 @ 0x7f9d42c37280] Channel: 1
    [Parsed_astats_0 @ 0x7f9d42c37280] DC offset: 0.000001
    [Parsed_astats_0 @ 0x7f9d42c37280] Min level: -0.000106
    [Parsed_astats_0 @ 0x7f9d42c37280] Max level: 0.000115
    [Parsed_astats_0 @ 0x7f9d42c37280] Min difference: 0.000000
    [Parsed_astats_0 @ 0x7f9d42c37280] Max difference: 0.000077
    [Parsed_astats_0 @ 0x7f9d42c37280] Mean difference: 0.000017
    [Parsed_astats_0 @ 0x7f9d42c37280] RMS difference: 0.000022
    [Parsed_astats_0 @ 0x7f9d42c37280] Peak level dB: -78.752617
    [Parsed_astats_0 @ 0x7f9d42c37280] RMS level dB: -88.654138
    [Parsed_astats_0 @ 0x7f9d42c37280] RMS peak dB: -88.654138
    [Parsed_astats_0 @ 0x7f9d42c37280] RMS trough dB: -88.654138
    [Parsed_astats_0 @ 0x7f9d42c37280] Crest factor: 3.126627
    [Parsed_astats_0 @ 0x7f9d42c37280] Flat factor: 0.000000
    [Parsed_astats_0 @ 0x7f9d42c37280] Peak count: 2
    [Parsed_astats_0 @ 0x7f9d42c37280] Bit depth: 32/32
    [Parsed_astats_0 @ 0x7f9d42c37280] Dynamic range: 76.274252
    [Parsed_astats_0 @ 0x7f9d42c37280] Zero crossings: 246
    [Parsed_astats_0 @ 0x7f9d42c37280] Zero crossings rate: 0.222624
    [Parsed_astats_0 @ 0x7f9d42c37280] Number of NaNs: 0
    [Parsed_astats_0 @ 0x7f9d42c37280] Number of Infs: 0
    [Parsed_astats_0 @ 0x7f9d42c37280] Number of denormals: 0
    [Parsed_astats_0 @ 0x7f9d42c37280] Channel: 2
    [Parsed_astats_0 @ 0x7f9d42c37280] DC offset: 0.000001
    [Parsed_astats_0 @ 0x7f9d42c37280] Min level: -0.000106
    [Parsed_astats_0 @ 0x7f9d42c37280] Max level: 0.000115
    [Parsed_astats_0 @ 0x7f9d42c37280] Min difference: 0.000000
    [Parsed_astats_0 @ 0x7f9d42c37280] Max difference: 0.000077
    [Parsed_astats_0 @ 0x7f9d42c37280] Mean difference: 0.000017
    [Parsed_astats_0 @ 0x7f9d42c37280] RMS difference: 0.000022
    [Parsed_astats_0 @ 0x7f9d42c37280] Peak level dB: -78.752617
    [Parsed_astats_0 @ 0x7f9d42c37280] RMS level dB: -88.654138
    [Parsed_astats_0 @ 0x7f9d42c37280] RMS peak dB: -88.654138
    [Parsed_astats_0 @ 0x7f9d42c37280] RMS trough dB: -88.654138
    [Parsed_astats_0 @ 0x7f9d42c37280] Crest factor: 3.126627
    [Parsed_astats_0 @ 0x7f9d42c37280] Flat factor: 0.000000
    [Parsed_astats_0 @ 0x7f9d42c37280] Peak count: 2
    [Parsed_astats_0 @ 0x7f9d42c37280] Bit depth: 32/32
    [Parsed_astats_0 @ 0x7f9d42c37280] Dynamic range: 76.274252
    [Parsed_astats_0 @ 0x7f9d42c37280] Zero crossings: 246
    [Parsed_astats_0 @ 0x7f9d42c37280] Zero crossings rate: 0.222624
    [Parsed_astats_0 @ 0x7f9d42c37280] Number of NaNs: 0
    [Parsed_astats_0 @ 0x7f9d42c37280] Number of Infs: 0
    [Parsed_astats_0 @ 0x7f9d42c37280] Number of denormals: 0
    [Parsed_astats_0 @ 0x7f9d42c37280] Overall
    [Parsed_astats_0 @ 0x7f9d42c37280] DC offset: 0.000001
    [Parsed_astats_0 @ 0x7f9d42c37280] Min level: -0.000106
    [Parsed_astats_0 @ 0x7f9d42c37280] Max level: 0.000115
    [Parsed_astats_0 @ 0x7f9d42c37280] Min difference: 0.000000
    [Parsed_astats_0 @ 0x7f9d42c37280] Max difference: 0.000077
    [Parsed_astats_0 @ 0x7f9d42c37280] Mean difference: 0.000017
    [Parsed_astats_0 @ 0x7f9d42c37280] RMS difference: 0.000022
    [Parsed_astats_0 @ 0x7f9d42c37280] Peak level dB: -78.752617
    [Parsed_astats_0 @ 0x7f9d42c37280] RMS level dB: -88.654138
    [Parsed_astats_0 @ 0x7f9d42c37280] RMS peak dB: -88.654138
    [Parsed_astats_0 @ 0x7f9d42c37280] RMS trough dB: -88.654138
    [Parsed_astats_0 @ 0x7f9d42c37280] Flat factor: 0.000000
    [Parsed_astats_0 @ 0x7f9d42c37280] Peak count: 2.000000
    [Parsed_astats_0 @ 0x7f9d42c37280] Bit depth: 32/32
    [Parsed_astats_0 @ 0x7f9d42c37280] Number of samples: 1105
    [Parsed_astats_0 @ 0x7f9d42c37280] Number of NaNs: 0.000000
    [Parsed_astats_0 @ 0x7f9d42c37280] Number of Infs: 0.000000
    [Parsed_astats_0 @ 0x7f9d42c37280] Number of denormals: 0.000000
  • FFmpeg only reading one channel

    29 août 2017, par AbstractDissonance

    Trying to read a stereo wav file and ffmpeg is only reading one channel. ffprobe returns 2 channels.

    I have used -ac 2 and then added -channel_layout stereo but all return 1 channel(or basically filling half the buffer I created).

    Basically the output size of ffmpeg is about half the wav file size.

    What I would like is for it to return every channel in

    Channel1_sample1, channel2_sample1, ..., ChannelN_sample1, channel1_sample2, etc...

    But, in reality, I’d rather just have it work with stereo ;) I’m giving it plenty large enough buffer to read to, so that isn’t the problem either.

    Here is the output

    ffprobe.exe -hide_banner -v quiet -print_format flat -show_streams -i temp.wav
    streams.stream.0.index=0
    streams.stream.0.codec_name="pcm_s16le"
    streams.stream.0.codec_long_name="PCM signed 16-bit little-endian"
    streams.stream.0.profile="unknown"
    streams.stream.0.codec_type="audio"
    streams.stream.0.codec_time_base="1/44100"
    streams.stream.0.codec_tag_string="[1][0][0][0]"
    streams.stream.0.codec_tag="0x0001"
    streams.stream.0.sample_fmt="s16"
    streams.stream.0.sample_rate="44100"
    streams.stream.0.channels=2
    streams.stream.0.channel_layout="unknown"
    streams.stream.0.bits_per_sample=16
    streams.stream.0.id="N/A"
    streams.stream.0.r_frame_rate="0/0"
    streams.stream.0.avg_frame_rate="0/0"
    streams.stream.0.time_base="1/44100"
    streams.stream.0.start_pts="N/A"
    streams.stream.0.start_time="N/A"
    streams.stream.0.duration_ts=14200200
    streams.stream.0.duration="322.000000"
    streams.stream.0.bit_rate="1411200"
    streams.stream.0.max_bit_rate="N/A"
    streams.stream.0.bits_per_raw_sample="N/A"
    streams.stream.0.nb_frames="N/A"
    streams.stream.0.nb_read_frames="N/A"
    streams.stream.0.nb_read_packets="N/A"
    streams.stream.0.disposition.default=0
    streams.stream.0.disposition.dub=0
    streams.stream.0.disposition.original=0
    streams.stream.0.disposition.comment=0
    streams.stream.0.disposition.lyrics=0
    streams.stream.0.disposition.karaoke=0
    streams.stream.0.disposition.forced=0
    streams.stream.0.disposition.hearing_impaired=0
    streams.stream.0.disposition.visual_impaired=0
    streams.stream.0.disposition.clean_effects=0
    streams.stream.0.disposition.attached_pic=0
    streams.stream.0.disposition.timed_thumbnails=0
    ffmpeg.exe -i temp.wav -loglevel quiet -f s16le -ac 2 -channel_layout stereo -

    temp.wav is just a standard stereo wav file.

  • Mangled output when printing strings from FFProbe STDERR

    9 février 2018, par spikespaz

    I’m trying to make a simple function to wrap around FFProbe, and most of the data can be retrieved correctly.

    The problem is when actually printing the strings to the command line using both Windows Command Prompt and Git Bash for Windows, the output appears mangled and out of order.

    Some songs (specifically the file Imagine Dragons - Hit Parade_ Best of the Dance Music Charts\80 - Beazz - Lime (Extended Mix).flac) are missing metadata. I don’t know why, but the dictionary the function below returns is empty.

    FFProbe outputs its results to stderr which can be piped to subprocess.PIPE, decoded, and parsed. I chose regex for the parsing bit.

    This is a slimmed down version of my code below, for the output take a look at the Github gist.

    #! /usr/bin/env python3
    # -*- coding: utf-8 -*-

    import os

    from glob import glob
    from re import findall, MULTILINE
    from subprocess import Popen, PIPE


    def glob_from(path, ext):
       """Return glob from a directory."""
       working_dir = os.getcwd()
       os.chdir(path)

       file_paths = glob("**/*." + ext)

       os.chdir(working_dir)

       return file_paths


    def media_metadata(file_path):
       """Use FFPROBE to get information about a media file."""
       stderr = Popen(("ffprobe", file_path), shell=True, stderr=PIPE).communicate()[1].decode()

       metadata = {}

       for match in findall(r"(\w+)\s+:\s(.+)$", stderr, MULTILINE):
           metadata[match[0].lower()] = match[1]

       return metadata


    if __name__ == "__main__":
       base = "C:/Users/spike/Music/Deezloader"

       for file in glob_from(base, "flac"):
           meta = media_metadata(os.path.join(base, file))
           title_length = meta.get("title", file) + " - " + meta.get("length", "000")

           print(title_length)

    Output Gist
    Output Raw

    I don’t understand why the output (the strings can be retrieved from the regex pattern effectively, however the output is strangely formatted when printing) appears disordered only when printing to the console using python’s print function. It doesn’t matter how I build the string to print, concatenation, comma-delimited arguments, whatever.

    I end up with the length of the song first, and the song name second but without space between the two. The dash is hanging off the end for some reason. Based on the print statement in the code before, the format should be Title - 000 ({title} - {length}) but the output looks more like 000Title -. Why ?