
Recherche avancée
Médias (2)
-
SPIP - plugins - embed code - Exemple
2 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
Publier une image simplement
13 avril 2011, par ,
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (83)
-
La file d’attente de SPIPmotion
28 novembre 2010, parUne file d’attente stockée dans la base de donnée
Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...) -
Les formats acceptés
28 janvier 2010, parLes 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 (...) -
Contribute to documentation
13 avril 2011Documentation is vital to the development of improved technical capabilities.
MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
To contribute, register to the project users’ mailing (...)
Sur d’autres sites (4075)
-
aarch64 : vp9itxfm : Do separate functions for half/quarter idct16 and idct32
22 novembre 2016, par Martin Storsjöaarch64 : vp9itxfm : Do separate functions for half/quarter idct16 and idct32
This work is sponsored by, and copyright, Google.
This avoids loading and calculating coefficients that we know will
be zero, and avoids filling the temp buffer with zeros in places
where we know the second pass won’t read.This gives a pretty substantial speedup for the smaller subpartitions.
The code size increases from 14740 bytes to 24292 bytes.
The idct16/32_end macros are moved above the individual functions ; the
instructions themselves are unchanged, but since new functions are added
at the same place where the code is moved from, the diff looks rather
messy.Before :
vp9_inv_dct_dct_16x16_sub1_add_neon : 236.7
vp9_inv_dct_dct_16x16_sub2_add_neon : 1051.0
vp9_inv_dct_dct_16x16_sub4_add_neon : 1051.0
vp9_inv_dct_dct_16x16_sub8_add_neon : 1051.0
vp9_inv_dct_dct_16x16_sub12_add_neon : 1387.4
vp9_inv_dct_dct_16x16_sub16_add_neon : 1387.6
vp9_inv_dct_dct_32x32_sub1_add_neon : 554.1
vp9_inv_dct_dct_32x32_sub2_add_neon : 5198.5
vp9_inv_dct_dct_32x32_sub4_add_neon : 5198.6
vp9_inv_dct_dct_32x32_sub8_add_neon : 5196.3
vp9_inv_dct_dct_32x32_sub12_add_neon : 6183.4
vp9_inv_dct_dct_32x32_sub16_add_neon : 6174.3
vp9_inv_dct_dct_32x32_sub20_add_neon : 7151.4
vp9_inv_dct_dct_32x32_sub24_add_neon : 7145.3
vp9_inv_dct_dct_32x32_sub28_add_neon : 8119.3
vp9_inv_dct_dct_32x32_sub32_add_neon : 8118.7After :
vp9_inv_dct_dct_16x16_sub1_add_neon : 236.7
vp9_inv_dct_dct_16x16_sub2_add_neon : 640.8
vp9_inv_dct_dct_16x16_sub4_add_neon : 639.0
vp9_inv_dct_dct_16x16_sub8_add_neon : 842.0
vp9_inv_dct_dct_16x16_sub12_add_neon : 1388.3
vp9_inv_dct_dct_16x16_sub16_add_neon : 1389.3
vp9_inv_dct_dct_32x32_sub1_add_neon : 554.1
vp9_inv_dct_dct_32x32_sub2_add_neon : 3685.5
vp9_inv_dct_dct_32x32_sub4_add_neon : 3685.1
vp9_inv_dct_dct_32x32_sub8_add_neon : 3684.4
vp9_inv_dct_dct_32x32_sub12_add_neon : 5312.2
vp9_inv_dct_dct_32x32_sub16_add_neon : 5315.4
vp9_inv_dct_dct_32x32_sub20_add_neon : 7154.9
vp9_inv_dct_dct_32x32_sub24_add_neon : 7154.5
vp9_inv_dct_dct_32x32_sub28_add_neon : 8126.6
vp9_inv_dct_dct_32x32_sub32_add_neon : 8127.2Signed-off-by : Martin Storsjö <martin@martin.st>
-
FFmpeg segmentation and transcoding missing frames
15 décembre 2022, par Davidec0018I code videos for hobbies and have a decent understanding of ffmpeg and mkvmerge. I prefer to encode video when my computer is on for other things as well, so I recently looked for a way that I could resume encoding after the computer was turned off.


I tried a virtual machine, saving the whole state and it seems to work very well, but the performance is very slow and with the same settings the encoding time is much longer than normal.


