Advanced search

Medias (1)

Tag: - Tags -/book

Other articles (6)

  • Gestion générale des documents

    13 May 2011, by

    MédiaSPIP ne modifie jamais le document original mis en ligne.
    Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet; la récupération des métadonnées du document original pour illustrer textuellement le fichier;
    Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP sur (...)

  • Les formats acceptés

    28 January 2010, by

    Les commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
    ffmpeg -codecs ffmpeg -formats
    Les format videos acceptés en entrée
    Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
    Les formats vidéos de sortie possibles
    Dans un premier temps on (...)

  • XMP PHP

    13 May 2011, by

    Dixit Wikipedia, XMP signifie :
    Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
    Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
    XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...)

On other websites (2145)

  • starting ffmpeg on an explicit frame

    15 February 2018, by resatee

    I am trying to slica a file. I want the first part to end after 1550 frames and the second one to go from frame 1551 to 3000. The first part wasn’t a problem, I used that line:

    ffmpeg.exe -i foo.hevc -c copy -frames:v 1549 -s 1920x1080 foo_1sthalf.hevc

    For the second part I tried this :

    ffmpeg.exe -ss 30 -i foo.hevc -c copy -s 1920x1080 foo_2ndhalf.hevc

    and this:

    ffmpeg.exe -ss 00:00:30 -i foo.hevc -c copy -s 1920x1080 foo_2ndhalf.hevc

    and this:

    ffmpeg.exe -start_number 1550 -i foo.hevc -c copy -s 1920x1080 foo_2ndhalf.hevc

    but nothing worked.
    Error message is always :

    could not seek to position 30.000

    Do you know a way to start at a certain frame?
    I have ffmpeg version 3.2

  • Encode HEVC/H.265/HDR Video for YouTube from 10bit Pro-Res using FFmpeg

    30 January 2018, by Rodrigo Polo

    I want to have an HDR YouTube video published, my source file is either an Apple ProRes or DNxHR using a chroma subsamplig 4:4:4 or full RGB, both 10bit, so the original source file has all what is needed in order to be encoded into a 10bit 4:2:0 H.265/HEVC (HDR).

    I have followed some answers listed here, reviewed lots of different approaches, tried out many different commands without success, colors aren’t right when using only FFmpeg, to much red, when using only Adobe to encode into H.264 with the recommended settings on their support page, the results is darker, here are the commands I’ve using:

    I have tried this:

    ffmpeg \
    -i input.mov \
    -c:v libx265 \
    -tag:v hvc1 \
    -crf 21 \
    -preset fast \
    -pix_fmt yuv420p10le \
    -x265-params "colorprim=bt2020:transfer=smpte2084:colormatrix=bt2020nc:master-display=G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,10):max-cll=1000,400" \
    -c:a libfdk_aac \
    -b:a 128k \
    -ac 2 \
    -ar 44100 \
    -movflags +faststart \
    output.mp4

    And this:

    ffmpeg \
    -y \
    -hide_banner \
    -i input.mov \
    -pix_fmt yuv420p10le \
    -vf "scale=out_color_matrix=bt2020:out_h_chr_pos=0:out_v_chr_pos=0,format=yuv420p10" \
    -c:v libx265 \
    -tag:v hvc1 \
    -crf 21 \
    -preset fast \
    -x265-params 'crf=12:colorprim=bt2020:transfer=smpte-st-2084:colormatrix=bt2020nc:master-display="G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,1)":max-cll="1000,400"' \
    -c:a libfdk_aac \
    -b:a 128k \
    -ac 2 \
    -ar 44100 \
    -movflags +faststart \
    output.mp4

    I have also tried using MKVToolNix in order to insert the metadata into the encoded HEVC/H.265 file with the following command:

    /Applications/MKVToolNix-9.7.1.app/Contents/MacOS/mkvmerge \
    -o output.mkv \
    --colour-matrix 0:9 \
    --colour-range 0:1 \
    --colour-transfer-characteristics 0:16 \
    --colour-primaries 0:9 \
    --max-content-light 0:1000 \
    --max-frame-light 0:300 \
    --max-luminance 0:1000 \
    --min-luminance 0:0.01 \
    --chromaticity-coordinates 0:0.68,0.32,0.265,0.690,0.15,0.06 \
    --white-colour-coordinates 0:0.3127,0.3290 \
    input.mp4

    But the result is the same and YouTube don’t recognize the file as an HDR file, it does only with the first FFmpeg command and with the file encoded with Adobe Premiere, but the colors don’t look well, so, maybe I’m getting some concept wrong, thanks for your help.

  • Send rtmp from nginx into another VM

    12 January 2018, by Akim Benchiha

    I’ve set up my nginx server in a VM for the rtmp connection.
    I want to use exec_push for running a script in another VM.

    NGINX 1st VM

    rtmp {
     server {
        listen 1935;
        ping 30s;
        notify_method get;
           application ingest {
                live on;
                exec_kill_signal term;
                idle_streams off;
                #exec_push /usr/local/bin/ffmpeg_push.sh $name ;
                exec_options on;
                exec_push sshpass -p PASSWORD ssh root@192.168.1.139 sh /usr/local/bin/ffmpeg_push.sh $name;
        }
     }
    }

    I have also tried with node server that execute the script but every time, the script reset

    NGINX 1st VM

      rtmp {
         server {
            listen 1935;
            ping 30s;
            notify_method get;
               application ingest {
                    live on;
                    exec_kill_signal term;
                    idle_streams off;
                    #exec_push /usr/local/bin/ffmpeg_push.sh $name ;
                    exec_options on;
                    exec_push curl -X POST -H "Content-Type: application/json" -d "" 192.168.1.139:3000/$name;
            }
         }
       }

    NodeJS into second VM

    #!/usr/bin/env node

    const express = require('express');
    var app = express();
    app.use(function (req, res, next) {
           res.setHeader('Access-Control-Allow-Origin', '*');
           res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
           res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
           res.setHeader('Access-Control-Allow-Credentials', true);
           next();
    });
    app.post('/:name', function(req, res) {
           console.log('start performed');
           console.log(req.params.name);
           require('child_process').spawn('sh', ['ffmpeg_push.sh', req.params.name], {stdio: 'inherit'});
    });

    But when the script is running in the first VM, everything is fine. I have disabled the firewall.
    Thank you.