Recherche avancée

Médias (1)

Mot : - Tags -/Christian Nold

Autres articles (80)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

  • Pas question de marché, de cloud etc...

    10 avril 2011

    Le vocabulaire utilisé sur ce site essaie d’éviter toute référence à la mode qui fleurit allègrement
    sur le web 2.0 et dans les entreprises qui en vivent.
    Vous êtes donc invité à bannir l’utilisation des termes "Brand", "Cloud", "Marché" etc...
    Notre motivation est avant tout de créer un outil simple, accessible à pour tout le monde, favorisant
    le partage de créations sur Internet et permettant aux auteurs de garder une autonomie optimale.
    Aucun "contrat Gold ou Premium" n’est donc prévu, aucun (...)

Sur d’autres sites (10110)

  • Revision 040eeed9d0 : Turning model based reverse update on for coefs Turns model based reverse updat

    26 avril 2013, par Deb Mukherjee

    Changed Paths :
     Modify /vp9/common/vp9_entropy.c


     Modify /vp9/common/vp9_entropy.h



    Turning model based reverse update on for coefs

    Turns model based reverse updates on for coefficients in an
    effort to reduce the memory requirement for counters.

    With this patch the counters needed will be reduced by about
    75% since only 3 counts are needed instead of 12.

    The impact in performance is :
    derf300 : -0.252%
    stdhd250 : -0.046%

    However retraining should alleviate some of the drop in
    performance.

    Change-Id : I6f2b3e13f6d5520aa3400b0b228fb5e8b4a43caa

  • avcodec/bsf/h264_mp4toannexb : Fix mixed bitstream format

    24 avril, par Zhao Zhili
    avcodec/bsf/h264_mp4toannexb : Fix mixed bitstream format
    

    This bsf converts AV_PKT_DATA_NEW_EXTRADATA side data in avcc format
    to in-band annexb format. However, the side data wasn't been removed
    and copied from input packet to output packet. So the output packet
    has mixed bitstream format. We don't support mixed bitstream format.
    For example, h264_metadata report error in the following case :

    ffmpeg -i foo.flv \
    -bsf:v "h264_mp4toannexb,h264_metadata" \
    -c copy -f null

    This patch removed NEW_EXTRADATA side data after process.

    This patch also add a check so only NEW_EXTRADATA in avcc format is
    processed. NEW_EXTRADATA in annexb format is copied to output as is.

    Reported-by : jiangjie <jiangjie618@gmail.com>
    Signed-off-by : Zhao Zhili <zhilizhao@tencent.com>

    • [DH] libavcodec/bsf/h264_mp4toannexb.c
    • [DH] tests/fate/h264.mak
  • (Go) FFmpeg stdout produces a jumbled mess of plain text mixed with binary [closed]

    30 juillet 2024, par EricFrancis12

    I'm trying to pipe r.Body into ffmpeg as it's stdin, then pipe stdout as the http response.

    &#xA;

    On the client, I am sending the data via POST from an html form, then creating a blob for the response and prompting the browser to download it :

    &#xA;

    <code class="echappe-js">&lt;script&gt;&amp;#xA;        document.getElementById(&amp;#x27;uploadForm&amp;#x27;).addEventListener(&amp;#x27;submit&amp;#x27;, function (event) {&amp;#xA;            event.preventDefault();&amp;#xA;&amp;#xA;            const fileInput = document.getElementById(&amp;#x27;file&amp;#x27;);&amp;#xA;            const file = fileInput.files[0];&amp;#xA;&amp;#xA;            const formData = new FormData();&amp;#xA;            formData.append(&amp;#x27;file&amp;#x27;, file);&amp;#xA;&amp;#xA;            fetch(&amp;#x27;/http&amp;#x27;, {&amp;#xA;                method: &amp;#x27;POST&amp;#x27;,&amp;#xA;                body: file,&amp;#xA;                headers: {&amp;#xA;                    &amp;#x27;Content-Type&amp;#x27;: file.type,&amp;#xA;                }&amp;#xA;            })&amp;#xA;                .then(response =&gt; {&amp;#xA;                    const blob = response.blob();&amp;#xA;                    const url = window.URL.createObjectURL(blob);&amp;#xA;                    const a = document.createElement(&amp;#x27;a&amp;#x27;);&amp;#xA;                    a.style.display = &amp;#x27;none&amp;#x27;;&amp;#xA;                    a.href = url;&amp;#xA;                    a.download = &amp;#x27;output.flv&amp;#x27;;&amp;#xA;                    document.body.appendChild(a);&amp;#xA;                    a.click();&amp;#xA;                    window.URL.revokeObjectURL(url);&amp;#xA;                })&amp;#xA;                .catch(error =&gt; console.error(error));&amp;#xA;        });&amp;#xA;    &lt;/script&gt;&#xA;

    &#xA;

    On the server, I am creating an *exec.Cmd, assigning r.Body to it's stdin, and assigning w to both it's stdout and stderr :

    &#xA;

    func handleHTTP(w http.ResponseWriter, r *http.Request) {&#xA;    command := "ffmpeg -f mp4 -i - -vf scale=100:50 -c:a copy -c:v libx264 -f flv pipe:1"&#xA;    ffmpegCmd := PrepareCommand(command, r.Body, w, w)&#xA;&#xA;    // Run FFmpeg command&#xA;    if err := ffmpegCmd.Run(); err != nil {&#xA;        http.Error(w, fmt.Sprintf("FFmpeg command failed: %v", err), http.StatusInternalServerError)&#xA;    }&#xA;}&#xA;&#xA;func PrepareCommand(command string, stdin io.ReadCloser, stdout io.Writer, stderr io.Writer) *exec.Cmd {&#xA;    command = strings.TrimSpace(command)&#xA;    name, args := FormatCommand(command)&#xA;    ffmpegCmd := exec.Command(name, args...)&#xA;    ffmpegCmd.Stdin = stdin&#xA;    ffmpegCmd.Stdout = stdout&#xA;    ffmpegCmd.Stderr = stderr&#xA;    return ffmpegCmd&#xA;}&#xA;&#xA;func FormatCommand(str string) (name string, args []string) {&#xA;    parts := strings.Split(str, " ")&#xA;    return parts[0], parts[1:]&#xA;}&#xA;

    &#xA;

    When viewed in a text editor, the output file consists of the plain text emitted from stdout when the command starts and the binary data mixed together :

    &#xA;

    Part 1/3&#xA;Part 2/3&#xA;Part 3/3

    &#xA;

    Does anyone know how to get rid of the plain text output before piping the data into stdin ? Thanks.

    &#xA;

    The output file should not contain plain text from the command start-up.

    &#xA;