Recherche avancée

Médias (91)

Autres articles (100)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • L’agrémenter visuellement

    10 avril 2011

    MediaSPIP est basé sur un système de thèmes et de squelettes. Les squelettes définissent le placement des informations dans la page, définissant un usage spécifique de la plateforme, et les thèmes l’habillage graphique général.
    Chacun peut proposer un nouveau thème graphique ou un squelette et le mettre à disposition de la communauté.

  • Possibilité de déploiement en ferme

    12 avril 2011, par

    MediaSPIP peut être installé comme une ferme, avec un seul "noyau" hébergé sur un serveur dédié et utilisé par une multitude de sites différents.
    Cela permet, par exemple : de pouvoir partager les frais de mise en œuvre entre plusieurs projets / individus ; de pouvoir déployer rapidement une multitude de sites uniques ; d’éviter d’avoir à mettre l’ensemble des créations dans un fourre-tout numérique comme c’est le cas pour les grandes plate-formes tout public disséminées sur le (...)

Sur d’autres sites (6078)

  • ffmpeg -ss then apply filter then concat producing timestamp errors

    6 août 2020, par Bob Ramsey

    Using ffmpeg, I have split a file into multiple parts using -ss. Then I apply a filter to some of the files, then concat the files back together. When I do that, I get : Non-monotonous DTS in output stream 0:0 ; previous : 341334, current : 340526 ; changing to 341335. This may result in incorrect timestamps in the output file. The output file plays, but there are noticeable skips where the files are joined.

    


    Here's how I am splitting the file :

    


    ffmpeg -i full_source.mp4 -ss 0 -to 14.264250 -c copy  01-plain.mp4
ffmpeg -i full_source.mp4 -ss 14.264250 -to 18.435083 -c copy  01-filtered.mp4

ffmpeg -i full_source.mp4 -ss 18.435083 -to 29.988292 -c copy  02-plain.mp4
ffmpeg -i full_source.mp4 -ss 29.988292 -to 31.865167 -c copy  02-filtered.mp4
...
ffmpeg -i full_source.mp4 -ss 0 -to 14.264250 -c copy  10-plain.mp4
ffmpeg -i full_source.mp4 -ss 234.484203 -to 300.000 -c copy  10-filtered.mp4


    


    Then I apply a different drawtext filter on each of the 10 filtered files and save them with a new name, like :

    


    ffmpeg -hide_banner -loglevel warning -y -i 01-filtered.mp4 -filter_complex "drawtext=fontfile=calibri.ttf:fontsize=24:fontcolor=white:x=300:y=500:text='hello world'" -crf 15 01-filtered-complete.mp4


    


    Finally, I join all of the plain and complete files back together like this :

    


    ffmpeg  -f concat -safe 0 -i mylist.txt -c:a copy -c:v copy  outfile.mp4


    


    And that's where the timing error comes in. I've tried adding -vsync drop in the concat command, but that didn't really work either. Same version of ffmpeg does the split, the filter, and the concat. I've tried different versions, everything from 20170519 to one from May 2020 with the same result. Always making sure that all three steps are done by the same version of ffmpeg.

    


    The only thing I can see is that ffprobe shows a duration of 14.27 for 01-plain.mp4 when it should be 14.264250. All of the other files show a similar rounding difference. The files are 23.98 fps. If I do all of my filters in really long command without splitting the file, I can use the more precise numbers with no problem. It just takes 10 times as long. This is all scripted, it happens a couple of hundred times a day and time is money, so I can't take 10 times as long to do each file.

    


    Any ideas ? Thanks in advance !

    


  • How to initialize the AV format context from NetworkStream rather than url ?

    23 juillet 2020, par Ahmad

    I'm using FFmpeg.AutoGen to encode catpured frames :
https://github.com/Ruslan-B/FFmpeg.AutoGen

    


    I send the encoded packets through NetworkStream to another program using TCP Client/Server application, using this code :

    


     //Send size and encoded packet
 _stream.Write(BitConverter.GetBytes(pPacket->size), 0, 4);
 using (var packetStream = new UnmanagedMemoryStream(pPacket->data, pPacket->size)) 
        packetStream.CopyTo(_stream);


    


    At the server-side, after UTF8 encoding, I receive content like this :

    


    


    gd ?r@ ?/ ?a 2&#xF;1 ?   h?C?,?  ????E???H??,? ?#??x264 - core 160 - H.264/MPEG-4 AVC codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html - options: cabac=1 ref=16 deblock=1:0:0 analyse=0x3:0x133 me=umh subme=10 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=24 chroma_me=1 trellis=2 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=11 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=8 b_pyramid=2 b_adapt=2 b_bias=0 direct=3 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=60 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 ?  e??   ??S?T????M?.O ??Ea???Q&#xF;?OI??X?????[?P???42=h??M?K? ??{?@c;?t?&#xB;??Ke?>???? ?2 ??&#xB; ?\qXEvg ???U A ?X ??q/&#xB;(?? ?L ?_c ?g ?X ?c(To ?k ?Y ?-F ???R ?] ??U ?&#xA; ;|=r ????\U ???2 ?g ??> ??½ ?7 ?A&#xE; ?1W9 ???A ??&#xF; ?_L ??P ?) ?&#xF;M ????q/ ?L ??) : ??< ??8d/* ?&#xF; ?^ ??} ?B ?H ?_8C[y ???CY ?QM(J ???1<3% ?K ?F ;Q3Q ????&#xA; ??jy&#xF;J" ???y]k ?m ?^} ???S ????h ?&#xF;3 ????EP ???pw ???q ?jKp ???h ?????

    &#xA;

    &#xA;

    My problem is, how to initialize the AV format context with this data, and decode the received packet to recover the original frame ?

    &#xA;

    _pFormatContext = ffmpeg.avformat_alloc_context();&#xA;ffmpeg.avformat_open_input(&amp;pFormatContext, url, null, null).ThrowExceptionIfError();&#xA;

    &#xA;

    As problem exactly is, ffmpeg.avformat_open_input takes URL as an input, not byte[]. If _pFormatContext can be initialized using the received data, things are resolved, but HOW ?

    &#xA;

  • avformat : add demuxer for Pro Pinball Series' Soundbanks

    4 mai 2020, par Zane van Iperen
    avformat : add demuxer for Pro Pinball Series' Soundbanks
    

    Adds support for the soundbank files used by the Pro Pinball series of games.

    https://lists.ffmpeg.org/pipermail/ffmpeg-devel/2020-May/262094.html

    Signed-off-by : Zane van Iperen <zane@zanevaniperen.com>
    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] Changelog
    • [DH] libavformat/Makefile
    • [DH] libavformat/allformats.c
    • [DH] libavformat/pp_bnk.c
    • [DH] libavformat/version.h