Recherche avancée

Médias (1)

Mot : - Tags -/sintel

Autres articles (5)

  • Le plugin : Podcasts.

    14 juillet 2010, par

    Le problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
    Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
    Types de fichiers supportés dans les flux
    Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...)

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

  • ANNEXE : Les extensions, plugins SPIP des canaux

    11 février 2010, par

    Un plugin est un ajout fonctionnel au noyau principal de SPIP. MediaSPIP consiste en un choix délibéré de plugins existant ou pas auparavant dans la communauté SPIP, qui ont pour certains nécessité soit leur création de A à Z, soit des ajouts de fonctionnalités.
    Les extensions que MediaSPIP nécessite pour fonctionner
    Depuis la version 2.1.0, SPIP permet d’ajouter des plugins dans le répertoire extensions/.
    Les "extensions" ne sont ni plus ni moins que des plugins dont la particularité est qu’ils se (...)

Sur d’autres sites (2903)

  • Merge/Blend/Composite transparent webm files with a jpg/png using ffmpeg

    13 avril 2021, par Lokanath

    I previously had generated color.webm and alpha.webm files withffmpeg using png images.
However, when I play the generated videos in my application it consumes quite some resources so I have decided to create a standard video(No alpha needed), I cannot re-record the videos as there are a lot of them at this point.

    


    I am generating the alpha and color video using the following command ffmpeg -framerate 30 -i img%d.png -filter_complex "alphaextract[a]" -map 0:v -c:v libvpx-vp9 -pix_fmt yuv420p -auto-alt-ref 0 -crf 15 -b:v 0 color.webm -map "[a]" -c:v libvpx-vp9 -pix_fmt yuv420p -auto-alt-ref 0 -crf 15 -b:v 0 alpha.webm

    


    I am looking to get a final video output where in alpha values are replaced with the png/jpg image, it's more like replacing the green screen with a background however in my case greenscreen is the alpha channel.

    


    Could any one let me know how to combine alpha.webm, color.webm with a jpg/png image without minimal or no quality loss ?
.

    


  • ffmpeg stream_loop CPU 100%

    20 avril 2020, par beamercola

    I have a pretty simple stream_loop running out to an rtmp server. I even tried to optimize the files so it didn't have to encode but I must be doing something wrong

    



    Here's my code :

    



    play.sh

    



    ffmpeg \
  -stream_loop -1 \
  -i playlist1.txt \
  -c:v copy \
  -c:a copy \
  -f flv "rtmp://..."


    



    playlist1.txt

    



    ffconcat version 1.0
file 'tracks/001.mp4'
file 'playlist2.txt'


    



    playlist2.txt

    



    ffconcat version 1.0
file 'tracks/002.mp4'
file 'playlist1.txt'


    



    I have it in 2 playlists to make it infinite, read that somewhere.

    



    I get a constant log of this
Auto-inserting h264_mp4toannexb bitstream

    



    Here's my output :

    



    ffmpeg version 4.2.2-1ubuntu1~18.04.york0 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
  configuration: --prefix=/usr --extra-version='1ubuntu1~18.04.york0' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x55c005b43700] Auto-inserting h264_mp4toannexb bitstream filter
Input #0, concat, from 'playlist1.txt':
  Duration: N/A, start: 0.000000, bitrate: 406 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x360, 278 kb/s, 10 fps, 10 tbr, 10240 tbn, 20 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s
    Metadata:
      handler_name    : SoundHandler
Output #0, flv, to 'rtmp://......':
  Metadata:
    encoder         : Lavf58.29.100
    Stream #0:0(und): Video: h264 (High) ([7][0][0][0] / 0x0007), yuv420p, 640x360, q=2-31, 278 kb/s, 10 fps, 10 tbr, 1k tbn, 10240 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) ([10][0][0][0] / 0x000A), 44100 Hz, stereo, fltp, 127 kb/s
    Metadata:
      handler_name    : SoundHandler
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x55c005bca200] Auto-inserting h264_mp4toannexb bitstream filter34x    
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x55c005c94480] Auto-inserting h264_mp4toannexb bitstream filter03x    
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x55c005bcd7c0] Auto-inserting h264_mp4toannexb bitstream filter91x    
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x55c005bcb780] Auto-inserting h264_mp4toannexb bitstream filter80x    
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x55c005b4ca00] Auto-inserting h264_mp4toannexb bitstream filter78x    
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x55c005b4c900] Auto-inserting h264_mp4toannexb bitstream filter83x    
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x55c005bcba40] Auto-inserting h264_mp4toannexb bitstream filter84x    


    



    my guess is these video files are 1:1. I tried re-encoding to force them to 10fps, but i notice 278 kb/s and 77 kb/s

    



    Any help appreciated thanks !

    


  • Copying a FFMPEG AVFrame to a buffer for use with SDL

    13 août 2021, par ryan

    for the past couple of days I've been trying to get a decoded AVFrame* converted to an SDL_Surface. In order to do that, I need to get the pure RGBA data from the frame. Here is the code involved with copying.

    


     std::uint32_t numBytes = av_image_get_buffer_size(AV_PIX_FMT_BGR32,
                                                   codecCtx->width,
                                                   codecCtx->height,
                                                   32);
/// ...
std::vector nBuf(numBytes);
auto e = av_image_copy_to_buffer(nBuf.data(), nBuf.size(),
                                 rgbFrame->data, rgbFrame->linesize,
                                 AV_PIX_FMT_BGR32, codecCtx->width,
                                 codecCtx->height, 32);
auto surf = SDL_CreateRGBSurfaceFrom(reinterpret_cast(nBuf.data()),
                                     codecCtx->width, codecCtx->height,
                                     32, 4 * codecCtx->width, 0x000000FF, 0x0000FF00,
                                     0x00FF0000,0xFF000000);
                


    


    However, this creates a corrupted and messed up image. I've also tried using 24bit RGB as well with the same results, and I've also tried using std::copy and std::memcpy instead of using av_image_copy_to_buffer, like this :

    


    for(auto i = 0; i < codecCtx->height; i++)
    std::memcpy(nBuf.data() + i * codecCtx->width, rgbFrame->data[0] + i * rgbFrame->linesize[0], codecCtx->width * 4);


    


    with similarly corrupted results. I've also tried feeding SDL_CreateRGBSurfaceFrom rgbFrame->data[0] directly, and I got the same corrupted image.

    


    I know that rgbFrame is correct, I output it to a raw RGB format and the image was right.

    


    I need to copy this data manually since I cannot have SDL_Renderer and SDL_Textures do this for me since I am using SDL_GPU as my renderer ; the SDL_Surface is just so I can convert the image to a GPU_Image.

    


    If anyone could show me what I am doing wrong or show me an alternate way to get this as a GPU_Image that would be great !