Recherche avancée

Médias (2)

Mot : - Tags -/media

Autres articles (83)

  • La file d’attente de SPIPmotion

    28 novembre 2010, par

    Une 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, par

    Les 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 2011

    Documentation 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.7

    After :
    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.2

    Signed-off-by : Martin Storsjö <martin@martin.st>

    • [DBH] libavcodec/aarch64/vp9itxfm_neon.S
  • FFmpeg segmentation and transcoding missing frames

    15 décembre 2022, par Davidec0018

    I 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.

    &#xA;

    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.

    &#xA;

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

    &#xA;

    I tried to do this with ffmpeg :

    &#xA;

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

    &#xA;

    But also with the mkvtoolnix gui.

    &#xA;

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

    &#xA;

    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) :

    &#xA;

    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&#xA;

    &#xA;

    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.

    &#xA;

    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.

    &#xA;

    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 :

    &#xA;

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

    &#xA;

    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 ?

    &#xA;

  • 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 jzvi12

    I have an FFMPEG command which was able to send an RTMP live feed to 2 different icecast radio stations :

    &#xA;&#xA;

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

    &#xA;&#xA;

    /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"&#xA;

    &#xA;&#xA;

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

    &#xA;&#xA;

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

    &#xA;&#xA;

    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

    &#xA;&#xA;

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

    &#xA;&#xA;

    /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&#xA;

    &#xA;&#xA;

    QUESTION :

    &#xA;&#xA;

    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.

    &#xA;&#xA;

    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.

    &#xA;&#xA;

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

    &#xA;