Recherche avancée

Médias (0)

Mot : - Tags -/protocoles

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

Autres articles (74)

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

Sur d’autres sites (8672)

  • How to Convert a binary(.bin) file to mp3 using libav in C language ?

    28 août 2018, par danglingptr

    I have created a bin file using my_audio_decode.c. How I can get back the original mp3 file by encoding ?

    P.S. I have gone through ffmpeg code, I modified as my requirements like codec to mp3 etc., You can see my modified code below.

    #include
    #include
    #include

    #include <libavcodec></libavcodec>avcodec.h>
    #include <libavformat></libavformat>avformat.h>

    #include <libavutil></libavutil>channel_layout.h>
    #include <libavutil></libavutil>common.h>
    #include <libavutil></libavutil>frame.h>
    #include <libavutil></libavutil>samplefmt.h>

    /* check that a given sample format is supported by the encoder */
    static int check_sample_fmt(const AVCodec *codec, enum AVSampleFormat sample_fmt)
    {
       const enum AVSampleFormat *p = codec->sample_fmts;

       while (*p != AV_SAMPLE_FMT_NONE) {
           if (*p == sample_fmt)
               return 1;
           p++;
       }
       return 0;
    }

    /* just pick the highest supported samplerate */
    static int select_sample_rate(const AVCodec *codec)
    {
       const int *p;
       int best_samplerate = 0;

       if (!codec->supported_samplerates)
           return 44100;

       p = codec->supported_samplerates;
       while (*p) {
           if (!best_samplerate || abs(44100 - *p) &lt; abs(44100 - best_samplerate))
               best_samplerate = *p;
           p++;
       }
       return best_samplerate;
    }

    /* select layout with the highest channel count */
    static int select_channel_layout(const AVCodec *codec)
    {
       const uint64_t *p;
       uint64_t best_ch_layout = 0;
       int best_nb_channels   = 0;

       if (!codec->channel_layouts)
           return AV_CH_LAYOUT_STEREO;

       p = codec->channel_layouts;
       while (*p) {
           int nb_channels = av_get_channel_layout_nb_channels(*p);

           if (nb_channels > best_nb_channels) {
               best_ch_layout    = *p;
               best_nb_channels = nb_channels;
           }
           p++;
       }
       return best_ch_layout;
    }

    static void encode(AVCodecContext *ctx, AVFrame *frame, AVPacket *pkt,
                      FILE *output)
    {
       int ret;

      /* send the frame for encoding */
      ret = avcodec_send_frame(ctx, frame);
      if (ret &lt; 0) {
          fprintf(stderr, "Error sending the frame to the encoder\n");
          exit(1);
      }

      /* read all the available output packets (in general there may be any
       * number of them */
      while (ret >= 0) {
          ret = avcodec_receive_packet(ctx, pkt);
          if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF)
              return;
          else if (ret &lt; 0) {
              fprintf(stderr, "Error encoding audio frame\n");
              exit(1);
          }

          fwrite(pkt->data, 1, pkt->size, output);
          av_packet_unref(pkt);
      }
    }

    int main(int argc, char **argv)
    {
      const char *filename;
      const AVCodec *codec;
      AVCodecContext *c= NULL;
      AVFrame *frame;
      AVPacket *pkt;
      int i, j, k, ret;
      FILE *f;
      uint16_t *samples;
      float t, tincr;

      av_register_all();
      avcodec_register_all();

      if (argc &lt;= 1) {
          fprintf(stderr, "Usage: %s <output file="file">\n", argv[0]);
          return 0;
      }
      filename = argv[1];

      /* find the MP2 encoder */
      codec = avcodec_find_encoder(AV_CODEC_ID_MP3);
      if (!codec) {
          fprintf(stderr, "Codec not found\n");
          exit(1);
      }

      c = avcodec_alloc_context3(codec);
      if (!c) {
          fprintf(stderr, "Could not allocate audio codec context\n");
          exit(1);
      }

      /* put sample parameters */
      c->bit_rate = 64000;

      /* check that the encoder supports s16 pcm input */
      c->sample_fmt = AV_SAMPLE_FMT_S16P;
      if (!check_sample_fmt(codec, c->sample_fmt)) {
          fprintf(stderr, "Encoder does not support sample format %s",
                  av_get_sample_fmt_name(c->sample_fmt));
          exit(1);
      }

      /* select other audio parameters supported by the encoder */
      c->sample_rate    = select_sample_rate(codec);
      c->channel_layout = select_channel_layout(codec);
      c->channels       = av_get_channel_layout_nb_channels(c->channel_layout);

      /* open it */
      if (avcodec_open2(c, codec, NULL) &lt; 0) {
          fprintf(stderr, "Could not open codec\n");
          exit(1);
      }

      f = fopen(filename, "wb");
      if (!f) {
          fprintf(stderr, "Could not open %s\n", filename);
          exit(1);
      }

      /* packet for holding encoded output */
      pkt = av_packet_alloc();
      if (!pkt) {
          fprintf(stderr, "could not allocate the packet\n");
          exit(1);
      }

      /* frame containing input raw audio */
      frame = av_frame_alloc();
      if (!frame) {
          fprintf(stderr, "Could not allocate audio frame\n");
          exit(1);
      }

      frame->nb_samples     = c->frame_size;
      frame->format         = c->sample_fmt;
      frame->channel_layout = c->channel_layout;

      /* allocate the data buffers */
      ret = av_frame_get_buffer(frame, 0);
      if (ret &lt; 0) {
          fprintf(stderr, "Could not allocate audio data buffers\n");
          exit(1);
      }

      /* encode a single tone sound */
      t = 0;
      tincr = 2 * M_PI * 440.0 / c->sample_rate;
      for (i = 0; i &lt; 200; i++) {
          /* make sure the frame is writable -- makes a copy if the encoder
           * kept a reference internally */
          ret = av_frame_make_writable(frame);
          if (ret &lt; 0)
              exit(1);
          samples = (uint16_t*)frame->data[0];

          for (j = 0; j &lt; c->frame_size; j++) {
              samples[2*j] = (int)(sin(t) * 10000);

              for (k = 1; k &lt; c->channels; k++)
                  samples[2*j + k] = samples[2*j];
              t += tincr;
          }
          encode(c, frame, pkt, f);
      }

      /* flush the encoder */
      encode(c, NULL, pkt, f);

      fclose(f);

      av_frame_free(&amp;frame);
      av_packet_free(&amp;pkt);
      avcodec_free_context(&amp;c);

      return 0;
    }
    </output>

    But the code is confusing and it is taking only one input as argument, I need a clear working example c code like it has to take 2 args, like input file and output file.

  • How to save h264 frames as jpeg images using ffmpeg ?

    17 août 2020, par Matthew Czarnek

    I would like to save thumbnails from a h264 stream that I'm turning into ffmpeg avpackets as jpegs.

    &#xA;

    I'm started with a h264 AVPacket (iframe) and decode it into an AVFrame using avcodec_send_packet/avcodec_receive_frame. Now trying to go from AVFrame and convert into AVPacket using avcodec_send_frame/avcodec_receive_packet

    &#xA;

    I can convert to png instead jpg, though I do get a the video looking like it's outputting three separate frames squeezed side by side into one. Wondering if it's one frame is R, next G, and finally B. I'm not sure, clearly I'm doing something wrong there. I figured it's possible it's the png encoder and I don't need it, so let's get jpg working first. But jpg is outputting unopenable files.

    &#xA;

    Any advice ?

    &#xA;

    Here is my code :

    &#xA;

    int output_thumbnails(AVPacket* video_packet)&#xA;{&#xA;    char png_file_name[max_chars_per_filename];&#xA;    char thumbnail_id_char[10];&#xA;    _itoa_s(thumbnail_id, thumbnail_id_char, 10);&#xA;    strcpy_s(png_file_name, max_chars_per_filename, time_stamped_filepath);&#xA;    strcat_s(png_file_name, max_chars_per_filename, time_stamped_filename);&#xA;    strcat_s(png_file_name, max_chars_per_filename, thumbnail_id_char);&#xA;    strcat_s(png_file_name, max_chars_per_filename, ".jpg");&#xA;    thumbnail_id&#x2B;&#x2B;;&#xA;&#xA;    int error_code = send_AVPacket_to_videocard(video_packet, av_codec_context_RTSP);&#xA;&#xA;    //if (error_code == AVERROR_EOF)&#xA;    //{&#xA;    //  //  error_code = videocard_to_PNG(png_file_name, av_codec_context_RTSP, av_codec_RTSP);&#xA;    //}&#xA;    if (error_code == AVERROR(EAGAIN)) //send packets to videocard until function returns EAGAIN&#xA;    {&#xA;        error_code = videocard_to_PNG(png_file_name, av_codec_context_RTSP);&#xA;&#xA;        //EAGAIN means that the video card buffer is ready to have the png pulled off of it&#xA;        if (error_code == AVERROR_EOF)&#xA;        {&#xA;            //  error_code = videocard_to_PNG(png_file_name, av_codec_context_RTSP, av_codec_RTSP);&#xA;        }&#xA;        else if (error_code == AVERROR(EAGAIN))&#xA;        {&#xA;&#xA;        }&#xA;        else&#xA;        {&#xA;            deal_with_av_errors(error_code, __LINE__, __FILE__);&#xA;        }&#xA;    }&#xA;    else&#xA;    {&#xA;        deal_with_av_errors(error_code, __LINE__, __FILE__);&#xA;    }&#xA;    &#xA;    return 0;&#xA;}&#xA;

    &#xA;

    VideoThumbnailGenerator.h :&#xA;#include "VideoThumbnailGenerator.h"

    &#xA;

    bool decoder_context_created = false;&#xA;bool encoder_context_created = false;&#xA;&#xA;AVCodecContext* h264_decoder_codec_ctx;&#xA;AVCodecContext* thumbnail_encoder_codec_ctx;&#xA;&#xA;int send_AVPacket_to_videocard(AVPacket* packet, AVCodecContext* codec_ctx)&#xA;{&#xA;    if(!decoder_context_created)&#xA;    {&#xA;        AVCodec* h264_codec = avcodec_find_decoder(codec_ctx->codec_id);&#xA;        h264_decoder_codec_ctx = avcodec_alloc_context3(h264_codec);&#xA;&#xA;        h264_decoder_codec_ctx->width = codec_ctx->width;&#xA;        h264_decoder_codec_ctx->height = codec_ctx->height;&#xA;        h264_decoder_codec_ctx->pix_fmt = AV_PIX_FMT_RGB24;&#xA;        h264_decoder_codec_ctx->codec_type = AVMEDIA_TYPE_VIDEO;&#xA;        h264_decoder_codec_ctx->skip_frame = AVDISCARD_NONINTRA;//AVDISCARD_NONREF;//AVDISCARD_NONINTRA;&#xA;        &#xA;        h264_decoder_codec_ctx->time_base.num = 1;&#xA;        h264_decoder_codec_ctx->time_base.den = 30;&#xA;&#xA;        h264_decoder_codec_ctx->extradata = codec_ctx->extradata;&#xA;        h264_decoder_codec_ctx->extradata_size = codec_ctx->extradata_size;&#xA;        &#xA;        int error_code = avcodec_open2(h264_decoder_codec_ctx, h264_codec, NULL);&#xA;        if (!h264_codec) {&#xA;            return -1;&#xA;        }&#xA;&#xA;        if (error_code &lt; 0)&#xA;        {&#xA;            return error_code;&#xA;        }&#xA;        decoder_context_created = true;&#xA;    }&#xA;&#xA;    &#xA;    //use hardware decoding to decode video frame&#xA;    int error_code = avcodec_send_packet(h264_decoder_codec_ctx, packet);&#xA;    if(error_code == AVERROR(EAGAIN))&#xA;    {&#xA;        return AVERROR(EAGAIN);&#xA;    }&#xA;    if(error_code&lt;0)&#xA;    {&#xA;        printf("Error: Could not send packet to video card");&#xA;        return error_code;&#xA;    }&#xA;&#xA;    return 0;&#xA;}&#xA;&#xA;int videocard_to_PNG(char *png_file_path, AVCodecContext* codec_ctx)&#xA;{&#xA;    if (!encoder_context_created)&#xA;    {&#xA;        //AVCodec* thumbnail_codec = avcodec_find_encoder(AV_CODEC_ID_PNG);&#xA;        AVCodec* thumbnail_codec = avcodec_find_encoder(AV_CODEC_ID_JPEG2000);&#xA;        thumbnail_encoder_codec_ctx = avcodec_alloc_context3(thumbnail_codec);&#xA;&#xA;        thumbnail_encoder_codec_ctx->width = 128;&#xA;        thumbnail_encoder_codec_ctx->height = (int)(((float)codec_ctx->height/(float)codec_ctx->width) * 128);&#xA;        thumbnail_encoder_codec_ctx->pix_fmt = AV_PIX_FMT_RGB24; //AV_PIX_FMT_YUVJ420P&#xA;        thumbnail_encoder_codec_ctx->codec_type = AVMEDIA_TYPE_VIDEO;&#xA;&#xA;        thumbnail_encoder_codec_ctx->time_base.num = 1;&#xA;        thumbnail_encoder_codec_ctx->time_base.den = 30;&#xA;&#xA;        bool thread_check = thumbnail_encoder_codec_ctx->thread_type &amp; FF_THREAD_FRAME;&#xA;        bool frame_threads_check = thumbnail_encoder_codec_ctx->codec->capabilities &amp; AV_CODEC_CAP_FRAME_THREADS;&#xA;        &#xA;        int error_code = avcodec_open2(thumbnail_encoder_codec_ctx, thumbnail_codec, NULL);&#xA;        if (!thumbnail_codec) {&#xA;            return -1;&#xA;        }&#xA;&#xA;        if (error_code &lt; 0)&#xA;        {&#xA;            return error_code;&#xA;        }&#xA;        encoder_context_created = true;&#xA;    }&#xA;    &#xA;    AVFrame* thumbnail_frame = av_frame_alloc();&#xA;    AVPacket* thumbnail_packet = av_packet_alloc();&#xA;    //av_init_packet(png_packet);&#xA;    int error_code = avcodec_receive_frame(h264_decoder_codec_ctx, thumbnail_frame);&#xA;&#xA;    //check for errors everytime&#xA;    //note EAGAIN errors won&#x27;t get here since they won&#x27;t get past while&#xA;    if (error_code &lt; 0 &amp;&amp; error_code != AVERROR(EAGAIN))&#xA;    {&#xA;        printf("Error: Could not get frame from video card");&#xA;        return error_code;&#xA;    }&#xA;    //empty buffer if there are any more frames to pull (there shouldn&#x27;t be)&#xA;    //while(error_code != AVERROR(EAGAIN))&#xA;    //{&#xA;    //  //check for errors everytime&#xA;    //  //note EAGAIN errors won&#x27;t get here since they won&#x27;t get past while&#xA;    //  if (error_code &lt; 0)&#xA;    //  {&#xA;    //      printf("Error: Could not get frame from video card");&#xA;    //      return error_code;&#xA;    //  }&#xA;    //  &#xA;    //  error_code = avcodec_receive_frame(h264_decoder_codec_ctx, png_frame);&#xA;    //}&#xA;&#xA;    //now we convert back to AVPacket, this time one holding PNG info, so we can store to file&#xA;    error_code = avcodec_send_frame(thumbnail_encoder_codec_ctx, thumbnail_frame);&#xA;&#xA;    if (error_code >= 0) {&#xA;        error_code = avcodec_receive_packet(thumbnail_encoder_codec_ctx, thumbnail_packet);&#xA;&#xA;        FILE* out_PNG;&#xA;&#xA;        errno_t err = fopen_s(&amp;out_PNG, png_file_path, "wb");&#xA;        if (err == 0) {&#xA;            fwrite(thumbnail_packet->data, thumbnail_packet->size, 1, out_PNG);&#xA;        }&#xA;        fclose(out_PNG);&#xA;&#xA;    }&#xA;    return error_code;&#xA;}&#xA;

    &#xA;

  • Use ffmpeg to extract picture from m4v file

    31 octobre 2017, par Brian

    I used a program called MetaZ on my mac to tag all my video files (m4v). I am now trying to use these m4v files in Kodi which requires .nfo files and separate picture files for movie posters, etc. I want to extract the picture that is already in the m4v file.

    When I use ffprobe -show_streams, I can see that index4 is a png file (codec_name=png). How do I extract it ? I believe ffmpeg can do it, but can’t figure out how.

    Here is the output from ffprobe :

    Brians-Mac-mini:PythonScript brianjhille$ ffprobe -show_streams badwords.m4v
    ffprobe version N-88046-g0cb8369-tessus Copyright (c) 2007-2017 the FFmpeg developers
     built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
     configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay
     libavutil      56.  0.100 / 56.  0.100
     libavcodec     58.  0.100 / 58.  0.100
     libavformat    58.  0.100 / 58.  0.100
     libavdevice    58.  0.100 / 58.  0.100
     libavfilter     7.  0.100 /  7.  0.100
     libswscale      5.  0.100 /  5.  0.100
     libswresample   3.  0.100 /  3.  0.100
     libpostproc    55.  0.100 / 55.  0.100
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fd67b002a00] stream 0, timescale not set
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'badwords.m4v':
     Metadata:
       major_brand     : mp42
       minor_version   : 0
       compatible_brands: mp42isomavc1
       creation_time   : 2014-10-20T13:01:06.000000Z
       iTunEXTC        : mpaa|R|400|
       title           : Bad Words
       artist          : Jason Bateman, Kathryn Hahn, Allison Janney, Philip Baker Hall, Rohan Chand, Ben Falcone, Patricia Belcher, Beth Grant, Rachel Harris, Steve Witting, Greg Cromer
       date            : 2013-09-06T11:00:00Z
       track           : 0
       disc            : 0
       season_number   : 0
       episode_sort    : 0
       description     : A spelling bee loser sets out to exact revenge by finding a loophole and attempting to win as an adult.
       synopsis        : A spelling bee loser sets out to exact revenge by finding a loophole and attempting to win as an adult.
       encoder         : HandBrake 0.9.9 2013052900
       hd_video        : 0
       media_type      : 9
       genre           : Comedy
       iTunMOVI        : &lt;?xml version="1.0" encoding="UTF-8"?>
                       :
                       : <plist version="1.0">
                       : <dict>
                       :   <key>cast</key>
                       :   <array>
                       :       <dict>
                       :           <key>name</key>
                       :           <string>Jason Bateman</string>
                       :       </dict>
                       :       <dict>
                       :           <key>name</key>
                       :           <string>Kathryn Hahn</string>
                       :       </dict>
                       :       <dict>
                       :           <key>name</key>
                       :           <string>Allison Janney</string>
                       :       </dict>
                       :       <dict>
                       :           <key>name</key>
                       :           <string>Philip Baker Hall</string>
                       :       </dict>
                       :       <dict>
                       :           <key>name</key>
                       :           <string>Rohan Chand</string>
                       :       </dict>
                       :       <dict>
                       :           <key>name</key>
                       :           <string>Ben Falcone</string>
                       :       </dict>
                       :       <dict>
                       :           <key>name</key>
                       :           <string>Patricia Belcher</string>
                       :       </dict>
                       :       <dict>
                       :           <key>name</key>
                       :           <string>Beth Grant</string>
                       :       </dict>
                       :       <dict>
                       :           <key>name</key>
                       :           <string>Rachel Harris</string>
                       :       </dict>
                       :       <dict>
                       :           <key>name</key>
                       :           <string>Steve Witting</string>
                       :       </dict>
                       :       <dict>
                       :           <key>name</key>
                       :           <string>Greg Cromer</string>
                       :       </dict>
                       :   </array>
                       : </dict>
                       : </plist>
                       :
     Duration: 01:29:02.84, start: 0.000000, bitrate: 1339 kb/s
       Chapter #0:0: start 0.000000, end 348.214000
       Metadata:
         title           : Chapter 1
       Chapter #0:1: start 348.214000, end 676.542000
       Metadata:
         title           : Chapter 2
       Chapter #0:2: start 676.542000, end 860.058000
       Metadata:
         title           : Chapter 3
       Chapter #0:3: start 860.058000, end 1171.836000
       Metadata:
         title           : Chapter 4
       Chapter #0:4: start 1171.836000, end 1441.839000
       Metadata:
         title           : Chapter 5
       Chapter #0:5: start 1441.839000, end 1632.129000
       Metadata:
         title           : Chapter 6
       Chapter #0:6: start 1632.129000, end 1925.422000
       Metadata:
         title           : Chapter 7
       Chapter #0:7: start 1925.422000, end 2167.030000
       Metadata:
         title           : Chapter 8
       Chapter #0:8: start 2167.030000, end 2409.605000
       Metadata:
         title           : Chapter 9
       Chapter #0:9: start 2409.605000, end 2748.276000
       Metadata:
         title           : Chapter 10
       Chapter #0:10: start 2748.276000, end 2917.945000
       Metadata:
         title           : Chapter 11
       Chapter #0:11: start 2917.945000, end 3309.502000
       Metadata:
         title           : Chapter 12
       Chapter #0:12: start 3309.502000, end 3634.660000
       Metadata:
         title           : Chapter 13
       Chapter #0:13: start 3634.660000, end 3942.434000
       Metadata:
         title           : Chapter 14
       Chapter #0:14: start 3942.434000, end 4101.626000
       Metadata:
         title           : Chapter 15
       Chapter #0:15: start 4101.626000, end 4336.193000
       Metadata:
         title           : Chapter 16
       Chapter #0:16: start 4336.193000, end 4620.643000
       Metadata:
         title           : Chapter 17
       Chapter #0:17: start 4620.643000, end 4873.729000
       Metadata:
         title           : Chapter 18
       Chapter #0:18: start 4873.729000, end 5153.341000
       Metadata:
         title           : Chapter 19
       Chapter #0:19: start 5153.341000, end 5342.796000
       Metadata:
         title           : Chapter 20
       Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt709), 720x356 [SAR 32:27 DAR 640:267], 716 kb/s, 23.98 fps, 59.94 tbr, 90k tbn, 180k tbc (default)
       Metadata:
         creation_time   : 2014-10-20T13:01:06.000000Z
         encoder         : JVT/AVC Coding
       Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 159 kb/s (default)
       Metadata:
         creation_time   : 2014-10-20T13:01:06.000000Z
       Stream #0:2(eng): Audio: ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), fltp, 448 kb/s
       Metadata:
         creation_time   : 2014-10-20T13:01:06.000000Z
       Side data:
         audio service type: main
       Stream #0:3(und): Data: bin_data (text / 0x74786574)
       Metadata:
         creation_time   : 2014-10-21T13:42:00.000000Z
       Stream #0:4: Video: png, rgb24(pc), 1400x2100, 90k tbr, 90k tbn, 90k tbc
    Unsupported codec with id 100359 for input stream 3
    [STREAM]
    index=0
    codec_name=h264
    codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
    profile=Constrained Baseline
    codec_type=video
    codec_time_base=40071281/1921695000
    codec_tag_string=avc1
    codec_tag=0x31637661
    width=720
    height=356
    coded_width=720
    coded_height=356
    has_b_frames=0
    sample_aspect_ratio=32:27
    display_aspect_ratio=640:267
    pix_fmt=yuv420p
    level=30
    color_range=tv
    color_space=smpte170m
    color_transfer=bt709
    color_primaries=smpte170m
    chroma_location=left
    field_order=unknown
    timecode=N/A
    refs=1
    is_avc=true
    nal_length_size=4
    id=N/A
    r_frame_rate=60000/1001
    avg_frame_rate=960847500/40071281
    time_base=1/90000
    start_pts=0
    start_time=0.000000
    duration_ts=480855372
    duration=5342.837467
    bit_rate=716167
    max_bit_rate=N/A
    bits_per_raw_sample=8
    nb_frames=128113
    nb_read_frames=N/A
    nb_read_packets=N/A
    DISPOSITION:default=1
    DISPOSITION:dub=0
    DISPOSITION:original=0
    DISPOSITION:comment=0
    DISPOSITION:lyrics=0
    DISPOSITION:karaoke=0
    DISPOSITION:forced=0
    DISPOSITION:hearing_impaired=0
    DISPOSITION:visual_impaired=0
    DISPOSITION:clean_effects=0
    DISPOSITION:attached_pic=0
    DISPOSITION:timed_thumbnails=0
    TAG:creation_time=2014-10-20T13:01:06.000000Z
    TAG:language=und
    TAG:encoder=JVT/AVC Coding
    [/STREAM]
    [STREAM]
    index=1
    codec_name=aac
    codec_long_name=AAC (Advanced Audio Coding)
    profile=LC
    codec_type=audio
    codec_time_base=1/48000
    codec_tag_string=mp4a
    codec_tag=0x6134706d
    sample_fmt=fltp
    sample_rate=48000
    channels=2
    channel_layout=stereo
    bits_per_sample=0
    id=N/A
    r_frame_rate=0/0
    avg_frame_rate=0/0
    time_base=1/48000
    start_pts=0
    start_time=0.000000
    duration_ts=256454656
    duration=5342.805333
    bit_rate=159788
    max_bit_rate=321176
    bits_per_raw_sample=N/A
    nb_frames=250444
    nb_read_frames=N/A
    nb_read_packets=N/A
    DISPOSITION:default=1
    DISPOSITION:dub=0
    DISPOSITION:original=0
    DISPOSITION:comment=0
    DISPOSITION:lyrics=0
    DISPOSITION:karaoke=0
    DISPOSITION:forced=0
    DISPOSITION:hearing_impaired=0
    DISPOSITION:visual_impaired=0
    DISPOSITION:clean_effects=0
    DISPOSITION:attached_pic=0
    DISPOSITION:timed_thumbnails=0
    TAG:creation_time=2014-10-20T13:01:06.000000Z
    TAG:language=eng
    [/STREAM]
    [STREAM]
    index=2
    codec_name=ac3
    codec_long_name=ATSC A/52A (AC-3)
    profile=unknown
    codec_type=audio
    codec_time_base=1/48000
    codec_tag_string=ac-3
    codec_tag=0x332d6361
    sample_fmt=fltp
    sample_rate=48000
    channels=6
    channel_layout=5.1(side)
    bits_per_sample=0
    dmix_mode=-1
    ltrt_cmixlev=-1.000000
    ltrt_surmixlev=-1.000000
    loro_cmixlev=-1.000000
    loro_surmixlev=-1.000000
    id=N/A
    r_frame_rate=0/0
    avg_frame_rate=0/0
    time_base=1/48000
    start_pts=0
    start_time=0.000000
    duration_ts=256453632
    duration=5342.784000
    bit_rate=448000
    max_bit_rate=N/A
    bits_per_raw_sample=N/A
    nb_frames=166962
    nb_read_frames=N/A
    nb_read_packets=N/A
    DISPOSITION:default=0
    DISPOSITION:dub=0
    DISPOSITION:original=0
    DISPOSITION:comment=0
    DISPOSITION:lyrics=0
    DISPOSITION:karaoke=0
    DISPOSITION:forced=0
    DISPOSITION:hearing_impaired=0
    DISPOSITION:visual_impaired=0
    DISPOSITION:clean_effects=0
    DISPOSITION:attached_pic=0
    DISPOSITION:timed_thumbnails=0
    TAG:creation_time=2014-10-20T13:01:06.000000Z
    TAG:language=eng
    [SIDE_DATA]
    side_data_type=Audio Service Type
    [/SIDE_DATA]
    [/STREAM]
    [STREAM]
    index=3
    codec_name=bin_data
    codec_long_name=binary data
    profile=unknown
    codec_type=data
    codec_tag_string=text
    codec_tag=0x74786574
    id=N/A
    r_frame_rate=0/0
    avg_frame_rate=0/0
    time_base=1/1000
    start_pts=0
    start_time=0.000000
    duration_ts=5342837
    duration=5342.837000
    bit_rate=N/A
    max_bit_rate=N/A
    bits_per_raw_sample=N/A
    nb_frames=20
    nb_read_frames=N/A
    nb_read_packets=N/A
    DISPOSITION:default=0
    DISPOSITION:dub=0
    DISPOSITION:original=0
    DISPOSITION:comment=0
    DISPOSITION:lyrics=0
    DISPOSITION:karaoke=0
    DISPOSITION:forced=0
    DISPOSITION:hearing_impaired=0
    DISPOSITION:visual_impaired=0
    DISPOSITION:clean_effects=0
    DISPOSITION:attached_pic=0
    DISPOSITION:timed_thumbnails=0
    TAG:creation_time=2014-10-21T13:42:00.000000Z
    TAG:language=und
    [/STREAM]
    [STREAM]
    index=4
    codec_name=png
    codec_long_name=PNG (Portable Network Graphics) image
    profile=unknown
    codec_type=video
    codec_time_base=0/1
    codec_tag_string=[0][0][0][0]
    codec_tag=0x0000
    width=1400
    height=2100
    coded_width=1400
    coded_height=2100
    has_b_frames=0
    sample_aspect_ratio=0:1
    display_aspect_ratio=0:1
    pix_fmt=rgb24
    level=-99
    color_range=pc
    color_space=unknown
    color_transfer=unknown
    color_primaries=unknown
    chroma_location=unspecified
    field_order=unknown
    timecode=N/A
    refs=1
    id=N/A
    r_frame_rate=90000/1
    avg_frame_rate=0/0
    time_base=1/90000
    start_pts=0
    start_time=0.000000
    duration_ts=480855372
    duration=5342.837467
    bit_rate=N/A
    max_bit_rate=N/A
    bits_per_raw_sample=N/A
    nb_frames=N/A
    nb_read_frames=N/A
    nb_read_packets=N/A
    DISPOSITION:default=0
    DISPOSITION:dub=0
    DISPOSITION:original=0
    DISPOSITION:comment=0
    DISPOSITION:lyrics=0
    DISPOSITION:karaoke=0
    DISPOSITION:forced=0
    DISPOSITION:hearing_impaired=0
    DISPOSITION:visual_impaired=0
    DISPOSITION:clean_effects=0
    DISPOSITION:attached_pic=1
    DISPOSITION:timed_thumbnails=0
    [/STREAM]

    Thanks. Brian