Recherche avancée

Médias (0)

Mot : - Tags -/tags

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (74)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

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

  • Mise à jour de la version 0.1 vers 0.2

    24 juin 2013, par

    Explications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
    Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)

Sur d’autres sites (11350)

  • ffmpeg libx264 non-existing PPS 0 referenced

    18 août 2014, par Damen Salvatore

    hello i have installed ffmpeg and libx264 based in the offical tutorial on ffmpeg installation here :
    https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

    i want to get an stream from mumudvb and pass it to ffmpeg for h264 encoding
    when i use

    ffserver -f /path/to/config -d

    i get this output :

    [h264 @ 0x1ab32c0] non-existing PPS 0 referenced
    [mpegts @ 0x2c7cca0] Could not find codec parameters for stream 0 (Video: h264 ([27][0][0][0] / 0x001B)): unspecified size
    Consider increasing the value for the 'analyzeduration' and 'probesize' options
    [h264 @ 0x1ab32c0] non-existing SPS 0 referenced in buffering period
    [h264 @ 0x1ab32c0] non-existing PPS 0 referenced
    [h264 @ 0x1ab32c0] decode_slice_header error
    [h264 @ 0x1ab32c0] no frame!
    [mpegts @ 0x1aadca0]
    decoding for stream 0 failed
    [mpegts @ 0x1aadca0] decoding for stream 1 failed
    Input #0, mpegts, from 'http://127.0.0.1:9097':
     Duration: N/A, start: 45508.714822, bitrate: N/A
     Program 107
    [mpegts @ 0x1aadca0]     Stream #0:0[0x42e]: Video: h264 ([27][0][0][0] / 0x001B)[mpegts @ 0x30b0ca0] decoding for stream 1 failed
    , 50 fpsitech@itech-All-Series:~$ , 50 tbr, 90k tbn, 180k tbc
    [mpegts @ 0x1cd5ca0]     Stream #0:1Could not find codec parameters for stream 1 (Audio: aac_latm ([17][0][0][0] / 0x0011), 0 channels, fltp): unspecified sample rate
    Consider increasing the value for the 'analyzeduration' and 'probesize' options
    [0x42f](per): Audio: aac_latm ([17][0][0][0] / 0x0011), 48000 Hz, stereo, fltp
    http://127.0.0.1:8888/tv7.ffm: Input/output error
    Input #0, mpegts, from 'http://127.0.0.1:9093':
     Duration: N/A, start: 25560.704144, bitrate: N/A
     Program 103
       Stream #0:0[0x406]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, bt470bg), 720x576 [SAR 16:11 DAR 20:11], 25 fps, 50 tbr, 90k tbn, 50 tbc
       Stream #0:1[0x407](per): Audio: aac_latm ([17][0][0][0] / 0x0011), 0 channels, fltp
       Stream #0:2[0x40b](ara): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006)
    Received signal 2: terminating.
    [mpegts @ 0x30b0ca0] Could not find codec parameters for stream 0 (Video: h264 ([27][0][0][0] / 0x001B)): unspecified size
    Consider increasing the value for the 'analyzeduration' and 'probesize' options
    http://127.0.0.1:8888/tv3.ffm: Input/output error
    [mpegts @ 0x1aadca0] Could not find codec parameters for stream 1 (Audio: aac_latm ([17][0][0][0] / 0x0011), 0 channels, fltp): unspecified sample rate
    Consider increasing the value for the 'analyzeduration' and 'probesize' options
    Input #0, mpegts, from 'http://127.0.0.1:9094':
    Received signal 2: terminating.
    Could not find codec parameters for stream 1 (Audio: aac_latm ([17][0][0][0] / 0x0011), 0 channels, fltp): unspecified sample rate
    Consider increasing the value for the 'analyzeduration' and 'probesize' options
     Duration: N/A, start: 43409.427056, bitrate: N/A
     Program 104
       Stream #0:0[0x410]Input #0, mpegts, from 'http://127.0.0.1:9098':
    : Video: h264 ([27][0][0][0] / 0x001B), 50 fps, 50 tbr, 90k tbn, 180k tbc
       Stream #0:1[0x411](per): Audio: aac_latm ([17][0][0][0] / 0x0011), 0 channels, fltp
       Stream #0:2[0x415](ara): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006)
    http://127.0.0.1:8888/tv4.ffm: Input/output error
    Received signal 2: terminating.
     Duration: N/A, start: 26351.744300, bitrate: N/A
     Program 108
       Stream #0:0[0x438]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, bt470bg), 720x576 [SAR 12:11 DAR 15:11], 25 fps, 50 tbr, 90k tbn, 50 tbc
       Stream #0:1[0x439](per): Audio: aac_latm ([17][0][0][0] / 0x0011), 0 channels, fltp
       Stream #0:2[0x43d](ara): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006)
    http://127.0.0.1:8888/tv8.ffm: Input/output error
    Received signal 2: terminating.

    ffmpeg will gime me the output. but the prooblem is that the outputs bitrate is around 2000k to 3000k it should be 512k

    this is my ffserver config :

    Port 8888
    BindAddress 0.0.0.0
    MaxHTTPConnections 20000
    MaxClients 10000
    MaxBandwidth 1000000
    CustomLog -
    <feed>
    File /tmp/ch1.ffm
    FileMaxSize 100M
    ACL allow 127.0.0.1
    launch ffmpeg -i http://127.0.0.1:9094
    </feed>

    <stream ch1="ch1">
    Feed ch1.ffm
    Format mpegts
    AudioBitRate 64
    AudioChannels 2
    AudioSampleRate 44100
    #AVOptionAudio flags +global_header
    VideoBitRate 512
    VideoBufferSize 400
    VideoFrameRate 25
    VideoBitRateTolerance 100
    VideoSize 720x576
    VideoGopSize 12
    AudioCodec aac
    VideoCodec libx264
    AVOptionVideo bsf h264_mp4toannexb
    #AVOptionVideo threads 0
    AVOptionVideo threads_type frame
    AVOptionVideo coder 0
    AVOptionVideo bf 0
    AVOptionVideo flags +loop
    AVOptionVideo partitions +parti8x8+parti4x4+partp8x8+partb8x8
    AVOptionVideo me_method hex
    AVOptionVideo subq 7
    AVOptionVideo me_range 16
    AVOptionVideo g 250
    AVOptionVideo keyint_min 10
    AVOptionVideo sc_threshold 40
    AVOptionVideo i_qfactor 0.71
    AVOptionVideo b_strategy 1
    AVOptionVideo qcomp 0.6
    AVOptionVideo qmin 10
    AVOptionVideo qmax 51
    AVOptionVideo qdiff 4
    AVOptionVideo refs 3
    AVOptionVideo directpred 1
    AVOptionVideo trellis 1
    AVOptionVideo wpredp 0
    #AVOptionVideo flags +global_header

    StartSendOnKey
    </stream>
  • ffmpeg command to add moving text watermark to video [closed]

    13 octobre 2023, par Imran Khan
    &#xD;&#xA;
    &#xD;&#xA;
            // Constants for watermark movement, direction change intervals, fade intervals, and overlap duration&#xA;        const MOVE_SPEED = 3;&#xA;        const DIRECTION_CHANGE_MIN = 3000;&#xA;        const DIRECTION_CHANGE_MAX = 6000;&#xA;        const FADE_INTERVAL_MIN = 10000;&#xA;        const FADE_INTERVAL_MAX = 20000;&#xA;        const OVERLAP_DURATION = 2000;&#xA;&#xA;        // Get references to the video container and watermarks&#xA;        const container = document.querySelector(&#x27;.video-container&#x27;);&#xA;        const watermark1 = document.getElementById(&#x27;watermark1&#x27;);&#xA;        const watermark2 = document.getElementById(&#x27;watermark2&#x27;);&#xA;&#xA;        // Helper function to get a random integer between min and max (inclusive)&#xA;        function getRandomInt(min, max) {&#xA;            return Math.floor(Math.random() * (max - min &#x2B; 1)) &#x2B; min;&#xA;        }&#xA;&#xA;        // Helper function to get a random direction (either 1 or -1)&#xA;        function getRandomDirection() {&#xA;            return Math.random() > 0.5 ? 1 : -1;&#xA;        }&#xA;&#xA;        // Set the initial position of the watermark inside the video container&#xA;        function setInitialPosition(watermark) {&#xA;            const x = getRandomInt(0, container.offsetWidth - watermark.offsetWidth);&#xA;            const y = getRandomInt(0, container.offsetHeight - watermark.offsetHeight);&#xA;            watermark.style.left = `${x}px`;&#xA;            watermark.style.top = `${y}px`;&#xA;            watermark.style.opacity = 1;&#xA;        }&#xA;&#xA;        // Function to handle continuous movement of the watermark&#xA;        function continuousMove(watermark) {&#xA;            let dx = getRandomDirection() * MOVE_SPEED;&#xA;            let dy = getRandomDirection() * MOVE_SPEED;&#xA;&#xA;            // Inner function to handle the actual movement logic&#xA;            function move() {&#xA;                let x = parseInt(watermark.style.left || 0) &#x2B; dx;&#xA;                let y = parseInt(watermark.style.top || 0) &#x2B; dy;&#xA;&#xA;                // Check boundaries and reverse direction if necessary&#xA;                if (x &lt; 0 || x > container.offsetWidth - watermark.offsetWidth) {&#xA;                    dx = -dx;&#xA;                }&#xA;                if (y &lt; 0 || y > container.offsetHeight - watermark.offsetHeight) {&#xA;                    dy = -dy;&#xA;                }&#xA;&#xA;                // Apply the new position&#xA;                watermark.style.left = `${x}px`;&#xA;                watermark.style.top = `${y}px`;&#xA;&#xA;                // Continue moving&#xA;                setTimeout(move, 100);&#xA;            }&#xA;&#xA;            move();&#xA;&#xA;            // Change direction at random intervals&#xA;            setInterval(() => {&#xA;                const randomChoice = Math.random();&#xA;                if (randomChoice &lt; 0.33) {&#xA;                    dx = getRandomDirection() * MOVE_SPEED;&#xA;                    dy = 0;&#xA;                } else if (randomChoice &lt; 0.66) {&#xA;                    dy = getRandomDirection() * MOVE_SPEED;&#xA;                    dx = 0;&#xA;                } else {&#xA;                    dx = getRandomDirection() * MOVE_SPEED;&#xA;                    dy = getRandomDirection() * MOVE_SPEED;&#xA;                }&#xA;            }, getRandomInt(DIRECTION_CHANGE_MIN, DIRECTION_CHANGE_MAX));&#xA;        }&#xA;&#xA;        // Handle the fading out of the old watermark and fading in of the new watermark&#xA;        function fadeOutAndIn(oldWatermark, newWatermark) {&#xA;            setTimeout(() => {&#xA;                setInitialPosition(newWatermark);&#xA;                newWatermark.style.opacity = 1;&#xA;            }, 0);&#xA;&#xA;            setTimeout(() => {&#xA;                oldWatermark.style.opacity = 0;&#xA;            }, OVERLAP_DURATION);&#xA;&#xA;            // Continue the cycle&#xA;            setTimeout(() => fadeOutAndIn(newWatermark, oldWatermark), getRandomInt(FADE_INTERVAL_MIN, FADE_INTERVAL_MAX));&#xA;        }&#xA;&#xA;        // Initialize the watermarks&#xA;        setInitialPosition(watermark1);&#xA;        continuousMove(watermark1);&#xA;        setTimeout(() => fadeOutAndIn(watermark1, watermark2), getRandomInt(FADE_INTERVAL_MIN, FADE_INTERVAL_MAX));&#xA;        continuousMove(watermark2);&#xA;    

    &#xD;&#xA;

    body, html {&#xA;            height: 100%;&#xA;            margin: 0;&#xA;            font-family: Arial, sans-serif;&#xA;            display: flex;&#xA;            justify-content: center;&#xA;            align-items: center;&#xA;            background-color: #eee;&#xA;        }&#xA;&#xA;        .video-container {&#xA;            width: 50vw;&#xA;            height: 50vh;&#xA;            background-color: black;&#xA;            position: relative;&#xA;            overflow: hidden;&#xA;        }&#xA;&#xA;        .watermark {&#xA;            font-size: 22px;&#xA;            position: absolute;&#xA;            color: white;&#xA;            opacity: 0;&#xA;            transition: opacity 2s;&#xA;        }

    &#xD;&#xA;

    &#xA;&#xA;&#xA;    &#xA;    &#xA;    &#xA;&#xA;&#xA;    <div class="video-container">&#xA;        <span class="watermark">watermark</span>&#xA;        <span class="watermark">watermark</span>&#xA;    </div>&#xA;    &#xA;&#xA;

    &#xD;&#xA;

    &#xD;&#xA;

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

    I am trying to achieve an animation effect using ffmpeg. I am adding text watermark to an input video and animate the text diagonally, horizontally or vertically changed randomly. Here is what I have achieved so far.

    &#xA;

    ffmpeg -i video.mp4 -c:v libx264 -preset veryfast -crf 25 -tune zerolatency -vendor ap10 -pix_fmt yuv420p -filter:v "drawtext=fontfile=./fonts/Roboto/Roboto-Light.ttf:text=&#x27;Watermark&#x27;:fontcolor=white:alpha=0.5:fontsize=60:y=h/10*mod(t\,10):x=w/10*mod(t\,10):enable=1" -c:a copy watermark.mp4

    &#xA;

    Here is what I want it to work.

    &#xA;

    Initial Position :&#xA;The watermark randomly placed in the video the first time they appear.

    &#xA;

    Continuous Movement :&#xA;The watermark continuously moves within the video.&#xA;The direction and speed of the watermark's movement are random. It can move diagonally, purely horizontally, or purely vertically.&#xA;When the watermark reaches the boundaries of the video, it bounces back, changing its direction.

    &#xA;

    Direction Change :&#xA;During its continuous movement, the watermark will suddenly change its direction at random intervals between 3 to 6 seconds.&#xA;When changing direction, the watermark can randomly determined move diagonally, purely horizontally, or purely vertically.

    &#xA;

    Fade In and Out :&#xA;Every 10 to 20 seconds (randomly determined), the current watermark begins to fade out.&#xA;As the old watermark starts to fade out, a new watermark fades in at a random position, ensuring that there's always a visible watermark on the screen.&#xA;These two watermarks (the fading old one and the emerging new one) overlap on the screen for a duration of 2 seconds, after which the old watermark completely disappears.&#xA;These patterns and characteristics together provide a dynamic, constantly moving, and changing watermark for the video

    &#xA;

    To achieve the result I think we can use the drawtext multiple times. I have attached the HTML and JavaScript variant just for the reference to understand the result but I am trying to do this using ffmpeg.

    &#xA;

  • Is there a way to draw a circle on top of a video using FFMPEG [closed]

    18 octobre 2023, par Sree

    Just like Drawbox and Boxblur is used to draw a box of certain width and height over position X and Y on top of the video as :

    &#xA;

    drawbox=enable=&#x27;between(t,0,1)&#x27;:x=0:y=0:w=22:h=18:color=black:t=10000&#xA;

    &#xA;

    How to draw a circle over a video at position X,Y and radius r using FFMPEG ?

    &#xA;