
Recherche avancée
Autres articles (111)
-
Submit bugs and patches
13 avril 2011Unfortunately a software is never perfect.
If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
You may also (...) -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
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 (14349)
-
movenc : use similar logic to DASH when writing bit rate to ISML
28 septembre 2016, par Jan Ekströmmovenc : use similar logic to DASH when writing bit rate to ISML
This way, in case of bit rate not being set, max_bitrate will be
used instead. This enables, for example, re-using max_bitrate
information from the input or doing transcoding with a rate
control mode that is not bit rate based.Signed-off-by : Jan Ekström <jeebjp@gmail.com>
Signed-off-by : Michael Niedermayer <michael@niedermayer.cc> -
Add watermark-overlay with -filter_complex to multiple outputs (dash)
13 juillet 2020, par WernerI'm creating a set of files for DASH (without audio) with :


ffmpeg -i "input.mov"
 -y
 -keyint_min 100 -g 100
 -sc_threshold 0
 -c:v libx264
 -pix_fmt yuv420p
 -map v:0 -s:0 320x180 -b:v:0 681.125k -maxrate:0 681.125k -bufsize:0 340.5625k
 -map v:0 -s:1 640x360 -b:v:1 2724.5k -maxrate:1 2724.5k -bufsize:1 1362.25k
 -map v:0 -s:2 1280x720 -b:v:2 5449k -maxrate:2 5449k -bufsize:2 2724.5k
 -map v:0 -s:3 1920x1080 -b:v:3 10898k -maxrate:3 10898k -bufsize:3 5449k
 -init_seg_name "myname_$RepresentationID$.$ext$"
 -media_seg_name "myname_$RepresentationID$-$Number%05d$.$ext$"
 -use_template 1 -use_timeline 1
 -seg_duration 4 -adaptation_sets "id=0,streams=v"
 -f dash "myname.mpd"



Now I want to add a watermark. How is it done ? I tried something like :


ffmpeg -i "input.mov"
 -y
 -i "watermark.png" // Added
 -filter_complex "overlay=24:960" // Added
 -keyint_min 100 -g 100
 -sc_threshold 0
 -c:v libx264
 -pix_fmt yuv420p
 -map v:0 -s:0 320x180 -b:v:0 681.125k -maxrate:0 681.125k -bufsize:0 340.5625k
 -map v:0 -s:1 640x360 -b:v:1 2724.5k -maxrate:1 2724.5k -bufsize:1 1362.25k
 -map v:0 -s:2 1280x720 -b:v:2 5449k -maxrate:2 5449k -bufsize:2 2724.5k
 -map v:0 -s:3 1920x1080 -b:v:3 10898k -maxrate:3 10898k -bufsize:3 5449k
 -init_seg_name "myname_$RepresentationID$.$ext$"
 -media_seg_name "myname_$RepresentationID$-$Number%05d$.$ext$"
 -use_template 1 -use_timeline 1
 -seg_duration 4 -adaptation_sets "id=0,streams=v"
 -f dash "myname.mpd"



But this results in only getting the 180p-Version of the video. How can I still get all versions of the video with the overlay ?


Added :
I tried as well :


ffmpeg -i "input.mov"
 -y
 -i "watermark.png"
 -filter_complex "[0:v][1:v]overlay=24:960[out0][out1][out2][out3]"
 -keyint_min 100 -g 100
 -sc_threshold 0
 -c:v libx264
 -pix_fmt yuv420p
 -map "[out0]" -s:0 320x180 -b:v:0 681.125k -maxrate:0 681.125k -bufsize:0 340.5625k
 -map "[out1]" -s:1 640x360 -b:v:1 2724.5k -maxrate:1 2724.5k -bufsize:1 1362.25k
 -map "[out2]" -s:2 1280x720 -b:v:2 5449k -maxrate:2 5449k -bufsize:2 2724.5k
 -map "[out3]" -s:3 1920x1080 -b:v:3 10898k -maxrate:3 10898k -bufsize:3 5449k
 -init_seg_name "myname_$RepresentationID$.$ext$"
 -media_seg_name "myname_$RepresentationID$-$Number%05d$.$ext$"
 -use_template 1 -use_timeline 1
 -seg_duration 4 -adaptation_sets "id=0,streams=v"
 -f dash "myname.mpd"



