Recherche avancée

Médias (91)

Autres articles (28)

  • Ajouter notes et légendes aux images

    7 février 2011, par

    Pour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
    Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
    Modification lors de l’ajout d’un média
    Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 is the first MediaSPIP stable release.
    Its official release date is June 21, 2013 and is announced here.
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • XMP PHP

    13 mai 2011, par

    Dixit Wikipedia, XMP signifie :
    Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
    Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
    XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...)

Sur d’autres sites (4057)

  • ffmpeg : Conversion to mkv with compatibility with Samsung BluRay

    23 mai 2020, par Yehor

    I have several videos (FullHD resolution) which I want to convert to mkv format and play on my Samsung BluRay Player (model BD-J5900).
Based on User Manual (http://media.datatail.com/docs/manual/252846_en.pdf , page 6) it supports mkv playing if codecs are :

    



      

    • Video : H.264 BP/MP/HP
    • 


    • Audio : MP3
    • 


    



    Thus, based on https://ffmpeg.org/ffmpeg.html the command to convert it into proper format is :

    



    ffmpeg -i input.avi -f matroska -vcodec libx264 -acodec mp3 output.mkv


    



    It converts, but file is not playable on player. It say "Video format is not supported".

    



    After checking info here : https://trac.ffmpeg.org/wiki/Encode/H.264 - I thought it may require some compatibility and change the command to :

    



    ffmpeg -i input.avi -f matroska -vcodec libx264 -profile:v baseline -level 3.0 -acodec mp3 output.mkv


    



    But it also didn't help - player demonstrates the same error.

    



    How to fix that ?
Thanks !

    



    Updated : 
Also tested following options

    



     ffmpeg -i input.file -f matroska -vcodec libx264 -preset veryslow -x264-params bluray_compat=1 -acodec mp3 output.mkv
 ffmpeg -i input.file -f matroska -vcodec libx264 -preset veryslow -profile:v high -level 4.2 -x264-params bluray_compat=1 -acodec mp3 output.mkv
 ffmpeg -i input.file -f matroska -vcodec libx264 -preset veryslow -profile:v baseline -level 3.0 -x264-params bluray_compat=1 -acodec mp3 output.mkv
 ffmpeg -i input.file -vcodec libx264 -vf format=yuv420p -preset veryslow -acodec mp3 output.mkv


    



    Also not supported.

    



    Updated :
Console output for command without profile flag :

    



    ffmpeg version 4.0 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7.3.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth
  libavutil      56. 14.100 / 56. 14.100
  libavcodec     58. 18.100 / 58. 18.100
  libavformat    58. 12.100 / 58. 12.100
  libavdevice    58.  3.100 / 58.  3.100
  libavfilter     7. 16.100 /  7. 16.100
  libswscale      5.  1.100 /  5.  1.100
  libswresample   3.  1.100 /  3.  1.100
  libpostproc    55.  1.100 / 55.  1.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000019abc2aa4c0] sample aspect ratio already set to 1:1, ignoring 'pasp' atom (65536:65536)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\Users\Yehor\Desktop\video_conversion\input\VID_20180620_165336103.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2018-06-20T22:55:12.000000Z
    com.android.version: 7.0
  Duration: 00:01:34.19, start: 0.000000, bitrate: 17178 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, smpte170m), 1920x1080, 17016 kb/s, SAR 1:1 DAR 16:9, 29.97 fps, 30 tbr, 90k tbn, 180k tbc (default)
    Metadata:
      rotate          : 90
      creation_time   : 2018-06-20T22:55:12.000000Z
      handler_name    : VideoHandle
    Side data:
      displaymatrix: rotation of -90.00 degrees
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      creation_time   : 2018-06-20T22:55:12.000000Z
      handler_name    : SoundHandle
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (aac (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
[libx264 @ 0000019abc348e00] using SAR=1/1time=-577014:32:22.77 bitrate=  -0.0kbits/s speed=N/A
[libx264 @ 0000019abc348e00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0000019abc348e00] profile High, level 4.0
[libx264 @ 0000019abc348e00] 264 - core 155 r2901 7d0ff22 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=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 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, matroska, to 'C:\Users\Yehor\Desktop\video_conversion\output\VID_20180620_165336103.mkv':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    com.android.version: 7.0
    encoder         : Lavf58.12.100
    Stream #0:0(eng): Video: h264 (libx264) (H264 / 0x34363248), yuvj420p(pc), 1080x1920 [SAR 1:1 DAR 9:16], q=-1--1, 30 fps, 1k tbn, 30 tbc (default)
    Metadata:
      encoder         : Lavc58.18.100 libx264
      creation_time   : 2018-06-20T22:55:12.000000Z
      handler_name    : VideoHandle
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
      displaymatrix: rotation of -0.00 degrees
    Stream #0:1(eng): Audio: mp3 (libmp3lame) (U[0][0][0] / 0x0055), 48000 Hz, stereo, fltp (default)
    Metadata:
      creation_time   : 2018-06-20T22:55:12.000000Z
      handler_name    : SoundHandle
      encoder         : Lavc58.18.100 libmp3lame
frame= 2823 fps= 15 q=-1.0 Lsize=   80210kB time=00:01:34.10 bitrate=6982.7kbits/s speed=0.492x
video:78692kB audio:1469kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.061441%
[libx264 @ 0000019abc348e00] frame I:14    Avg QP:21.43  size:187644
[libx264 @ 0000019abc348e00] frame P:728   Avg QP:23.93  size: 68336
[libx264 @ 0000019abc348e00] frame B:2081  Avg QP:27.79  size: 13553
[libx264 @ 0000019abc348e00] consecutive B-frames:  1.3%  0.6%  2.0% 96.1%
[libx264 @ 0000019abc348e00] mb I  I16..4:  5.7% 71.5% 22.7%
[libx264 @ 0000019abc348e00] mb P  I16..4:  2.0%  8.8%  0.9%  P16..4: 46.2% 20.0% 12.2%  0.0%  0.0%    skip:10.1%
[libx264 @ 0000019abc348e00] mb B  I16..4:  0.2%  0.9%  0.1%  B16..8: 45.3%  4.9%  1.0%  direct: 2.8%  skip:44.9%  L0:45.7% L1:47.3% BI: 7.0%
[libx264 @ 0000019abc348e00] 8x8 transform intra:75.1% inter:69.7%
[libx264 @ 0000019abc348e00] coded y,uvDC,uvAC intra: 56.8% 70.0% 15.9% inter: 18.3% 19.2% 2.4%
[libx264 @ 0000019abc348e00] i16 v,h,dc,p: 18% 33% 15% 34%
[libx264 @ 0000019abc348e00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 17% 20% 24%  5%  8%  8%  8%  5%  5%
[libx264 @ 0000019abc348e00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 19% 13%  6%  9%  9%  9%  7%  5%
[libx264 @ 0000019abc348e00] i8c dc,h,v,p: 53% 23% 17%  7%
[libx264 @ 0000019abc348e00] Weighted P-Frames: Y:15.7% UV:2.6%
[libx264 @ 0000019abc348e00] ref P L0: 49.7% 11.2% 25.9% 11.3%  1.9%
[libx264 @ 0000019abc348e00] ref B L0: 88.2%  9.2%  2.6%
[libx264 @ 0000019abc348e00] ref B L1: 96.2%  3.8%
[libx264 @ 0000019abc348e00] kb/s:6843.33


    



    Console output for command with profile flag :

    



    ffmpeg version 4.0 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7.3.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth
  libavutil      56. 14.100 / 56. 14.100
  libavcodec     58. 18.100 / 58. 18.100
  libavformat    58. 12.100 / 58. 12.100
  libavdevice    58.  3.100 / 58.  3.100
  libavfilter     7. 16.100 /  7. 16.100
  libswscale      5.  1.100 /  5.  1.100
  libswresample   3.  1.100 /  3.  1.100
  libpostproc    55.  1.100 / 55.  1.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000018124b5b080] sample aspect ratio already set to 1:1, ignoring 'pasp' atom (65536:65536)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\Users\Yehor\Desktop\video_conversion\input\VID_20180620_165336103.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    creation_time   : 2018-06-20T22:55:12.000000Z
    com.android.version: 7.0
  Duration: 00:01:34.19, start: 0.000000, bitrate: 17178 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, smpte170m), 1920x1080, 17016 kb/s, SAR 1:1 DAR 16:9, 29.97 fps, 30 tbr, 90k tbn, 180k tbc (default)
    Metadata:
      rotate          : 90
      creation_time   : 2018-06-20T22:55:12.000000Z
      handler_name    : VideoHandle
    Side data:
      displaymatrix: rotation of -90.00 degrees
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      creation_time   : 2018-06-20T22:55:12.000000Z
      handler_name    : SoundHandle
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (aac (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
[libx264 @ 0000018124bf9100] using SAR=1/1time=-577014:32:22.77 bitrate=  -0.0kbits/s speed=N/A
[libx264 @ 0000018124bf9100] frame MB size (68x120) > level limit (1620)
[libx264 @ 0000018124bf9100] DPB size (1 frames, 8160 mbs) > level limit (0 frames, 8100 mbs)
[libx264 @ 0000018124bf9100] MB rate (244800) > level limit (40500)
[libx264 @ 0000018124bf9100] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0000018124bf9100] profile Constrained Baseline, level 3.0
[libx264 @ 0000018124bf9100] 264 - core 155 r2901 7d0ff22 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=1:0:0 analyse=0x1:0x131 me=umh subme=10 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=24 chroma_me=1 trellis=2 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=60 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, matroska, to 'C:\Users\Yehor\Desktop\video_conversion\output\VID_20180620_165336103.mkv':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: isommp42
    com.android.version: 7.0
    encoder         : Lavf58.12.100
    Stream #0:0(eng): Video: h264 (libx264) (H264 / 0x34363248), yuvj420p(pc), 1080x1920 [SAR 1:1 DAR 9:16], q=-1--1, 30 fps, 1k tbn, 30 tbc (default)
    Metadata:
      encoder         : Lavc58.18.100 libx264
      creation_time   : 2018-06-20T22:55:12.000000Z
      handler_name    : VideoHandle
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
      displaymatrix: rotation of -0.00 degrees
    Stream #0:1(eng): Audio: mp3 (libmp3lame) (U[0][0][0] / 0x0055), 48000 Hz, stereo, fltp (default)
    Metadata:
      creation_time   : 2018-06-20T22:55:12.000000Z
      handler_name    : SoundHandle
      encoder         : Lavc58.18.100 libmp3lame
frame= 2823 fps= 11 q=-1.0 Lsize=  106243kB time=00:01:34.16 bitrate=9242.5kbits/s speed=0.358x
video:104723kB audio:1469kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.047877%
[libx264 @ 0000018124bf9100] frame I:14    Avg QP:24.31  size:181656
[libx264 @ 0000018124bf9100] frame P:2809  Avg QP:27.29  size: 37271
[libx264 @ 0000018124bf9100] mb I  I16..4: 24.0%  0.0% 76.0%
[libx264 @ 0000018124bf9100] mb P  I16..4:  2.7%  0.0%  2.0%  P16..4: 45.5% 15.6%  4.7%  0.4%  0.1%    skip:28.9%
[libx264 @ 0000018124bf9100] coded y,uvDC,uvAC intra: 40.3% 61.3% 13.8% inter: 21.0% 20.2% 3.7%
[libx264 @ 0000018124bf9100] i16 v,h,dc,p: 22% 30% 23% 26%
[libx264 @ 0000018124bf9100] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 13% 15% 12%  9% 12% 12% 12%  9%  7%
[libx264 @ 0000018124bf9100] i8c dc,h,v,p: 52% 22% 18%  8%
[libx264 @ 0000018124bf9100] kb/s:9107.11


    


  • How to correctly setup Linker in Eclipse IDE 4.8.0M4 for ffmpeg development (Ubuntu)

    28 janvier 2018, par boergi

    I am using Eclipse IDE 4.8.0M4 on Ubunto 16.04. I try to compile the code from a FFmpeg tutorial on GitHUB : (https://github.com/leandromoreira/ffmpeg-libav-tutorial/blob/master/0_hello_world.c). For setting up FFmpeg in Eclipse i used this guide :(https://trac.ffmpeg.org/wiki/Setup_Eclipse_IDE_for_FFmpeg_(Linux)).

    The header files and libaries are all in the folder /home/git/ffmpeg. (e.g. avcodec.h and libavcodec.a is in the folder /home/git/ffmpeg/libavcodec). Included libs : -lavcodec -lpostproc -lz -llzma -lrt -lavfilter -lswresample -lavdevice -lswscale -lavutil -lavformat

    Console output :

    12:34:30 **** Incremental Build of configuration Debug for project ffmpeg_test ****
    make all
    Building target: ffmpeg_test
    Invoking: GCC C Linker
    gcc -L/home/git/ffmpeg/libavcodec -L/home/git/ffmpeg/libavformat -o "ffmpeg_test"  ./src/simpletest.o   -lavcodec -lpostproc -lz -llzma -lrt -lavfilter -lswresample -lavdevice -lswscale -lavutil -lavformat
    ./src/simpletest.o: In function `main':
    /home/boergi/eclipse-workspace/ffmpeg_test/Debug/../src/simpletest.c:141: undefined reference to `avcodec_parameters_to_context'
    /home/boergi/eclipse-workspace/ffmpeg_test/Debug/../src/simpletest.c:163: undefined reference to `av_packet_alloc'
    /home/boergi/eclipse-workspace/ffmpeg_test/Debug/../src/simpletest.c:194: undefined reference to `av_packet_free'
    ./src/simpletest.o: In function `decode_packet':
    /home/boergi/eclipse-workspace/ffmpeg_test/Debug/../src/simpletest.c:214: undefined reference to `avcodec_send_packet'
    /home/boergi/eclipse-workspace/ffmpeg_test/Debug/../src/simpletest.c:225: undefined reference to `avcodec_receive_frame'
    collect2: error: ld returned 1 exit status
    makefile:30: recipe for target 'ffmpeg_test' failed
    make: *** [ffmpeg_test] Error 1

    12:34:31 Build Finished (took 519ms)

    I found out that "int avcodec_parameters_to_context(AVCodecContext *codec, const AVCodecParameters *par)" is defined in utils.c (also in the /libavcodec folder), but i don’t know what can i do to get this running.

    boergi@Ubuntu-b:~/git/ffmpeg$ ffmpeg -version
    ffmpeg version N-89895-g7723750 Copyright (c) 2000-2018 the FFmpeg developers
    built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.5) 20160609
    configuration:
    libavutil      56.  7.100 / 56.  7.100
    libavcodec     58.  9.100 / 58.  9.100
    libavformat    58.  5.101 / 58.  5.101
    libavdevice    58.  0.101 / 58.  0.101
    libavfilter     7. 11.101 /  7. 11.101
    libswscale      5.  0.101 /  5.  0.101
    libswresample   3.  0.101 /  3.  0.101
  • Writing only video (no audio) file using ffmpeg. av_write_header fails

    19 janvier 2018, par Kamal

    I have RTP packets with VP8 encoded data. I want to write it to a mkv file or webm file. I tried a bit, but I have not been successful yet. My code is as below

    #include
    #include
    #include
    #include
    #include

    #include <libavutil></libavutil>avassert.h>
    #include <libavutil></libavutil>channel_layout.h>
    #include <libavutil></libavutil>opt.h>
    #include <libavutil></libavutil>mathematics.h>
    #include <libavutil></libavutil>timestamp.h>
    #include <libavformat></libavformat>avformat.h>
    #include <libswscale></libswscale>swscale.h>
    #include <libswresample></libswresample>swresample.h>

    bool mfmedia_init_ffmpeg();
    void mfmedia_ffprint(void *handle, int cnt, const char *format, va_list valist);

    int main()
    {
       mfmedia_init_ffmpeg();
       return 0;
    }

    bool mfmedia_init_ffmpeg()
    {
       bool ret = false;

       AVCodecContext* context;
       AVCodec* codec;
       AVFormatContext* format;
       AVStream* stream;

       unsigned fps = 24;
       unsigned width = 768;
       unsigned height = 608;

       av_register_all();

       int err = 0;
       char errorLog[128] = { 0 };

       av_log_set_level(AV_LOG_TRACE);
       av_log_set_callback(mfmedia_ffprint);

       err = avformat_alloc_output_context2(&amp;format, NULL, NULL, "o.webm");
       if (err &lt; 0)
       {
           printf("Cannot allocate output context: %s\n", av_make_error_string(errorLog, 128, err));
           goto last;
       }

       codec = avcodec_find_encoder(AV_CODEC_ID_VP8);
       if (!codec)
       {
           printf("Cannot find an encoder\n");
           goto last;
       }

       context = avcodec_alloc_context3(codec);
       if (!context)
       {
           printf("Cannot allocate a codec context\n");
           goto last;
       }

       context->pix_fmt = AV_PIX_FMT_YUV420P;
       context->width = width;
       context->height = height;
       context->time_base = (AVRational){1, fps};

       err = avcodec_open2(context, codec, NULL);
       if(err &lt; 0)
       {
           printf("Cannot open codec: %s\n", av_make_error_string(errorLog, 128, err));
           goto last;
       }

       stream = avformat_new_stream(format, codec);
       if (!stream)
       {
           printf("Cannot create a new stream\n");
           goto last;
       }

       //av_dump_format(format, 0, "o.webm", 1);

       err = avio_open(&amp;format->pb, "o.webm", AVIO_FLAG_WRITE);
       if(err &lt; 0)
       {
           printf("Cannot open output: %s\n", av_make_error_string(errorLog, 128, err));
           goto last;
       }

       err = avformat_write_header(format, NULL);
       if(err &lt; 0)
       {
           printf("Cannot write header to stream: %s\n", av_make_error_string(errorLog, 128, err));
           goto last;
       }
       ret = true;

    last:
       return ret;
    }

    void mfmedia_ffprint(void *handle, int cnt, const char *format, va_list valist)
    {
       char *log_buf = (char *)malloc(38192);
       int length;

       if(log_buf)
       {
           time_t rawtime;
           time ( &amp;rawtime );

           length = vsprintf(log_buf ,format, valist);
           length += sprintf((log_buf + length), " : %s ", ctime (&amp;rawtime));
           *(log_buf + length) = 0x0;

           printf("%s", log_buf);
           fflush(stdout);
           free(log_buf);
       }
    }

    It is failing when I call avformat_write_header.

    From trace log (towards end) I see

    Setting default whitelist ’file,crypto’
     : Fri Jan 19 16:58:57 2018
    Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
     : Fri Jan 19 16:58:57 2018
    dimensions not set
     : Fri Jan 19 16:58:57 2018
    Cannot write header to stream : Invalid argument

    Please let me know why avformat_write_header is failing.