Recherche avancée

Médias (1)

Mot : - Tags -/belgique

Autres articles (30)

  • Installation en mode ferme

    4 février 2011, par

    Le mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
    C’est la méthode que nous utilisons sur cette même plateforme.
    L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
    Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...)

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

  • La sauvegarde automatique de canaux SPIP

    1er avril 2010, par

    Dans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
    Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...)

Sur d’autres sites (4894)

  • How to get stream info from opened file in ffmpeg ?

    31 mai 2013, par Srv19

    I am trying to read video file using ffmpeg. I had working code that corresponded to somewhat old version of it, and started to try and upgrade to latest build version, exchanging all those deprecated functions for their actual analogues.

    However i have run into a problem. No streams seem to be retrieved and the load of video stops dead in tracks.

    here is the code i am using :

      // Open video file
      if(avformat_open_input(&pFormatCtx, filename.toStdString().c_str(), NULL, NULL)!=0)
          return FILE_NOT_OPENED; // Couldn't open file

      // Retrieve stream information
      if(avformat_find_stream_info(pFormatCtx,NULL)<0)
          return NO_STREAM_INFO; // Couldn't find stream information

      // Dump information about file onto standard error
      av_dump_format(pFormatCtx, 0, filename.toStdString().c_str(), false);

      // Find the first video stream
      videoStream=-1;
      for(unsigned i=0; inb_streams; i++)
          if(pFormatCtx->streams[i]->codec->codec_type==ffmpeg::AVMEDIA_TYPE_VIDEO)
          {
              videoStream=i;
              break;
          }
      if(videoStream==-1)
          return OTHER; // Didn't find a video stream

      // Get a pointer to the codec context for the video stream
      pCodecCtx=pFormatCtx->streams[videoStream]->codec;

      // Find the decoder for the video stream
      pCodec=avcodec_find_decoder(pCodecCtx->codec_id);
      if(pCodec==NULL)
          return CODEC_NOT_FOUND; // Codec not found

      // Open codec
      if(avcodec_open2(pCodecCtx, pCodec,NULL)<0)
          return CODEC_NOT_OPENED; // Could not open codec

    The problem arises in the cycle through video streams in ffmpeg::AVFormatContext *pFormatCtx. nb_streams field is 0, and i never actually enter the cycle, and codec is not loaded etc. Strange thing is, av_dump_format gives following output :

    License: GPL version 3 or later
    AVCodec version 3606372
    AVFormat configuration: --disable-static --enable-shared --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
    [asf @ 004e9540] Stream #0: not enough frames to estimate rate; consider increasing probesize
    Input #0, asf, from 'C:/Users/Public/Videos/Sample Videos/Wildlife.wmv':
     Metadata:
       SfOriginalFPS   : 299700
       WMFSDKVersion   : 11.0.6001.7000
       WMFSDKNeeded    : 0.0.0.0000
       comment         : Footage: Small World Productions, Inc; Tourism New Zealand | Producer: Gary F. Spradling | Music: Steve Ball
       title           : Wildlife in HD
       copyright       : В© 2008 Microsoft Corporation
       IsVBR           : 0
       DeviceConformanceTemplate: AP@L3
     Duration: 00:00:30.09, start: 0.000000, bitrate: 6977 kb/s
       Stream #0:0(eng): Audio: wmav2 (a[1][0][0] / 0x0161), 44100 Hz, 2 channels, fltp, 192 kb/s
       Stream #0:1(eng): Video: vc1 (Advanced) (WVC1 / 0x31435657), yuv420p, 1280x720, 5942 kb/s, 29.97 tbr, 1k tbn, 1k tbc

    and there are 2 streams, clear as day.

    I am utterly baffled. Please help.

  • ffmpeg : Generate video from picture

    16 octobre 2013, par Tchoupi

    I'm currently trying to generate a video from a single picture (1980*1024)
    Here my cmd :

    ffmpeg -threads 8 -r 1 -loop 1 -i "C:\Library\Titling\__Resources\1.jpg" -t 5.00 -pix_fmt yuv420p -vcodec libx264 -b:v 1500k -s 720:576 -aspect 1.0000 -y "D:\Records\2013-10-11_115453\PublishingDirectory\Temporary_WithtoutAudio1.mp4"

    here cmd execution :

    ffmpeg version N-56297-g7ac6c63 Copyright (c) 2000-2013 the FFmpeg developers
    built on Sep 15 2013 18:02:28 with gcc 4.7.3 (GCC)
    configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libblu
    ray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l
    ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-li
    bvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
    libavutil 52. 43.100 / 52. 43.100
    libavcodec 55. 31.101 / 55. 31.101
    libavformat 55. 16.102 / 55. 16.102
    libavdevice 55. 3.100 / 55. 3.100
    libavfilter 3. 84.100 / 3. 84.100
    libswscale 2. 5.100 / 2. 5.100
    libswresample 0. 17.103 / 0. 17.103
    libpostproc 52. 3.100 / 52. 3.100
    Input #0, image2, from 'C:\Library\Titling\__Resources\1.jpg':
    Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: mjpeg, yuvj420p(pc), 1920x1080 [SAR 96:96 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc
    [swscaler @ 025bec00] deprecated pixel format used, make sure you did set range correctly
    [libx264 @ 025b7ce0] using SAR=4/5
    [libx264 @ 025b7ce0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
    [libx264 @ 025b7ce0] profile High, level 2.2
    [libx264 @ 025b7ce0] 264 - core 135 r2345 f0c1c53 - H.264/MPEG-4 AVC codec - Copyleft 2003-2013 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subm
    e=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1
    interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=1 scenecut=40 intra_refresh=0 rc_lookahead=40 rc
    =abr mbtree=1 bitrate=1500 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    Output #0, mp4, to 'D:\Records\2013-10-11_115453\PublishingDirectory\Temporary_WithtoutAudio1.mp4':
    Metadata:
    encoder : Lavf55.16.102
    Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 720x576 [SAR 4:5 DAR 1:1], q=-1--1, 1500 kb/s, 16384 tbn, 1 tbc
    Stream mapping:
    Stream #0:0 -> #0:0 (mjpeg -> libx264)
    Press [q] to stop, [?] for help
    frame= 5 fps=0.0 q=-1.0 Lsize= 64kB time=00:00:03.00 bitrate= 174.0kbits/s
    video:63kB audio:0kB subtitle:0 global headers:0kB muxing overhead 1.355758%
    [libx264 @ 025b7ce0] frame I:1 Avg QP: 0.00 size: 63203
    [libx264 @ 025b7ce0] frame P:1 Avg QP: 0.00 size: 250
    [libx264 @ 025b7ce0] frame B:3 Avg QP: 0.00 size: 64
    [libx264 @ 025b7ce0] consecutive B-frames: 20.0% 0.0% 0.0% 80.0%
    [libx264 @ 025b7ce0] mb I I16..4: 78.8% 4.0% 17.2%
    [libx264 @ 025b7ce0] mb P I16..4: 0.0% 0.0% 0.0% P16..4: 1.2% 0.0% 0.1% 0.0% 0.0% skip:98.6%
    [libx264 @ 025b7ce0] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 0.9% 0.0% 0.0% direct: 0.0% skip:99.0% L0:12.8% L1:87.2% BI: 0.0%
    [libx264 @ 025b7ce0] final ratefactor: -14.43
    [libx264 @ 025b7ce0] 8x8 transform intra:4.0% inter:0.0%
    [libx264 @ 025b7ce0] coded y,uvDC,uvAC intra: 22.8% 24.1% 24.1% inter: 0.2% 0.0% 0.0%
    [libx264 @ 025b7ce0] i16 v,h,dc,p: 93% 1% 4% 2%
    [libx264 @ 025b7ce0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 26% 19% 13% 6% 6% 7% 7% 12% 4%
    [libx264 @ 025b7ce0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 15% 11% 7% 7% 9% 7% 14% 6%
    [libx264 @ 025b7ce0] i8c dc,h,v,p: 85% 4% 6% 5%
    [libx264 @ 025b7ce0] Weighted P-Frames: Y:0.0% UV:0.0%
    [libx264 @ 025b7ce0] kb/s:101.83

    At this step I have two problems :
    first is a warning during execution
    deprecated pixel format used, make sure you did set range correctly
    The second is the video do not work correctly in VLC (video is "black") but it work in wmp...

    Then I add an empty audio track :

    ffmpeg -threads 8 -f lavfi -i aevalsrc=0 -i "D:\Records\2013-10-11_115453\PublishingDirectory\Temporary_WithtoutAudio1.mp4" -vcodec copy -b:v 1500k -acodec aac -map 1:0 -map 0:0 -shortest -strict experimental -y "D:\Records\2013-10-11_115453\PublishingDirectory\Temporary1.mp4"

    After that I concat this video to others using complex filter .
    When I concat my videos I have this message :

    [output stream 0:1 @ 0451d3a0] 100 buffers queued in output stream 0:1, something may be wrong.

    And when i Watch the result my video freeze after the image insertion for a approximatly a seconde .
    perhaps it is not related
    I don't know ...

    Here my concat command and execution log

    D:\test>ffmpeg.exe -threads 8 -i "D:\Records\2013-10-11_115453\PublishingDirectory\Temporary0.mp4" -i "D:\Records\2013-10-11_115453\PublishingDirectory\Temporary1.mp4" -i "D:\Records\2013-10-11_115
    453\PublishingDirectory\Temporary2.mp4" -filter_complex "[0:v] [0:a] [1:v] [1:a] [2:v] [2:a] concat=n=3:v=1:a=1 [v] [a] " -map "[v]" -map "[a]" -vcodec libx264 -b 1500000 -s 720:576 -y "D:\Records\
    2013-10-11_115453\PublishingDirectory\EditedVideo.mp4"

    ..

    ffmpeg version N-56297-g7ac6c63 Copyright (c) 2000-2013 the FFmpeg developers
    built on Sep 15 2013 18:02:28 with gcc 4.7.3 (GCC)
    configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libblu
    ray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l
    ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-li
    bvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
    libavutil 52. 43.100 / 52. 43.100
    libavcodec 55. 31.101 / 55. 31.101
    libavformat 55. 16.102 / 55. 16.102
    libavdevice 55. 3.100 / 55. 3.100
    libavfilter 3. 84.100 / 3. 84.100
    libswscale 2. 5.100 / 2. 5.100
    libswresample 0. 17.103 / 0. 17.103
    libpostproc 52. 3.100 / 52. 3.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'D:\Records\2013-10-11_115453\PublishingDirectory\Temporary0.mp4':
    Metadata:
    major_brand : isom
    minor_version : 512
    compatible_brands: isomiso2avc1mp41
    title : Wildlife in HD
    encoder : Lavf54.22.100
    comment : Footage: Small World Productions, Inc; Tourism New Zealand | Producer: Gary F. Spradling | Music: Steve Ball
    copyright : ┬® 2008 Microsoft Corporation
    Duration: 00:00:13.70, start: 0.000000, bitrate: 1914 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 720x576 [SAR 4:5 DAR 1:1], 1778 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
    Metadata:
    handler_name : VideoHandler
    Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
    handler_name : SoundHandler
    Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'D:\Records\2013-10-11_115453\PublishingDirectory\Temporary1.mp4':
    Metadata:
    major_brand : isom
    minor_version : 512
    compatible_brands: isomiso2avc1mp41
    encoder : Lavf55.16.102
    Duration: 00:00:05.00, start: 0.023220, bitrate: 106 kb/s
    Stream #1:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 720x576 [SAR 4:5 DAR 1:1], 102 kb/s, 1 fps, 1 tbr, 16384 tbn, 2 tbc (default)
    Metadata:
    handler_name : VideoHandler
    Stream #1:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 1 kb/s (default)
    Metadata:
    handler_name : SoundHandler
    Input #2, mov,mp4,m4a,3gp,3g2,mj2, from 'D:\Records\2013-10-11_115453\PublishingDirectory\Temporary2.mp4':
    Metadata:
    major_brand : isom
    minor_version : 512
    compatible_brands: isomiso2avc1mp41
    title : Wildlife in HD
    encoder : Lavf54.22.100
    comment : Footage: Small World Productions, Inc; Tourism New Zealand | Producer: Gary F. Spradling | Music: Steve Ball
    copyright : ┬® 2008 Microsoft Corporation
    Duration: 00:00:16.47, start: 0.000000, bitrate: 2761 kb/s
    Stream #2:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 720x576 [SAR 4:5 DAR 1:1], 2625 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
    Metadata:
    handler_name : VideoHandler
    Stream #2:1(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
    handler_name : SoundHandler
    Please use -b:a or -b:v, -b is ambiguous
    [libx264 @ 04c748e0] using SAR=4/5
    [libx264 @ 04c748e0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
    [libx264 @ 04c748e0] profile High, level 3.1
    [libx264 @ 04c748e0] 264 - core 135 r2345 f0c1c53 - H.264/MPEG-4 AVC codec - Copyleft 2003-2013 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subm
    e=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1
    interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 r
    c=abr mbtree=1 bitrate=1500 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    Output #0, mp4, to 'D:\Records\2013-10-11_115453\PublishingDirectory\EditedVideo.mp4':
    Metadata:
    major_brand : isom
    minor_version : 512
    compatible_brands: isomiso2avc1mp41
    title : Wildlife in HD
    copyright : ┬® 2008 Microsoft Corporation
    comment : Footage: Small World Productions, Inc; Tourism New Zealand | Producer: Gary F. Spradling | Music: Steve Ball
    encoder : Lavf55.16.102
    Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 720x576 [SAR 4:5 DAR 1:1], q=-1--1, 1500 kb/s, 30k tbn, 29.97 tbc
    Stream #0:1: Audio: aac (libvo_aacenc) ([64][0][0][0] / 0x0040), 44100 Hz, stereo, s16, 128 kb/s
    Stream mapping:
    Stream #0:0 (h264) -> concat:in0:v0
    Stream #0:1 (aac) -> concat:in0:a0
    Stream #1:0 (h264) -> concat:in1:v0
    Stream #1:1 (aac) -> concat:in1:a0
    Stream #2:0 (h264) -> concat:in2:v0
    Stream #2:1 (aac) -> concat:in2:a0
    concat:out:v0 -> Stream #0:0 (libx264)
    concat:out:a0 -> Stream #0:1 (libvo_aacenc)
    Press [q] to stop, [?] for help
    [output stream 0:1 @ 0451d3a0] 100 buffers queued in output stream 0:1, something may be wrong.
    frame= 1054 fps=101 q=-1.0 Lsize= 7676kB time=00:00:35.23 bitrate=1784.7kbits/s dup=146 drop=0
    video:7083kB audio:552kB subtitle:0 global headers:0kB muxing overhead 0.543084%
    [libx264 @ 04c748e0] frame I:10 Avg QP:18.41 size: 52713
    [libx264 @ 04c748e0] frame P:456 Avg QP:24.04 size: 11772
    [libx264 @ 04c748e0] frame B:588 Avg QP:26.20 size: 2308
    [libx264 @ 04c748e0] consecutive B-frames: 2.8% 67.9% 1.1% 28.1%
    [libx264 @ 04c748e0] mb I I16..4: 23.1% 52.7% 24.2%
    [libx264 @ 04c748e0] mb P I16..4: 0.6% 4.3% 1.0% P16..4: 35.8% 18.5% 11.9% 0.0% 0.0% skip:27.8%
    [libx264 @ 04c748e0] mb B I16..4: 0.1% 0.8% 0.2% B16..8: 34.2% 5.0% 1.3% direct: 1.3% skip:57.0% L0:37.3% L1:53.3% BI: 9.3%
    [libx264 @ 04c748e0] final ratefactor: 23.46
    [libx264 @ 04c748e0] 8x8 transform intra:67.7% inter:60.0%
    [libx264 @ 04c748e0] coded y,uvDC,uvAC intra: 67.1% 69.5% 30.5% inter: 17.0% 11.0% 0.4%
    [libx264 @ 04c748e0] i16 v,h,dc,p: 50% 20% 6% 24%
    [libx264 @ 04c748e0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 18% 16% 18% 6% 8% 10% 7% 9% 8%
    [libx264 @ 04c748e0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 16% 14% 7% 10% 12% 8% 8% 7%
    [libx264 @ 04c748e0] i8c dc,h,v,p: 53% 20% 19% 8%
    [libx264 @ 04c748e0] Weighted P-Frames: Y:0.4% UV:0.0%
    [libx264 @ 04c748e0] ref P L0: 63.9% 19.2% 11.1% 5.7% 0.0%
    [libx264 @ 04c748e0] ref B L0: 90.4% 9.0% 0.6%
    [libx264 @ 04c748e0] ref B L1: 97.8% 2.2%
    [libx264 @ 04c748e0] kb/s:1649.69

    So How can I Fix my "picture" video ?
    Will it fix the freeze problem after concatenation of videos ?
    If not How can I fix it ?

    Thanks in advance !

  • Stream OpenGL framebuffer over HTTP (via FFmpeg)

    17 juin 2016, par mOfl

    I have an OpenGL application of which rendered images need to be streamed over internet to mobile clients. Previously, it sufficed to simply record the rendering into a video file, which is already working, and now this should be extended to subsequent streaming.

    What is working right now :

    • Render a scene to an OpenGL framebuffer object
    • Capture the FBO content using NvIFR
    • Encode it to H.264 using NvENC (no CPU round trip required)
    • Download the encoded frame to host memory as a byte array
    • Append this frame to a video file

    None of this steps involves FFmpeg or any other library so far. I now want to replace the last step with "Stream the current frame’s byte array over internet" and I assume that using FFmpeg and FFserver would be a reasonable choice for this. Am I correct ? If not, what would be the proper way ?

    If so, how do I approach this within my C++ code ? As pointed out, the frame is already encoded. Also, there is no sound or other stuff, simply a H.264 encoded frame as byte array that is updated irregularly and should be converted into a steady video stream. I assume that this would be FFmpeg’s job and that the subsequent streaming via FFserver would be simple from there. What I don’t know is how to feed my data to FFmpeg in the first place, as all FFmpeg tutorials I found (in a non-exhaustive search) work on a file or webcam/capture device as data source, not volatile data in main memory.

    The file mentioned above that I am already able to create is a C++ file stream to which I append each single frame, meaning that different framerates of video and rendering are not treated correctly. This also needs to be taken care of at some point.

    Can somebody point me in the right direction ? Can I forward data from my application to FFmpeg to build a proper video feed without writing to the hard disk ? Tutorials are greatly appreciated. By the way FFmpeg/FFserver is not mandatory. If you have a better idea for streaming of OpenGL framebuffer contents, I’m eager to know.