Recherche avancée

Médias (91)

Autres articles (29)

  • Demande de création d’un canal

    12 mars 2010, par

    En fonction de la configuration de la plateforme, l’utilisateur peu avoir à sa disposition deux méthodes différentes de demande de création de canal. La première est au moment de son inscription, la seconde, après son inscription en remplissant un formulaire de demande.
    Les deux manières demandent les mêmes choses fonctionnent à peu près de la même manière, le futur utilisateur doit remplir une série de champ de formulaire permettant tout d’abord aux administrateurs d’avoir des informations quant à (...)

  • 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 Core : La Configuration

    9 novembre 2010, par

    MediaSPIP Core fournit par défaut trois pages différentes de configuration (ces pages utilisent le plugin de configuration CFG pour fonctionner) : une page spécifique à la configuration générale du squelettes ; une page spécifique à la configuration de la page d’accueil du site ; une page spécifique à la configuration des secteurs ;
    Il fournit également une page supplémentaire qui n’apparait que lorsque certains plugins sont activés permettant de contrôler l’affichage et les fonctionnalités spécifiques (...)

Sur d’autres sites (4594)

  • Try out the latest Piwik 3.0.0 beta version : Piwik 3.0.0 is almost here !

    15 novembre 2016, par Matthieu Aubry — Uncategorized

    Dear Piwik community,

    We are excited today to announce our publicly available Piwik 3.0.0 beta 3 release. We have been been working hard behind the scenes on the new 3.0.0 release for almost one year now. We, the passionate team at Piwik, are dedicated to bringing you a new and improved Piwik experience and invite you to join our beta channel to switch to Piwik 3 today !

    Enable the beta release channel

    Ready to enjoy a much faster Piwik experience and the magic of a modern user interface ? Follow the instructions here and you can upgrade to Piwik 3.0.0 beta in just one click.

    Please note that beta versions have a risk of containing bugs so we don’t recommend to use on a production server. If you find and report a bug in a beta version, we will aim to fix it as quickly as possible.

    Premium plugins in Piwik 3

    In the Piwik Marketplace you can discover & download plugins to enrich the functionality of your Piwik, as well as themes to change the look and feel of your Piwik user interface. The Marketplace integration was much improved in this new release, most notably : you can now purchase and download Premium plugins within Piwik !

    Important changes

    The Piwik 3 upgrade comes with some important changes that may require your attention which we detail in this blog post and in the developer changelog.

    The full list of more than 150 changes can be found in the Piwik 3 beta changelogs : beta 1, beta 2, beta 3.

    What to do next

    When you use the Piwik beta channel and if you come across any issues in Piwik such as a bug, feature missing, regression… let us know on our tracker and create a new issue so we can get this sorted.

    As we are in the final days of Piwik 3 development, we are looking forward to your feedback and help testing !

    Welcome to the future of Piwik,

    Happy Analytics !

  • avcodec/mpegvideo : Deprecate mpeg_quant option for codecs != MPEG-4

    6 avril 2021, par Andreas Rheinhardt
    avcodec/mpegvideo : Deprecate mpeg_quant option for codecs != MPEG-4
    

    mpeg_quant may only be set for MPEG-4 and MPEG-2, yet for the latter
    it is no option as the code acts as if it were always set.
    So deprecate the option for all codecs for which it makes no sense.

    Furthermore, given that the code already errors out if the option is set
    for a codec that doesn't support it we can restrict the range of
    the option for all these codecs without breaking something. This means
    that the checks for whether mpeg_quant is set for these codecs can be
    removed as soon as AVCodecContext.mpeg_quant is removed.

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

    • [DH] libavcodec/mjpegenc.c
    • [DH] libavcodec/mpeg12enc.c
    • [DH] libavcodec/mpeg4videoenc.c
    • [DH] libavcodec/mpegvideo.h
    • [DH] libavcodec/mpegvideo_enc.c
    • [DH] libavcodec/version.h
  • How to fix av_interleaved_write_frame() broken pipe error in php

    31 mars, par Adekunle Adeyeye

    I have an issue using ffmpeg to stream audio and parse to google cloud speech to text in PHP.

    &#xA;

    It returns this output.&#xA;I have tried delaying some part of the script, that did not solve it.&#xA;I have also checked for similar questions. however, they are mostly in python and none of the solutions actually work for this.

    &#xA;

      built with gcc 8 (GCC)&#xA;  cpudetect&#xA;  libavutil      56. 31.100 / 56. 31.100&#xA;  libavcodec     58. 54.100 / 58. 54.100&#xA;  libavformat    58. 29.100 / 58. 29.100&#xA;  libavdevice    58.  8.100 / 58.  8.100&#xA;  libavfilter     7. 57.100 /  7. 57.100&#xA;  libavresample   4.  0.  0 /  4.  0.  0&#xA;  libswscale      5.  5.100 /  5.  5.100&#xA;  libswresample   3.  5.100 /  3.  5.100&#xA;  libpostproc    55.  5.100 / 55.  5.100&#xA;Input #0, mp3, from &#x27;https://npr-ice.streamguys1.com/live.mp3&#x27;:&#xA;  Metadata:&#xA;    icy-br          : 96&#xA;    icy-description : NPR Program Stream&#xA;    icy-genre       : News and Talk&#xA;    icy-name        : NPR Program Stream&#xA;    icy-pub         : 0&#xA;    StreamTitle     :&#xA;  Duration: N/A, start: 0.000000, bitrate: 96 kb/s&#xA;    Stream #0:0: Audio: mp3, 32000 Hz, stereo, fltp, 96 kb/s&#xA;Stream mapping:&#xA;  Stream #0:0 -> #0:0 (mp3 (mp3float) -> pcm_s16le (native))&#xA;Press [q] to stop, [?] for help&#xA;Output #0, s16le, to &#x27;pipe:&#x27;:&#xA;  Metadata:&#xA;    icy-br          : 96&#xA;    icy-description : NPR Program Stream&#xA;    icy-genre       : News and Talk&#xA;    icy-name        : NPR Program Stream&#xA;    icy-pub         : 0&#xA;    StreamTitle     :&#xA;    encoder         : Lavf58.29.100&#xA;    Stream #0:0: Audio: pcm_s16le, 16000 Hz, mono, s16, 256 kb/s&#xA;    Metadata:&#xA;      encoder         : Lavc58.54.100 pcm_s16le&#xA;**av_interleaved_write_frame(): Broken pipe** 256.0kbits/s speed=1.02x&#xA;**Error writing trailer of pipe:: Broken pipe**&#xA;size=      54kB time=00:00:01.76 bitrate= 250.8kbits/s speed=0.465x&#xA;video:0kB audio:55kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown&#xA;Conversion failed!&#xA;

    &#xA;

    this is my PHP code

    &#xA;

    require_once &#x27;vendor/autoload.php&#x27;;&#xA;    &#xA;    $projectId = "xxx-45512";&#xA;    putenv(&#x27;GOOGLE_APPLICATION_CREDENTIALS=&#x27; . __DIR__ . &#x27;/xxx-45512-be3eb805f1d7.json&#x27;);&#xA;    &#xA;    // Database connection&#xA;    $pdo = new PDO(&#x27;mysql:host=localhost;dbname=&#x27;, &#x27;&#x27;, &#x27;&#x27;);&#xA;    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);&#xA;    &#xA;    $url = "https://npr-ice.streamguys1.com/live.mp3";&#xA;    &#xA;    $ffmpegCmd = "ffmpeg -re -i $url -acodec pcm_s16le -ac 1 -ar 16000 -f s16le -";&#xA;    &#xA;    $fp = popen($ffmpegCmd, "r");&#xA;    if (!$fp) {&#xA;        die("Failed to open FFmpeg stream.");&#xA;    }&#xA;    sleep(5);&#xA;&#xA;    try {&#xA;        $client = new SpeechClient([&#x27;transport&#x27; => &#x27;grpc&#x27;, &#x27;credentials&#x27; => json_decode(file_get_contents(getenv(&#x27;GOOGLE_APPLICATION_CREDENTIALS&#x27;)), true)]);&#xA;    } catch (Exception $e) {&#xA;        echo &#x27;Error: &#x27; . $e->getMessage(); &#xA;        exit;&#xA;    }&#xA;    &#xA;    $recognitionConfig = new RecognitionConfig([&#xA;        &#x27;auto_decoding_config&#x27; => new AutoDetectDecodingConfig(),&#xA;        &#x27;language_codes&#x27; => [&#x27;en-US&#x27;],&#xA;        &#x27;model&#x27; => &#x27;long&#x27;,&#xA;    ]);&#xA;    &#xA;    $streamingConfig = new StreamingRecognitionConfig([&#xA;        &#x27;config&#x27; => $recognitionConfig,&#xA;    ]);&#xA;    &#xA;    $configRequest = new StreamingRecognizeRequest([&#xA;        &#x27;recognizer&#x27; => "projects/$projectId/locations/global/recognizers/_",&#xA;        &#x27;streaming_config&#x27; => $streamingConfig,&#xA;    ]);&#xA;    &#xA;    &#xA;    function streamAudio($fp)&#xA;    {&#xA;        while (!feof($fp)) {&#xA;            yield fread($fp, 4096);&#xA;        }&#xA;    }&#xA;    &#xA;    $responses = $client->streamingRecognize([&#xA;    &#x27;requests&#x27; => (function () use ($configRequest, $fp) {&#xA;            yield $configRequest; // Send initial config&#xA;            foreach (streamAudio($fp) as $audioChunk) {&#xA;                yield new StreamingRecognizeRequest([&#x27;audio&#x27; => $audioChunk]);&#xA;            }&#xA;        })()]&#xA;    );&#xA;    &#xA;    // $responses = $speechClient->streamingRecognize();&#xA;    // $responses->writeAll([$request,]);&#xA;    &#xA;    foreach ($responses as $response) {&#xA;        foreach ($response->getResults() as $result) {&#xA;            $transcript = $result->getAlternatives()[0]->getTranscript();&#xA;            // echo "Transcript: $transcript\n";&#xA;    &#xA;            // Insert into the database&#xA;            $stmt = $pdo->prepare("INSERT INTO transcriptions (transcript) VALUES (:transcript)");&#xA;            $stmt->execute([&#x27;transcript&#x27; => $transcript]);&#xA;        }&#xA;    }&#xA;    &#xA;    &#xA;    pclose($fp);&#xA;    $client->close();&#xA;

    &#xA;

    I'm not sure what the issue is at this time.

    &#xA;

    UPDATE

    &#xA;

    I've done some more debugging and i have gotten the error to clear and to stream actually starts.&#xA;However, I expect the audio to transcribe and update my database but instead I get this error when i close the stream

    &#xA;

    error after closing stream

    &#xA;

    this is my updated code

    &#xA;

        $handle = popen($ffmpegCommand, "r");&#xA;&#xA;    try {&#xA;        $client = new SpeechClient([&#x27;transport&#x27; => &#x27;grpc&#x27;, &#x27;credentials&#x27; => json_decode(file_get_contents(getenv(&#x27;GOOGLE_APPLICATION_CREDENTIALS&#x27;)), true)]);&#xA;    } catch (Exception $e) {&#xA;        echo &#x27;Error: &#x27; . $e->getMessage(); &#xA;        exit;&#xA;    }&#xA;    &#xA;    try {&#xA;    $recognitionConfig = (new RecognitionConfig())&#xA;        ->setAutoDecodingConfig(new AutoDetectDecodingConfig())&#xA;        ->setLanguageCodes([&#x27;en-US&#x27;], [&#x27;en-UK&#x27;])&#xA;        ->setModel(&#x27;long&#x27;);&#xA;    } catch (Exception $e) {&#xA;        echo &#x27;Error: &#x27; . $e->getMessage(); &#xA;        exit;&#xA;    }&#xA;    &#xA;    try {&#xA;        $streamConfig = (new StreamingRecognitionConfig())&#xA;        ->setConfig($recognitionConfig);&#xA;    } catch (Exception $e) {&#xA;        echo &#x27;Error: &#x27; . $e->getMessage();&#xA;        exit;&#xA;    }&#xA;    try {&#xA;        $configRequest = (new StreamingRecognizeRequest())&#xA;        ->setRecognizer("projects/$projectId/locations/global/recognizers/_")&#xA;        ->setStreamingConfig($streamConfig);&#xA;    } catch (Exception $e) {&#xA;        echo &#x27;Error: &#x27; . $e->getMessage(); &#xA;        exit;&#xA;    }&#xA;    &#xA;    $stream = $client->streamingRecognize();&#xA;    $stream->write($configRequest);&#xA;    &#xA;    mysqli_query($conn, "INSERT INTO transcriptions (transcript) VALUES (&#x27;bef&#x27;)");&#xA;    &#xA;    while (!feof($handle)) {&#xA;        $chunk = fread($handle, 25600);&#xA;        // printf(&#x27;chunk: &#x27; . $chunk);&#xA;        if ($chunk !== false) {&#xA;            try {&#xA;                $request = (new StreamingRecognizeRequest())&#xA;                        ->setAudio($chunk);&#xA;                    $stream->write($request);&#xA;            } catch (Exception $e) {&#xA;                printf(&#x27;Errorc: &#x27; . $e->getMessage());&#xA;            }&#xA;        }&#xA;    }&#xA;    &#xA;    &#xA;    $insr = json_encode($stream);&#xA;    mysqli_query($conn, "INSERT INTO transcriptions (transcript) VALUES (&#x27;$insr&#x27;)");&#xA;    &#xA;    foreach ($stream->read() as $response) {&#xA;        mysqli_query($conn, "INSERT INTO transcriptions (transcript) VALUES (&#x27;loop1&#x27;)");&#xA;        foreach ($response->getResults() as $result) {&#xA;            mysqli_query($conn, "INSERT INTO transcriptions (transcript) VALUES (&#x27;loop2&#x27;)");&#xA;            foreach ($result->getAlternatives() as $alternative) {&#xA;                $trans = $alternative->getTranscript();&#xA;                mysqli_query($conn, "INSERT INTO transcriptions (transcript) VALUES (&#x27;$trans&#x27;)");&#xA;            }&#xA;        }&#xA;    }&#xA;    &#xA;    pclose($handle);&#xA;    $stream->close();&#xA;    $client->close();```&#xA;

    &#xA;