Recherche avancée

Médias (91)

Autres articles (50)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP 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 (9580)

  • lavf : Add an MPEG-DASH ISOFF segmenting muxer

    6 octobre 2014, par Martin Storsjö
    lavf : Add an MPEG-DASH ISOFF segmenting muxer
    

    This is mostly to serve as a reference example on how to segment
    the output from the mp4 muxer, capable of writing the segment
    list in four different ways :
    - SegmentTemplate with SegmentTimeline
    - SegmentTemplate with implicit segments
    - SegmentList with individual files
    - SegmentList with one single file per track, and byte ranges

    The muxer is able to serve live content (with optional windowing)
    or create a static segmented MPD.

    In advanced cases, users will probably want to do the segmenting
    in their own application code.

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

    • [DH] Changelog
    • [DH] configure
    • [DH] libavformat/Makefile
    • [DH] libavformat/allformats.c
    • [DH] libavformat/dashenc.c
    • [DH] libavformat/version.h
  • 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;