Recherche avancée

Médias (91)

Autres articles (55)

  • Déploiements possibles

    31 janvier 2010, par

    Deux types de déploiements sont envisageable dépendant de deux aspects : La méthode d’installation envisagée (en standalone ou en ferme) ; Le nombre d’encodages journaliers et la fréquentation envisagés ;
    L’encodage de vidéos est un processus lourd consommant énormément de ressources système (CPU et RAM), il est nécessaire de prendre tout cela en considération. Ce système n’est donc possible que sur un ou plusieurs serveurs dédiés.
    Version mono serveur
    La version mono serveur consiste à n’utiliser qu’une (...)

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP automatically converts uploaded files to internet-compatible formats.
    Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
    Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
    Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
    All uploaded files are stored online in their original format, so you can (...)

  • Dépôt de média et thèmes par FTP

    31 mai 2013, par

    L’outil MédiaSPIP traite aussi les média transférés par la voie FTP. Si vous préférez déposer par cette voie, récupérez les identifiants d’accès vers votre site MédiaSPIP et utilisez votre client FTP favori.
    Vous trouverez dès le départ les dossiers suivants dans votre espace FTP : config/ : dossier de configuration du site IMG/ : dossier des média déjà traités et en ligne sur le site local/ : répertoire cache du site web themes/ : les thèmes ou les feuilles de style personnalisées tmp/ : dossier de travail (...)

Sur d’autres sites (6691)

  • Video, and image files merge using FFMPEG in android

    26 janvier 2020, par Jatin Wadhavana

    I want to merge video and images in single video file like following with dynamic.

    For example :
    Video-1 + Image-1 (3 sec should be display) + Video-2 + Image-2 (3 sec should be display) ...

    So, video and image will be dynamic and different resolution.

    Thanks in Advance

  • Transcoding HEVC 4K HDR using ffmpeg and vaapi

    13 mai 2021, par P. Brand

    I am trying to transcode a 4K HEVC HDR video to a lower bitrate using ffmpeg and VAAPI hardware acceleration for my LG OLED television.

    



    I use the following file :
Video

    



    Using the following command :

    



    ffmpeg -init_hw_device vaapi=va:/dev/dri/renderD128 -hwaccel vaapi -hwaccel_output_format vaapi -hwaccel_device va -filter_hw_device va -i LG\ 4K\ HDR\ Demo\ -\ Daylight.mkv -map 0:0 -t 00:00:20 -c:v hevc_vaapi -sei hdr -qp:v 21 lg_vaapi.mkv


    



    But this file is not recognized as HDR on my TV.

    



    When using the libx265 encoder (which is off course much slower) it works fine :

    



    ffmpeg -i LG\ 4K\ HDR\ Demo\ -\ Daylight.mkv -t 00:00:20 -map 0:0 -c:v libx265 -preset medium -crf 18 -x265-params "colorprim=bt2020:colormatrix=bt2020nc:transfer=smpte2084:colormatrix=bt2020nc:hdr=1:info=1:repeat-headers=1:master-display=G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(11000000,40)" lg_libx265.mkv


    



    When comparing the output of mediainfo on both files I can see the following properties are not set for the video track :

    



      

    • Color range
    • 


    • Color primaries
    • 


    • Transfer characteristics
    • 


    



    mediainfo for vaapi encode :

    



    General
Unique ID                                : 168011494166392912924249315217763643529 
(0x7E65D636029A5354FE73998A5ED6B089)
Complete name                            : lg_vaapi.mkv
Format                                   : Matroska
Format version                           : Version 4
File size                                : 118 MiB
Duration                                 : 20 s 4 ms
Overall bit rate                         : 49.6 Mb/s
Writing application                      : Lavf58.20.100
Writing library                          : Lavf58.20.100
ErrorDetectionType                       : Per level 1

