Recherche avancée

Médias (91)

Autres articles (71)

  • MediaSPIP Player : les contrôles

    26 mai 2010, par

    Les contrôles à la souris du lecteur
    En plus des actions au click sur les boutons visibles de l’interface du lecteur, il est également possible d’effectuer d’autres actions grâce à la souris : Click : en cliquant sur la vidéo ou sur le logo du son, celui ci se mettra en lecture ou en pause en fonction de son état actuel ; Molette (roulement) : en plaçant la souris sur l’espace utilisé par le média (hover), la molette de la souris n’exerce plus l’effet habituel de scroll de la page, mais diminue ou (...)

  • L’agrémenter visuellement

    10 avril 2011

    MediaSPIP est basé sur un système de thèmes et de squelettes. Les squelettes définissent le placement des informations dans la page, définissant un usage spécifique de la plateforme, et les thèmes l’habillage graphique général.
    Chacun peut proposer un nouveau thème graphique ou un squelette et le mettre à disposition de la communauté.

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

Sur d’autres sites (5481)

  • lavu/x86 : add FFT assembly

    10 avril 2021, par Lynne
    lavu/x86 : add FFT assembly
    

    This commit adds a pure x86 assembly SIMD version of the FFT in libavutil/tx.
    The design of this pure assembly FFT is pretty unconventional.

    On the lowest level, instead of splitting the complex numbers into
    real and imaginary parts, we keep complex numbers together but split
    them in terms of parity. This saves a number of shuffles in each transform,
    but more importantly, it splits each transform into two independent
    paths, which we process using separate registers in parallel.
    This allows us to keep all units saturated and lets us use all available
    registers to avoid dependencies.
    Moreover, it allows us to double the granularity of our per-load permutation,
    skipping many expensive lookups and allowing us to use just 4 loads per register,
    rather than 8, or in case FMA3 (and by extension, AVX2), use the vgatherdpd
    instruction, which is at least as fast as 4 separate loads on old hardware,
    and quite a bit faster on modern CPUs).

    Higher up, we go for a bottom-up construction of large transforms, foregoing
    the traditional per-transform call-return recursion chains. Instead, we always
    start at the bottom-most basis transform (in this case, a 32-point transform),
    and continue constructing larger and larger transforms until we return to the
    top-most transform.
    This way, we only touch the stack 3 times per a complete target transform :
    once for the 1/2 length transform and two times for the 1/4 length transform.

    The combination algorithm we use is a standard Split-Radix algorithm,
    as used in our C code. Although a version with less operations exists
    (Steven G. Johnson and Matteo Frigo's "A modified split-radix FFT with fewer
    arithmetic operations", IEEE Trans. Signal Process. 55 (1), 111–119 (2007),
    which is the one FFTW uses), it only has 2% less operations and requires at least 4x
    the binary code (due to it needing 4 different paths to do a single transform).
    That version also has other issues which prevent it from being implemented
    with SIMD code as efficiently, which makes it lose the marginal gains it offered,
    and cannot be performed bottom-up, requiring many recursive call-return chains,
    whose overhead adds up.

    We go through a lot of effort to minimize load/stores by keeping as much in
    registers in between construcring transforms. This saves us around 32 cycles,
    on paper, but in reality a lot more due to load/store aliasing (a load from a
    memory location cannot be issued while there's a store pending, and there are
    only so many (2 for Zen 3) load/store units in a CPU).
    Also, we interleave coefficients during the last stage to save on a store+load
    per register.

    Each of the smallest, basis transforms (4, 8 and 16-point in our case)
    has been extremely optimized. Our 8-point transform is barely 20 instructions
    in total, beating our old implementation 8-point transform by 1 instruction.
    Our 2x8-point transform is 23 instructions, beating our old implementation by
    6 instruction and needing 50% less cycles. Our 16-point transform's combination
    code takes slightly more instructions than our old implementation, but makes up
    for it by requiring a lot less arithmetic operations.

    Overall, the transform was optimized for the timings of Zen 3, which at the
    time of writing has the most IPC from all documented CPUs. Shuffles were
    preferred over arithmetic operations due to their 1/0.5 latency/throughput.

    On average, this code is 30% faster than our old libavcodec implementation.
    It's able to trade blows with the previously-untouchable FFTW on small transforms,
    and due to its tiny size and better prediction, outdoes FFTW on larger transforms
    by 11% on the largest currently supported size.

    • [DH] libavutil/tx.c
    • [DH] libavutil/tx_priv.h
    • [DH] libavutil/x86/Makefile
    • [DH] libavutil/x86/tx_float.asm
    • [DH] libavutil/x86/tx_float_init.c
  • I detected an error downloading a twitch tv stream. I use ffmpeg. That error stops the download, how can I fix it ? [closed]

    9 juin, par sort35ofn

    I wanted to perform a download via ffmpeg of a video streamed live on the Twitch tv platform. I have windows 10 and I use cmd to run ffmpeg.

    


    The command I use to download the concert is :

    


    ffmpeg.exe -i "m3u8-link" -c copy name.ts


    


    I once downloaded with yt-dlp, but noticed that the quality was noticeably lower, at least using the following command :
