Recherche avancée

Médias (3)

Mot : - Tags -/plugin

Autres articles (58)

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

  • Participer à sa traduction

    10 avril 2011

    Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
    Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
    Actuellement MediaSPIP n’est disponible qu’en français et (...)

Sur d’autres sites (7569)

  • avcodec/mqc : Hardcode tables to save space

    7 mai 2021, par Andreas Rheinhardt
    avcodec/mqc : Hardcode tables to save space
    

    mqc currently initializes three arrays at runtime ; each of them
    has 2 * 47 elements, one is uint16_t, two are uint8_t, so that their
    combined size is 8 * 47. The source data for these initializations
    is contained in an array of 47 elements of size six. Said array is
    only used in order to initialize the other arrays, so the savings
    are just 2 * 47B. Yet this is dwarfed by the size of the code for
    performing the initializations : It is 109B (GCC 10.2, x64, -O3 albeit
    in an av_cold function) ; this does not even include the size of the
    code in the callers. So just hardcode these tables.

    This also fixes a data race, because the encoder always initialized
    these tables during init, although they might already be used at the
    same time by already running encoder/decoder instances.

    Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    • [DH] libavcodec/j2kenc.c
    • [DH] libavcodec/jpeg2000dec.c
    • [DH] libavcodec/mqc.c
    • [DH] libavcodec/mqc.h
  • avcodec/speedhqenc : Hardcode table to save space

    10 décembre 2020, par Andreas Rheinhardt
    avcodec/speedhqenc : Hardcode table to save space
    

    The SpeedHQ encoder currently reverses the entries of two small tables
    and stores them in other tables. These other tables have a size of 48
    bytes, yet the code for their initialization takes 135 bytes (GCC 9.3,
    x64, O3 albeit in an av_cold function). So remove the runtime
    initialization and hardcode the tables.

    Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@gmail.com>

    • [DH] libavcodec/speedhqenc.c
  • FFmpeg save .mp3 output into a variable

    6 mai 2021, par Toto Briac

    In my application I want to modify various mp3 and then mix them together. I know I could do it with a single command line in FFmpeg but It can end up very messy since I need to use various filter on each sample and I have five of them.&#xA;My idea is to edit each sample individually, save them into a variable and finally mix them. This is my code :

    &#xA;

    import subprocess    &#xA;&#xA;def create_samp():&#xA;    sample= subprocess.run(["ffmpeg", "-y", "-i", "https://freesound.org/data/previews/186/186942_2594536-hq.mp3", \&#xA;                           "-filter_complex", "adelay=15000|15000", "-codec:v", "copy", "-f", "mp3","-"], stdout=subprocess.PIPE)         &#xA;    return(sample)    &#xA;&#xA;def record(samp):&#xA;    subprocess.run(["ffmpeg", "-y", "-i", "https://cdns-preview-b.dzcdn.net/stream/c-b0b684fe962f93dc43f1f7ea493683a1-3.mp3", \&#xA;                    "-i", samp.stdout, "-f", "-mp3", "copy", "output.mp3"])&#xA;&#xA;samp = create_samp()&#xA;record(samp)&#xA;

    &#xA;

    My issue is that I have to encode the stdout. I've tried &#x27;utf-8&#x27; but got this error :

    &#xA;

    UnicodeDecodeError: &#x27;utf-8&#x27; codec can&#x27;t decode byte 0xff in position 45: invalid start byte&#xA;

    &#xA;

    With `'utf-16' :

    &#xA;

    UnicodeDecodeError: &#x27;utf-16-le&#x27; codec can&#x27;t decode bytes in position 239454-239455: illegal encoding&#xA;

    &#xA;

    Why is the way to fix this issue ? Is my approach the right one ?

    &#xA;

    Thanks to @Rotem I succeed to do what I wanted to. But now I am facing an other issue, since I want to mix up to 5 sounds, I tried to implement it the lazy/easy way :

    &#xA;

    import subprocess&#xA;&#xA;def create_samp_2():&#xA;    sample= subprocess.run(["ffmpeg", "-i", "https://freesound.org/data/previews/186/186942_2594536-hq.mp3", \&#xA;                            "-af", "adelay=15000|15000", "-f", "mp3", "pipe:"], stdout=subprocess.PIPE).stdout&#xA;    return(sample)&#xA;&#xA;def create_samp():&#xA;&#xA;    sample= subprocess.run(["ffmpeg", "-i", "https://freesound.org/data/previews/370/370934_6399962-lq.ogg", \&#xA;                            "-af", "adelay=1000|1000", "-f", "mp3", "pipe:"], stdout=subprocess.PIPE).stdout&#xA;    return(sample)&#xA;&#xA;&#xA;def record(samp, samp_2):        &#xA;    process = subprocess.Popen(["ffmpeg", "-y", &#x27;-f&#x27;, &#x27;mp3&#x27;, \&#xA;                                "-i", "https://cdns-preview-b.dzcdn.net/stream/c-b0b684fe962f93dc43f1f7ea493683a1-3.mp3", \&#xA;                                "-i", "pipe:", \&#xA;                                "-i", "pipe:", \&#xA;                                "-filter_complex", "amix=inputs=3:duration=longest", "output.mp3"], stdin=subprocess.PIPE)&#xA;&#xA;    process.stdin.write(samp) &#xA;    process.stdin.write(samp_2)        &#xA;    process.stdin.close()  &#xA;    process.wait()&#xA;&#xA;samp = create_samp()&#xA;samp_2 = create_samp_2()&#xA;record(samp, samp_2)&#xA;

    &#xA;

    Surprisingly it works, my two sounds start at the right time, but the second sound is messed up. So it's not the right way to do it.

    &#xA;

    Then I tried named pipes as suggested this way :

    &#xA;

    "pipe1:"&#xA;

    &#xA;

    But I get this error :

    &#xA;

    pipe1:: Protocol not found&#xA;Did you mean file:pipe1:?&#xA;

    &#xA;

    Reading named pipe wiki it is stated that I have to create them with mkfifo().

    &#xA;

    So I tried :

    &#xA;

    import os&#xA;pipe1 = "pipe1"&#xA;&#xA;def create_pipe1():&#xA;    os.mkfifo(pipe1)&#xA;&#xA;But now I have this error: pipe1:: Protocol not found&#xA;Did you mean file:pipe1:?&#xA;

    &#xA;