Video
ID                                       : 1
Format                                   : HEVC
Format/Info                              : High Efficiency Video Coding
Format profile                           : Main 10@L5@Main
HDR format                               : SMPTE ST 2086, HDR10 compatible
Codec ID                                 : V_MPEGH/ISO/HEVC
Duration                                 : 20 s 4 ms
Bit rate                                 : 48.6 Mb/s
Width                                    : 3 840 pixels
Height                                   : 2 160 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 59.940 (60000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 10 bits
Bits/(Pixel*Frame)                       : 0.098
Stream size                              : 116 MiB (98%)
Writing library                          : Lavc58.35.100 hevc_vaapi
Default                                  : Yes
Forced                                   : No
Mastering display color primaries        : Display P3
Mastering display luminance              : min: 0.0040 cd/m2, max: 1100 cd/m2


    



    mediainfo for the libx265 encode :

    



    General
Unique ID                                : 261605749278874425324960669956061374077 (0xC4CF6F42FE952004772A02D5819DA67D)
Complete name                            : lg_libx265.mkv
Format                                   : Matroska
Format version                           : Version 4
File size                                : 155 MiB
Duration                                 : 47 s 715 ms
Overall bit rate                         : 27.3 Mb/s
Writing application                      : Lavf58.20.100
Writing library                          : Lavf58.20.100
ErrorDetectionType                       : Per level 1

Video
ID                                       : 1
Format                                   : HEVC
Format/Info                              : High Efficiency Video Coding
Format profile                           : Main 10@L5.1@Main
HDR format                               : SMPTE ST 2086, HDR10 compatible
Codec ID                                 : V_MPEGH/ISO/HEVC
Duration                                 : 47 s 715 ms
Bit rate                                 : 26.8 Mb/s
Width                                    : 3 840 pixels
Height                                   : 2 160 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 59.940 (60000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 10 bits
Bits/(Pixel*Frame)                       : 0.054
Stream size                              : 152 MiB (98%)
Writing library                          : x265 2.8:[Linux][GCC 9.1.0][64 bit] 10bit
Encoding settings                        : cpuid=1111039 / frame-threads=3 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=3840x2160 / interlace=0 / total-frames=0 / level-idc=0 / high-tier=1 / uhd-bd=0 / ref=3 / no-allow-non-conformance / repeat-headers / annexb / no-aud / no-hrd / info / hash=0 / no-temporal-layers / open-gop / min-keyint=25 / keyint=250 / gop-lookahead=0 / bframes=4 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=20 / lookahead-slices=8 / scenecut=40 / radl=0 / no-intra-refresh / ctu=64 / min-cu-size=8 / no-rect / no-amp / max-tu-size=32 / tu-inter-depth=1 / tu-intra-depth=1 / limit-tu=0 / rdoq-level=0 / dynamic-rd=0.00 / no-ssim-rd / signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / strong-intra-smoothing / max-merge=2 / limit-refs=3 / no-limit-modes / me=1 / subme=2 / merange=57 / temporal-mvp / weightp / no-weightb / no-analyze-src-pics / deblock=0:0 / sao / no-sao-non-deblock / rd=3 / no-early-skip / rskip / no-fast-intra / no-tskip-fast / no-cu-lossless / no-b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=2.00 / psy-rdoq=0.00 / no-rd-refine / no-lossless / cbqpoffs=0 / crqpoffs=0 / rc=crf / crf=18.0 / qcomp=0.60 / qpstep=4 / stats-write=0 / stats-read=0 / ipratio=1.40 / pbratio=1.30 / aq-mode=1 / aq-strength=1.00 / cutree / zone-count=0 / no-strict-cbr / qg-size=32 / no-rc-grain / qpmax=69 / qpmin=0 / no-const-vbv / sar=1 / overscan=0 / videoformat=5 / range=0 / colorprim=9 / transfer=16 / colormatrix=9 / chromaloc=0 / display-window=0 / master-display=G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,50) / max-cll=0,0 / min-luma=0 / max-luma=1023 / log2-max-poc-lsb=8 / vui-timing-info / vui-hrd-info / slices=1 / no-opt-qp-pps / no-opt-ref-list-length-pps / no-multi-pass-opt-rps / scenecut-bias=0.05 / no-opt-cu-delta-qp / no-aq-motion / hdr / no-hdr-opt / no-dhdr10-opt / no-idr-recovery-sei / analysis-reuse-level=5 / scale-factor=0 / refine-intra=0 / refine-inter=0 / refine-mv=0 / no-limit-sao / ctu-info=0 / no-lowpass-dct / refine-mv-type=0 / copy-pic=1 / max-ausize-factor=1.0 / no-dynamic-refine / no-single-sei
Default                                  : Yes
Forced                                   : No
Color range                              : Limited
Color primaries                          : BT.2020
Transfer characteristics                 : PQ
Matrix coefficients                      : BT.2020 non-constant
Mastering display color primaries        : Display P3
Mastering display luminance              : min: 0.0040 cd/m2, max: 1100 cd/m2


    



    I suspect Color range, Color primaries and Transfer characteristics are necessary to make the file recognized as HDR by my TV. 
How can I add these properties to the VAAPI encoded file ?

    



    Edit :
This patch fixes the problem :
Patch

    


  • MPEG-DASH create initialization segment

    3 novembre 2014, par static

    I’m segmenting the video capture of the desktop using ffmpeg -segment and sending them over network in order to be served to clients and to be played using dash.js. The problem is that the player is searching for the initialization segment and i don’t seem to be able to figure out how to create it.
    I create the segments using this ffmpeg command :

    ffmpeg -rtbufsize 1500M -f dshow -r 15 -i video="UScreenCapture"
    -flags +global_header -vcodec libvpx -crf 10 -quality good -keyint_min 15 -g 15
    -cpu-used 3 -b:v 1000k -qmin 10 -qmax 42  -threads 2 -vf scale=-1:480 -bufsize 1
    500 -map 0 -f stream_segment -segment_time 2 -segment_format webm http://localho
    st:3000/stream/22/%03d

    The manifest that i create for the stream looks something like this :

    <mpd xmlns="urn:mpeg:dash:schema:mpd:2011" type="dynamic" availabilitystarttime="2014-06-19T07:47:40.079Z" minbuffertime="PT0S" profiles="urn:mpeg:dash:profile:isoff-live:2011" suggestedpresentationdelay="PT40S" maxsegmentduration="PT2.000S" minimumupdateperiod="PT1000M">
    <period bitstreamswitching="true" start="PT0S">
    <adaptationset mimetype="video/webm" segmentalignment="true" startwithsap="1" maxwidth="1280" maxheight="720" maxframerate="15">
    <contentcomponent contenttype="video"></contentcomponent>
    <segmenttemplate presentationtimeoffset="0" timescale="90000" media="$Number$/" duration="180000" startnumber="0"></segmenttemplate>
    <representation width="853" height="480" framerate="15" bandwidth="1000000" codecs="vp8"></representation>
    </adaptationset>
    </period>
    </mpd>

    The player debugging mode prints the following things :

    Getting the request for time: 0 dash.all.js:2073
    Index for time 0 is 0 dash.all.js:2073
    Waiting for more video buffer before starting playback. dash.all.js:2073
    BufferController video seek: 0 dash.all.js:2073
    Marking a special seek for initial video playback. dash.all.js:2073
    Start searching for initialization. dash.all.js:2073
    Perform init search: stream/22/ dash.all.js:2073
    Getting the request for time: 0 dash.all.js:2073
    Index for time 0 is 0 dash.all.js:2073
    Data changed - loading the video fragment for time: 0 dash.all.js:2073
    Getting the request for time: 0

    How can i create the initialization segment for the generated segments ? I can’t seem to be able to get it to work.