yt-dlp.exe -f (bestvideo+bestaudio/best) "amazon-channel-link"

    


    That's why I prefer to download with ffmpeg. Normally I haven't had any problems with downloads. But this is already the third time (not continuously/consecutively) that I get this error. That error causes the download of the stream to terminate. It is not like in other occasions that sometimes a .ts fragment (of 3 seconds, for example) has already expired (and is not included in the download) but the download continues.

    


    [https @ 000001edada180c0] Opening 'https://sae12.playlist.ttvnw.net/v1/playlist/Cr4GlKuutNM7CxfM9Sq0mdUFxA8uA3F2oluPaJOmOPaBjmTkdiv4RxnkTtt_tEV8t2CyuH6D1E0HB3Erpbjq3mCfV5KqO4GfOMNOElmyYe2AKZcyQJHNeavrFfVBPB_pbDS5PYWTzUHoS0iTLfmn2cx-wHMHXa5MO-IdGPRixWDvezKNhOebWYscoIWvYwstshPSFvem1EN1UES7QfIDHSlBcZF3lGeVpg2yl05dhVwAX8YI9rnBtXYbwAUwcjEmPiqk_wm6oEX-2LRsw_05dznnVv6BbyYsLvyZu810xt9BNQU6rNCSzuoZhVx8gFxoyEdUt-VV3L_xj78-5CFibrvnO4uCafCZ5-wE_bEtUQeuHsLmm9Qf9Pj5BIGB2BHWm2LqlGTHcDG-8Z0u1-3_FB_h7fN7-uuyN-6-lreZYHDPviM8hKHFMU3zwNY29elgKRPgVMJ-4ysLWGuOPdwrylJpLFJSzsXhZaEE4p_4Zg6gfDuozYYttmPI2G1LErd5p1lT9DkQncFZibymap5Fiv-x21-jeNbrZo92PfW7lIo6NPdlnPWyoUTOb2KjgU9R0fm1UJt1kQJmQMVyDN2OHZ4t7dcAfyGMTwU26O7DdaYZhhv8mPMteBZcyjnLKH7e5AMtHUEVO2r9QIOiH0wDLNh-f9WS2kmRdJENBvl5mMGdyVHhBc9K9G5SuxBesi6F_9P_8agwpPo51m8ikJvSVJKduoIfVLSuto2SIe4DFI7hMxbplWfxBb1PNEoMWyeQd0iHUwDqQwVCFHq8OhGBp1EJtx1CNVtBhztLIqNXBbxR1Cdy8tx5rdJjq4EKlFKU3eh3_aRkhe7gulUKx2cZYNg4bGHpNBU1DP-std8xG1ckPdTpig-h_1okYPd7sXnynBFnhMHkVipsIJC4fkoT2MXHo3ItgMgTUBh1-oWD6qaD00VDM9TyDcCawJt-kI8-KnwlUkh7pq2cUv9ODqSjm5xcLoxPUxutCoZ9aKq9cnV0kqKPXxmLOekmgWK8G8MjFZ6Es5n46NeKREgQEBUTf2TZkUTOHZAiElyPy0ZdyOxFkdFZ06yqq8zUWG_dnhpgbrS1SueCOx5rGInRIdg94TIaDLMJTUvkLrqDdcS2jiABKgl1cy1lYXN0LTIwuAw.m3u8' for reading