which results in the error :
No output pad can be associated to link label 'out1'.


-
Concat video/audio files downloaded from mpd dash manifest
15 mai 2022, par Bloworlf MathurinI have this manifest I fetched from an url :


<?xml version="1.0"?>
<mpd type="dynamic" xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" availabilitystarttime="2022-05-14T21:18:50-07:00" availabilityendtime="2022-05-14T22:35:36-07:00" timeshiftbufferdepth="PT20S" suggestedpresentationdelay="PT2S" minbuffertime="PT1S" publishtime="2022-05-14T21:18:50-07:00" minimumupdateperiod="PT1S" validationerrors="" currentservertimems="0" firstavtimems="1652588331877" lastvideoframets="0" loapstreamid="17944405669984029" publishframetime="939">
 <period start="PT0S">
 <adaptationset segmentalignment="true" maxwidth="432" maxheight="766" maxframerate="30">
 <representation mimetype="video/mp4" codecs="avc1.4d401e" width="432" height="766" framerate="30" startwithsap="1" bandwidth="38894" maxbandwidth="46772" playbackresolutionmos="432:82.84,720:65.43,216:70.39" qualityclass="sd" qualitylabel="432p">
 <segmenttemplate presentationtimeoffset="0" timescale="1000" initialization="some/url/some_id-init.m4v?ms=m_C&amp;ccb=2-4" media="some/url/some_id-$Time$.m4v?ms=m_C&amp;ccb=2-4">
 <segmenttimeline>
 <s t="4092613" d="2000"></s>
 <s t="4094613" d="2000"></s>
 <s t="4096613" d="2000"></s>
 <s t="4098613" d="2000"></s>
 <s t="4100613" d="2000"></s>
 <s t="4102613" d="2000"></s>
 <s t="4104613" d="2000"></s>
 <s t="4106613" d="2000"></s>
 <s t="4108613" d="2000"></s>
 <s t="4110613" d="2000"></s>
 </segmenttimeline>
 </segmenttemplate>
 </representation>
 </adaptationset>
 <adaptationset segmentalignment="true">
 <representation mimetype="audio/mp4" codecs="mp4a.40.2" audiosamplingrate="44100" startwithsap="1" bandwidth="48979" maxbandwidth="57732">
 <segmenttemplate presentationtimeoffset="0" timescale="1000" initialization="some/url/some_id-init.m4a?ms=m_C&amp;ccb=2-4" media="some/url/some_id-$Time$.m4a?ms=m_C&amp;ccb=2-4">
 <segmenttimeline>
 <s t="4092613" d="2000"></s>
 <s t="4094613" d="2000"></s>
 <s t="4096613" d="2000"></s>
 <s t="4098613" d="2000"></s>
 <s t="4100613" d="2000"></s>
 <s t="4102613" d="2000"></s>
 <s t="4104613" d="2000"></s>
 <s t="4106613" d="2000"></s>
 <s t="4108613" d="2000"></s>
 <s t="4110613" d="2000"></s>
 </segmenttimeline>
 </segmenttemplate>
 </representation>
 </adaptationset>
 </period>
</mpd>



I manage to download all the files (init file + 10 segment files) and put them in an array


File[] files = downloadSegments();


So I have :
[0] -> file-0.m4v (which is the init file)
[1] -> file-1.m4v (1st segment)
... and so on.


My question is how can I concat/append all these files into another file (final_segment.m4v) ?


I looked around a lot and am now using 'com.arthenica:ffmpeg-kit-video:4.5.1-1'
I've last tried :


FFmpegSession session = FFmpegKit.execute("-i file-0.m4v -i file-1.m4v ... -c copy final_segment.m4v");



Is there something I'm missing ?


Also I assume that I'll have to do the same for the audio segments. So I will have 2 files (final_segment.m4v and final_segment.m4a) that I will have to merge/mix together.


If you could help me with some piece of code, that would be great.