I then tried to divide the starting video into several segments, so as to resume from the appropriate segment after restarting the computer.


I tried to do this with ffmpeg :


ffmpeg -i input -map 0:v:0 -c copy -f segment -segment_time 300 -reset_timestamps 1 segment%03d.mkv



But also with the mkvtoolnix gui.


Both operations provide an excellent result.Trying to merge the segments into one video, with ffconcat or mkvtoolnix the result is perfect.


The problem arises when segments are encoded. I use a simple script based on slow preset for every segment in loop (I use both windows and linux) :


ffmpeg -i input.mkv -threads 0 -map 0 -c:a copy -c:s copy -preset slow -pix_fmt yuv420p10le -c:v libx265 -x265-params crf=18:bframes=8:aq-mode=2:aq-strength=1.0 output.mkv



Putting them together in the same way, the video also looks quite good, and with the naked eye you don't notice the passage of the various segments, but analyzing them with ffmpeg I notice that the individual segments have slightly shorter durations and a different number of frames, even 2 or 3 less. When putting together very long videos, you notice even 2 seconds of difference with the original, which also causes the audio and subtitles to go into desynch.


I know the problem has to do with keyframes, timestamps and stuff like that. But I don't understand why. FFmpeg, as well as mkvmerge should split the video exactly where the keyframes are, about 300 seconds apart, so as not to mess up the video structure and allow for good encoding and reassembling.


The problem is just encoding with ffmpeg that removes some frames from the original segments. Sometimes I noticed during the encoding of some segments the following error code, or maybe warning, because the encoding worked anyway :


[hevc @ 0x55758bf92dc0] First slice in a frame missing.
 Last message repeated 6 times
[hevc @ 0x55758c2000c0] First slice in a frame missing.



I've read every discussion about it on the net, I've tried to segment both with mp4 and mkv format, with and without audio, but the problem remains. Where am I doing wrong ?


-
How/Where to place the FFMPEG `-legacy_icecast 1` option to only affect one of two Icecast outputs ? (using tee muxer option)
4 juin 2020, par jzvi12I have an FFMPEG command which was able to send an RTMP live feed to 2 different icecast radio stations :



command 1 (in prod ; 1 of 2 failing) :



/home/ubuntu/encoder/bin/ffmpeg -i rtmp://127.0.0.1:1935/app/live -vn -c:a mp3 -ac 2 -b:a 64k -ar 44100 -f tee -map 0 "[f=mp3:onfail=ignore]icecast://source:password@liquidsoap:8000/live|[f=mp3:onfail=ignore]icecast://source:password@fluoz.zeno.fm:80/live"




I would get the following FFMPEG error when running above command 1 :



[tee @ 0x562fffd24bc0] Slave '[f=mp3:onfail=ignore]icecast://source:password@fluoz.zeno.fm:80/live': error opening: End of file
[tee @ 0x562fffd24bc0] Slave muxer #1 failed: End of file, continuing with 1/2 slaves.




It was working fine until these days when one of them (fluoz.zeno.fm:80/live) stopped working and I think Zeno upgraded their Icecast servers from v1 (legacy) to v2. Why ? because when I was doing individual testing to the Zeno icecast server, I realized that it worked fine when I added the
-legacy_icecast 1
option


command 2 (testing to Zeno only w/
-legacy_icecast 1
option) :


/home/ubuntu/encoder/bin/ffmpeg -i rtmp://127.0.0.1:1935/app/live -vn -c:a mp3 -ac 2 -b:a 64k -ar 44100 -legacy_icecast 1 -f mp3 icecast://source:password@fluoz.zeno.fm:80/live




QUESTION :



How can I use the command 1 above to still send to both icecast servers but having the
-legacy_icecast 1
option to only affect the zeno icecast server and not the liquidsoap icecast server ? I want to avoid running 2 separate instances of ffmpeg at all cost in order to save system resources and bandwidth.


The reason I ask this question is because I tried adding the
-legacy_icecast 1
option to the command 1 (that one that sends to both) by placing it right before the...-f tee...
option, but it still didn't work to send to Zeno icecast server which failed (the liquidsoap icecast server kept running fine). It seems to only work fine when I use command 2 (above) when not using the tee muxer option.


Is there a tricky way to place that
-legacy_icecast 1
option within the tee muxer option ??