[https @ 000001edad715600] HTTP error 500 Internal Server Errortrate=4480.2kbits/s speed=1.01x elapsed=0:17:30.76
[hls @ 000001edab89e500] keepalive request failed for 'https://sae12.playlist.ttvnw.net/v1/playlist/Cr4GlKuutNM7CxfM9Sq0mdUFxA8uA3F2oluPaJOmOPaBjmTkdiv4RxnkTtt_tEV8t2CyuH6D1E0HB3Erpbjq3mCfV5KqO4GfOMNOElmyYe2AKZcyQJHNeavrFfVBPB_pbDS5PYWTzUHoS0iTLfmn2cx-wHMHXa5MO-IdGPRixWDvezKNhOebWYscoIWvYwstshPSFvem1EN1UES7QfIDHSlBcZF3lGeVpg2yl05dhVwAX8YI9rnBtXYbwAUwcjEmPiqk_wm6oEX-2LRsw_05dznnVv6BbyYsLvyZu810xt9BNQU6rNCSzuoZhVx8gFxoyEdUt-VV3L_xj78-5CFibrvnO4uCafCZ5-wE_bEtUQeuHsLmm9Qf9Pj5BIGB2BHWm2LqlGTHcDG-8Z0u1-3_FB_h7fN7-uuyN-6-lreZYHDPviM8hKHFMU3zwNY29elgKRPgVMJ-4ysLWGuOPdwrylJpLFJSzsXhZaEE4p_4Zg6gfDuozYYttmPI2G1LErd5p1lT9DkQncFZibymap5Fiv-x21-jeNbrZo92PfW7lIo6NPdlnPWyoUTOb2KjgU9R0fm1UJt1kQJmQMVyDN2OHZ4t7dcAfyGMTwU26O7DdaYZhhv8mPMteBZcyjnLKH7e5AMtHUEVO2r9QIOiH0wDLNh-f9WS2kmRdJENBvl5mMGdyVHhBc9K9G5SuxBesi6F_9P_8agwpPo51m8ikJvSVJKduoIfVLSuto2SIe4DFI7hMxbplWfxBb1PNEoMWyeQd0iHUwDqQwVCFHq8OhGBp1EJtx1CNVtBhztLIqNXBbxR1Cdy8tx5rdJjq4EKlFKU3eh3_aRkhe7gulUKx2cZYNg4bGHpNBU1DP-std8xG1ckPdTpig-h_1okYPd7sXnynBFnhMHkVipsIJC4fkoT2MXHo3ItgMgTUBh1-oWD6qaD00VDM9TyDcCawJt-kI8-KnwlUkh7pq2cUv9ODqSjm5xcLoxPUxutCoZ9aKq9cnV0kqKPXxmLOekmgWK8G8MjFZ6Es5n46NeKREgQEBUTf2TZkUTOHZAiElyPy0ZdyOxFkdFZ06yqq8zUWG_dnhpgbrS1SueCOx5rGInRIdg94TIaDLMJTUvkLrqDdcS2jiABKgl1cy1lYXN0LTIwuAw.m3u8' with error: 'Server returned 5XX Server Error reply' when parsing playlist
[https @ 000001edad714900] HTTP error 500 Internal Server Errortrate=4480.2kbits/s speed=   1x elapsed=0:17:32.82
[hls @ 000001edab89e500] Failed to reload playlist 0
[https @ 000001edab8a4dc0] Opening 'https://c513a515af41.chantenay.akamai.hls.ttvnw.net/v1/segment/CvUCxQ8TAK7dXfVU_OB77Tl0jy4jVuXiNgXG_97z6zGC4vXLrJNkgegJgVTcnrjyxZuL37UAeKJ9nhR48Yq2YRy_r8EnJ3PyAX407Gj21HDw3AG1KFXL-Z1ysn7DFTvOb434uA_farXGB276wYH-n0dFr7TzD7G2sCLcYSZeyadGEwJbq3wvb7AglP8UEU0JxwZRVKWx0zX9Vd4I3EiSdAUP7w96T75UBwreFKwxvq16-od59YpbneYRYUYkgKEZSLTgrmCkm_nN4FWxOCSOhFHqHmjCenSREMJMdSHbhcqgvU5pdIxSm0ITMAxY4jX6cUTFKsqYGeKwCMHjy0gptCuPGVvEJCffxq00YNmF194USBRWumBZCp0TuRtI4LzjyPB1LARLdzJ56bCibI6lRE4hDn53zAV5ZUcWlkUIuUJ52D4vH3fRl85AQHV8UiWl8MEfyjJ4B8XxThp7lZ8nhAX42pUJ_8YgaK6BO51syG2Rkm9icm8ddRoM8pDl2Pkp8FgFncdIIAEqCXVzLWVhc3QtMjC4DA.ts?dna=CnWfUp8FT0O95nMtHpmzX-0LudnQmJLc-YARNX594okBXpxNtNQOAoOFUhTgI3_AReiOPiW_1e2e3oeoXJfoJbH4KZniEQhFhSWU7wMaSzM8CkZomzvn1Gig5l71lY9wSw8DV-QRh6LK7zfRqp5yy547EAFTbcwaDDnujf_TZXo1TVET8CABKgl1cy1lYXN0LTIwuAw' for reading
[https @ 000001edad4be180] Opening 'https://c513a515af41.chantenay.akamai.hls.ttvnw.net/v1/segment/CvUCvDoClU0qVRu8zB4Vm0gdhBMUSkOd9X-6zOlmLSLjAZDs-Oxj_mW5vBJWinuwpM4xU4bDToC8hfj7Xv80h6Rc93voJNaNiUxYWszEFu1AJh-_LsqxEJA-3nW8MBNo9YeaecC_EX8TF0VTaVBGiLI1SQNREb-1B5pAkYXfVcO_OSI2QqrssKXbBzkNwsx6dW38ir7CNT9qTZACJGzDZkxXYrSlArubviw_wXxSKXQKn0YcF3yXeKO4iXHRjkyrX0rnaSM3PRDJhr1xGT47u9J5jymTL55O9QRLS-9Z8ZN1LhqpXLxBFJbFi-4v_yJZWponNmS3F6b3rMhW3WCv5qw96B4UHF7NjFJWk0LmyLTkNcBAPC2yyARDZ02MoIXPzMSEq9Z1O4jrASPj34HXA_8BdxqZdVtyzjEekR2ThJkueLyFshQ3HIGkeFH49xpQmDNgE93VovfMACG9RTUCIPP9cZuOhTkoFBpT7JSrOx_p2oS3q4QiYxoMQNuunEN7QhQW4OPMIAEqCXVzLWVhc3QtMjC4DA.ts?dna=CnWfUp8FT0O95nMtHpmzX-0LudnQmJLc-YARNX594okBXpxNtNQOAoOFUhTgI3_AReiOPiW_1e2e3oeoXJfoJbH4KZniEQhFhSWU7wMaSzM8CkZomzvn1Gig5l71lY9wSw8DV-QRh6LK7zfRqp5yy547EAFTbcwaDDnujf_TZXo1TVET8CABKgl1cy1lYXN0LTIwuAw' for reading
[in#0/hls @ 000001edab89e3c0] Error during demuxing: Server returned 5XX Server Error reply 1x elapsed=0:17:33.34
[out#0/mpegts @ 000001edab92e880] video:547017KiB audio:12398KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 3.451806%
frame=26450 fps= 25 q=-1.0 Lsize=  578726KiB time=00:17:37.96 bitrate=4481.2kbits/s speed=   1x elapsed=0:17:33.35

yt-dlp>


    


    Is there any way to prevent this error ? Or can I do something so that the download does not stop because of this error ?

    


    And excuse me but I forgot to take a screenshot of the cmd screen, so I don't remember the colors of the letters (it certainly changed the colors of the letters when the error appeared). So I proceed to indicate that the error starts when it says : “ [hls @ 000001edab89e500] keepalive request failed for ”.

    


  • How can I mux a MKV and MKA file and get it to play in a browser ?

    28 juin 2017, par Robert

    I’m using ffmpeg to merge .mkv and .mka files into .mp4 files. My current command looks like this :

    ffmpeg -i video.mkv -i audio.mka output_path.mp4

    The audio and video files are pre-signed urls from Amazon S3. Even on a server with sufficient resources, this process is going very slowly. I’ve researched situations where you can tell ffmpeg to skip re-encoding each frame, but I think that in my situation it actually does need to re-encode each frame.

    I’ve downloaded 2 sample files to my macbook pro and have installed ffmpeg locally via homebrew. When I run the command

    ffmpeg -i video.mkv -i audio.mka -c copy output.mp4

    I get the following output :

    ffmpeg version 3.3.2 Copyright (c) 2000-2017 the FFmpeg developers
     built with Apple LLVM version 8.1.0 (clang-802.0.42)
     configuration: --prefix=/usr/local/Cellar/ffmpeg/3.3.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --disable-lzma --enable-vda
     libavutil      55. 58.100 / 55. 58.100
     libavcodec     57. 89.100 / 57. 89.100
     libavformat    57. 71.100 / 57. 71.100
     libavdevice    57.  6.100 / 57.  6.100
     libavfilter     6. 82.100 /  6. 82.100
     libavresample   3.  5.  0 /  3.  5.  0
     libswscale      4.  6.100 /  4.  6.100
     libswresample   2.  7.100 /  2.  7.100
     libpostproc    54.  5.100 / 54.  5.100
    Input #0, matroska,webm, from '319_audio_1498590673766.mka':
     Metadata:
       encoder         : GStreamer matroskamux version 1.8.1.1
       creation_time   : 2017-06-27T19:10:58.000000Z
     Duration: 00:00:03.53, start: 2.831000, bitrate: 50 kb/s
       Stream #0:0(eng): Audio: opus, 48000 Hz, stereo, fltp (default)
       Metadata:
         title           : Audio
    Input #1, matroska,webm, from '319_video_1498590673766.mkv':
     Metadata:
       encoder         : GStreamer matroskamux version 1.8.1.1
       creation_time   : 2017-06-27T19:10:58.000000Z
     Duration: 00:00:03.97, start: 2.851000, bitrate: 224 kb/s
       Stream #1:0(eng): Video: vp8, yuv420p(progressive), 640x480, SAR 1:1 DAR 4:3, 30 tbr, 1k tbn, 1k tbc (default)
       Metadata:
         title           : Video
    [mp4 @ 0x7fa4f0806800] Could not find tag for codec vp8 in stream #0, codec not currently supported in container
    Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
    Stream mapping:
     Stream #1:0 -> #0:0 (copy)
     Stream #0:0 -> #0:1 (copy)
       Last message repeated 1 times

    So it appears that the specific encodings I’m working with are vp8 videos and opus audio files, which I believe are incompatible with the .mp4 output container. I would appreciate answers that cover ways of optimally merging vp8 and opus into .mp4 output or answers that point me in the direction of output media formats that are both compatible with vp8 & opus and are playable on web and mobile devices so that I can bypass the re-encoding step altogether.

    EDIT :

    Just wanted to provide a benchmark after following LordNeckbeard’s advice :

    4 min 41 second video transcoded locally on my mac

    LordNeckbeard’s approach : 15 mins 55 seconds (955 seconds)
    Current approach : 18 mins 49 seconds (1129 seconds)

    18% speed increase