Recherche avancée

Médias (0)

Mot : - Tags -/médias

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (78)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce 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" ;

  • Submit bugs and patches

    13 avril 2011

    Unfortunately 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 (...)

Sur d’autres sites (6353)

  • aarch64 : h264pred : Optimize the inner loop of existing 8 bit functions

    12 avril 2021, par Martin Storsjö
    aarch64 : h264pred : Optimize the inner loop of existing 8 bit functions
    

    Move the loop counter decrement further from the branch instruction,
    this hides the latency of the decrement.

    In loops that first load, then store (the horizontal prediction cases),
    do the decrement after the load (where the next instruction would
    stall a bit anyway, waiting for the result of the load).

    In loops that store twice using the same destination register,
    also do the decrement between the two stores (as the second store
    would need to wait for the updated destination register from the
    first instruction).

    In loops that store twice to two different destination registers,
    do the decrement before both stores, to do it as soon before the
    branch as possible.

    This gives minor (1-2 cycle) speedups in most cases (modulo measurement
    noise), but the horizontal prediction functions get a rather notable
    speedup on the Cortex A53.

    Before : Cortex A53 A72 A73
    pred8x8_dc_8_neon : 60.7 46.2 39.2
    pred8x8_dc_128_8_neon : 30.7 18.0 14.0
    pred8x8_horizontal_8_neon : 42.2 29.2 18.5
    pred8x8_left_dc_8_neon : 52.7 36.2 32.2
    pred8x8_mad_cow_dc_0l0_8_neon : 48.2 27.7 25.7
    pred8x8_mad_cow_dc_0lt_8_neon : 52.5 33.2 34.7
    pred8x8_mad_cow_dc_l0t_8_neon : 52.5 31.7 33.2
    pred8x8_mad_cow_dc_l00_8_neon : 43.2 27.0 25.5
    pred8x8_plane_8_neon : 112.2 86.2 88.2
    pred8x8_top_dc_8_neon : 40.7 23.0 21.2
    pred8x8_vertical_8_neon : 27.2 15.5 14.0
    pred16x16_dc_8_neon : 91.0 73.2 70.5
    pred16x16_dc_128_8_neon : 43.0 34.7 30.7
    pred16x16_horizontal_8_neon : 86.0 49.7 44.7
    pred16x16_left_dc_8_neon : 87.0 67.2 67.5
    pred16x16_plane_8_neon : 236.0 175.7 173.0
    pred16x16_top_dc_8_neon : 53.2 39.0 41.7
    pred16x16_vertical_8_neon : 41.7 29.7 31.0

    After :
    pred8x8_dc_8_neon : 59.0 46.7 42.5
    pred8x8_dc_128_8_neon : 28.2 18.0 14.0
    pred8x8_horizontal_8_neon : 34.2 29.2 18.5
    pred8x8_left_dc_8_neon : 51.0 38.2 32.7
    pred8x8_mad_cow_dc_0l0_8_neon : 46.7 28.2 26.2
    pred8x8_mad_cow_dc_0lt_8_neon : 55.2 33.7 37.5
    pred8x8_mad_cow_dc_l0t_8_neon : 51.2 31.7 37.2
    pred8x8_mad_cow_dc_l00_8_neon : 41.7 27.5 26.0
    pred8x8_plane_8_neon : 111.5 86.5 89.5
    pred8x8_top_dc_8_neon : 39.0 23.2 21.0
    pred8x8_vertical_8_neon : 27.2 16.0 14.0
    pred16x16_dc_8_neon : 85.0 70.2 70.5
    pred16x16_dc_128_8_neon : 42.0 30.0 30.7
    pred16x16_horizontal_8_neon : 66.5 49.5 42.5
    pred16x16_left_dc_8_neon : 81.0 66.5 67.5
    pred16x16_plane_8_neon : 235.0 175.7 173.0
    pred16x16_top_dc_8_neon : 52.0 39.0 41.7
    pred16x16_vertical_8_neon : 40.2 33.2 31.0

    Despite this, a number of these functions still are slower than
    what e.g. GCC 7 generates - this shows the relative speedup of the
    neon codepaths over the compiler generated ones :

    Cortex A53 A72 A73
    pred8x8_dc_8_neon : 0.86 0.65 1.04
    pred8x8_dc_128_8_neon : 0.59 0.44 0.62
    pred8x8_horizontal_8_neon : 1.51 0.58 1.30
    pred8x8_left_dc_8_neon : 0.72 0.56 0.89
    pred8x8_mad_cow_dc_0l0_8_neon : 0.93 0.93 1.37
    pred8x8_mad_cow_dc_0lt_8_neon : 1.37 1.41 1.68
    pred8x8_mad_cow_dc_l0t_8_neon : 1.21 1.17 1.32
    pred8x8_mad_cow_dc_l00_8_neon : 1.24 1.19 1.60
    pred8x8_plane_8_neon : 3.36 3.58 3.76
    pred8x8_top_dc_8_neon : 0.97 0.99 1.43
    pred8x8_vertical_8_neon : 0.86 0.78 1.18
    pred16x16_dc_8_neon : 1.20 1.06 1.49
    pred16x16_dc_128_8_neon : 0.83 0.95 0.99
    pred16x16_horizontal_8_neon : 1.78 0.96 1.59
    pred16x16_left_dc_8_neon : 1.06 0.96 1.32
    pred16x16_plane_8_neon : 5.78 6.49 7.19
    pred16x16_top_dc_8_neon : 1.48 1.53 1.94
    pred16x16_vertical_8_neon : 1.39 1.34 1.98

    In particular, on Cortex A72, many of these functions are slower
    than the compiler generated code, while they're more beneficial on
    e.g. the Cortex A73.

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

    • [DH] libavcodec/aarch64/h264pred_neon.S
  • Concatenate multiple video files alongside delayed audio files

    28 mars 2022, par Spartan 117

    I am currently working on a utility that is responsible for pulling audio and video files from the cloud and merging them together via FFMPEG. As I am new to FFMPEG, I am going to split the question into an FFMPEG part and a C# part just so people can answer either 1 part or the other (or both !).

    &#xA;

    FFMPEG Part

    &#xA;

    Currently, I have a working FFMPEG arg if there is only 1 video file present and it needs to be merged with multiple files.

    &#xA;

    ffmpeg -i input1.mkv -i input1.mka -i input2.mka -i input3.mka -i input4.mka -filter_complex "[1:a]adelay=0s:all=1[a1pad];[2:a]adelay=20s:all=1[a2pad];[3:a]adelay=30s:all=1[a3pad];[4:a]adelay=40s:all=1[a4pad];[a1pad][a2pad][a3pad][a4pad]amix=inputs=4:weights=1|1|1|1[aout]" -map [aout] -map 0:0 output4.mkv&#xA;

    &#xA;

    The delays you see in there are determined by subtracting the start time of each file from the start time of the earliest created audio or video file. I know that if I wanted to create a horizontal stack of multiple videos, i could just do

    &#xA;

    ffmpeg -i input1.mkv -i input1.mka -i input2.mkv -i input2.mka -i input3.mka -i input4.mka&#xA;-filter_complex &#xA;"[2:v]tpad=start_duration=120:color=black[vpad]; &#xA; [3:a]adelay=120000:all=1[a2pad]; &#xA; [4:a]adelay=180000:all=1[a3pad];&#xA; [5:a]adelay=200000:all=1[a4pad]; &#xA; [0:v][vpad]hstack=inputs=2[vout]; &#xA; [1:a][a2pad][a3pad][a4pad]amix=inputs=4:weights=1|1|1|1[aout]" &#xA; -map [vout] -map [aout] &#xA; output.mkv&#xA;

    &#xA;

    but what I want to do is both keep those delays for the audio and video files AND concatenate (not stack) those videos, how would i go about doing that ?

    &#xA;

    C# Part

    &#xA;

    You see that giant arg up there ? The utility is supposed to generate that based on a List of recordings. Here is the model.

    &#xA;

    List<filemodel> _records;&#xA;public class FileModel {&#xA;  public string Id { get; set; }&#xA;  public string FileType { get; set; }&#xA;  public string StartTime { get; set; }&#xA;}&#xA;</filemodel>

    &#xA;

    The utility has to then go through that list and create the arg (as seen in the FFMPEG part) to be executed by the Xabe.FFMPEG package. The way i was thinking to approach this is to basically create 2 string builders. 1 string builder will be responsible for dealing with the inputs, the other string builder. Here is what i have so far

    &#xA;

    private async Task CombineAsync()&#xA;    {&#xA;        var minTime = _records.Min(y => Convert.ToDateTime(y.StartTime));&#xA;        var frontBuilder = new StringBuilder("-y ");&#xA;        var middleBuilder = new StringBuilder("-filter_complex \"");&#xA;        var endString = $" -map [vout] -map [aout] {_folderPath}\\CombinedOutput.mkv";&#xA;&#xA;        for (var i = 0; i &lt; _records.Count; i&#x2B;&#x2B;)&#xA;        {&#xA;            var type = _records[i].FileType.ToLower();&#xA;            var delay = (Convert.ToDateTime(_records[i].StartTime).Subtract(minTime)).TotalSeconds;&#xA;            frontBuilder.Append($"-i {_folderPath &#x2B; "\\" &#x2B; _records[i].Id} ");&#xA;            var addColon = i != _records.Count - 1 ? ";" : "";&#xA;            middleBuilder.Append(type.Equals("video") ? $"[{i}:v]tpad=start_duration={delay}:color=black[v{i}pad]{addColon} " : $"[{i}:a]adelay={delay}s:all=1[a{i}pad]{addColon} ");&#xA;        }&#xA;        middleBuilder.Append("\"");&#xA;        Console.WriteLine(frontBuilder.ToString() &#x2B; middleBuilder.ToString() &#x2B; endString);&#xA;        // var args = frontBuilder &#x2B; middleBuilder &#x2B; endString;&#xA;        // try&#xA;        // {&#xA;        //     var conversionResult = await FFmpeg.Conversions.New().Start(args);&#xA;        //     Console.WriteLine(JsonConvert.SerializeObject(conversionResult));&#xA;        // }&#xA;        // catch (Exception e)&#xA;        // {&#xA;        //     Console.WriteLine(e);&#xA;        // }&#xA;    }&#xA;

    &#xA;

      &#xA;
    1. Is this the correct way to go about building the argument out ?

      &#xA;

    2. &#xA;

    3. How in god's name do i get something like this in there, since it relies on naming and total count for the piping and inputs=

      &#xA;

        [0:v][vpad]hstack=inputs=2[vout]; // This part will change for video concatenation depending on what gets answered above&#xA;  [1:a][a2pad][a3pad][a4pad]amix=inputs=4:weights=1|1|1|1[aout]&#xA;

      &#xA;

    4. &#xA;

    &#xA;

  • Scroll seamless image with FFMPEG

    22 septembre 2022, par Rob

    I want to create a video from a single image. The image should scroll vertically and the output needs to be seamless so it can be looped (the image itself is seamless).

    &#xA;

    Example of what I want to create :&#xA;GIF example&#xA;and the texture from the example : seamless texture.

    &#xA;

    Length of the video is not that important since if the scrolling is seamless I should be able to just loop it with ffmpeg -stream_loop 3 -i input.mp4 -c copy output.mp4 afterwards.

    &#xA;

    I have tried :

    &#xA;

    ffmpeg -loop 1 -i input.png -framerate 30 -vf "scroll=vertical=0.002,crop=iw:600:0:0,format=yuv420p" -t 10 -y output.mp4&#xA;

    &#xA;

    which creates a video with the desired scrolling effect but its not seamless due to Issues matching the video length with the height of the image/scrolling speed and it looks something like this : Example output (exaggerated) Also ignore it scrolls the other way.

    &#xA;

    I'm not sure how to proceed, maybe its just a simple math that needs to be done to add to&#xA;-t X by looking at the scroll speed & image height ? . Any ideas welcome how to solve this with either ffmpeg/python/powershell under windows.

    &#xA;