
Recherche avancée
Autres articles (99)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 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 (...) -
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ; -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...)
Sur d’autres sites (8939)
-
Merge commit ’cd8f772d0678a90957f4dfd5ce51af9d22e3f212’
4 novembre 2013, par Michael NiedermayerMerge commit ’cd8f772d0678a90957f4dfd5ce51af9d22e3f212’
* commit ’cd8f772d0678a90957f4dfd5ce51af9d22e3f212’ :
lavc : Add colorimetry values for BT.2020, other non-included onesConflicts :
doc/APIchanges
libavcodec/avcodec.h
libavcodec/version.hMerged-by : Michael Niedermayer <michaelni@gmx.at>
-
How to initialize the AV format context from NetworkStream rather than url ?
23 juillet 2020, par AhmadI'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 21 ?
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?OI??X?????[?P???42=h??M?K? ??{?@c;?t???Ke?>????
?2 ?? ?\qXEvg ???U A ?X ??q/(?? ?L ?_c ?g ?X ?c(To ?k ?Y ?-F ???R ?] ??U ?
 ;|=r ????\U ???2 ?g ??> ??½ ?7 ?A ?1W9 ???A ?? ?_L ??P ?) ?M ????q/ ?L ??) : ??< ??8d/* ? ?^ ??} ?B ?H ?_8C[y ???CY ?QM(J ???1<3% ?K ?F ;Q3Q ????
 ??jyJ" ???y]k ?m ?^} ???S ????h ?3 ????EP ???pw ???q ?jKp ???h ?????



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


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



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 ?


-
ffmpeg -ss then apply filter then concat producing timestamp errors
6 août 2020, par Bob RamseyUsing 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 !