Recherche avancée

Médias (1)

Mot : - Tags -/école

Autres articles (83)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

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

  • 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

Sur d’autres sites (8684)

  • ffmpeg encoding, Opus sound in the webm container does not work

    10 mars 2019, par Mockarutan

    I’m trying to encode audio and video to a webm file with VP8 and Opus encoding. It almost works. (I use FFmpeg 3.3.2)

    I can make a only video webm file and play it in VLC, FFPlay and upload it to YouTube (and all works). If I add Opus sound to the file, it still works in VLC but not in FFPlay or on youtube, on youtube the sound becomes just "ticks".

    I have the same problem if I encode only Opus audio to the webm file ; it only works in VLC. But if I encode only Opus audio to a ogg container it works everywhere, and I can even use FFmpeg to combine the ogg file with a video only webm file and produce a fully working webm file with audio and video.

    So it seems to me that only when I use my code to encode Opus into a webm container, it just wont work in most players and YouTube. I need it to work in youtube.

    Here is the code for the opus to webm only encoding (you can toggle ogg/webm with the define) : https://pastebin.com/jyQ4s3tB

    #include <algorithm>
    #include <iterator>

    extern "C"
    {

    //#define OGG

    #include "libavcodec/avcodec.h"
    #include "libavdevice/avdevice.h"
    #include "libavfilter/avfilter.h"
    #include "libavformat/avformat.h"
    #include "libavutil/avutil.h"
    #include "libavutil/imgutils.h"
    #include "libswscale/swscale.h"
    #include "libswresample/swresample.h"

       enum InfoCodes
       {
           ENCODED_VIDEO,
           ENCODED_AUDIO,
           ENCODED_AUDIO_AND_VIDEO,
           NOT_ENOUGH_AUDIO_DATA,
       };

       enum ErrorCodes
       {
           RES_NOT_MUL_OF_TWO = -1,
           ERROR_FINDING_VID_CODEC = -2,
           ERROR_CONTEXT_CREATION = -3,
           ERROR_CONTEXT_ALLOCATING = -4,
           ERROR_OPENING_VID_CODEC = -5,
           ERROR_OPENING_FILE = -6,
           ERROR_ALLOCATING_FRAME = -7,
           ERROR_ALLOCATING_PIC_BUF = -8,
           ERROR_ENCODING_FRAME_SEND = -9,
           ERROR_ENCODING_FRAME_RECEIVE = -10,
           ERROR_FINDING_AUD_CODEC = -11,
           ERROR_OPENING_AUD_CODEC = -12,
           ERROR_INIT_RESMPL_CONTEXT = -13,
           ERROR_ENCODING_SAMPLES_SEND = -14,
           ERROR_ENCODING_SAMPLES_RECEIVE = -15,
           ERROR_WRITING_HEADER = -16,
           ERROR_INIT_AUDIO_RESPAMLER = -17,
       };

       AVCodecID aud_codec_comp_id = AV_CODEC_ID_OPUS;
       AVSampleFormat sample_fmt_comp = AV_SAMPLE_FMT_FLT;

       AVCodecID aud_codec_id;
       AVSampleFormat sample_fmt;

    #ifndef OGG
       char* compressed_cont = "webm";
    #endif
    #ifdef OGG
       char* compressed_cont = "ogg";
    #endif

       AVCodec *aud_codec = NULL;
       AVCodecContext *aud_codec_context = NULL;
       AVFormatContext *outctx;
       AVStream *audio_st;
       AVFrame *aud_frame;
       SwrContext *audio_swr_ctx;

       int vid_frame_counter, aud_frame_counter;
       int vid_width, vid_height;

       char* concat(const char *s1, const char *s2)
       {
           char *result = (char*)malloc(strlen(s1) + strlen(s2) + 1);

           strcpy(result, s1);
           strcat(result, s2);

           return result;
       }

       int setup_audio_codec()
       {
           aud_codec_id = aud_codec_comp_id;
           sample_fmt = sample_fmt_comp;

           // Fixup audio codec
           if (aud_codec == NULL)
           {
               aud_codec = avcodec_find_encoder(aud_codec_id);
               avcodec_register(aud_codec);
           }

           if (!aud_codec)
               return ERROR_FINDING_AUD_CODEC;

           return 0;
       }

       int initialize_audio_stream(AVFormatContext *local_outctx, int sample_rate, int per_frame_audio_samples, int audio_bitrate)
       {
           aud_codec_context = avcodec_alloc_context3(aud_codec);
           if (!aud_codec_context)
               return ERROR_CONTEXT_CREATION;

           aud_codec_context->bit_rate = audio_bitrate;
           aud_codec_context->sample_rate = sample_rate;
           aud_codec_context->sample_fmt = sample_fmt;
           aud_codec_context->channel_layout = AV_CH_LAYOUT_STEREO;
           aud_codec_context->channels = av_get_channel_layout_nb_channels(aud_codec_context->channel_layout);
           //aud_codec_context->profile = FF_PROFILE_AAC_MAIN;

           aud_codec_context->codec = aud_codec;
           aud_codec_context->codec_id = aud_codec_id;

           AVRational time_base;
           time_base.num = per_frame_audio_samples;
           time_base.den = aud_codec_context->sample_rate;
           aud_codec_context->time_base = time_base;

           int ret = avcodec_open2(aud_codec_context, aud_codec, NULL);

           if (ret &lt; 0)
               return ERROR_OPENING_AUD_CODEC;

           local_outctx->audio_codec = aud_codec;
           local_outctx->audio_codec_id = aud_codec_id;

           audio_st = avformat_new_stream(local_outctx, aud_codec);

           audio_st->codecpar->bit_rate = aud_codec_context->bit_rate;
           audio_st->codecpar->sample_rate = aud_codec_context->sample_rate;
           audio_st->codecpar->channels = aud_codec_context->channels;
           audio_st->codecpar->channel_layout = aud_codec_context->channel_layout;
           audio_st->codecpar->codec_id = aud_codec_context->codec_id;
           audio_st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO;
           audio_st->codecpar->format = aud_codec_context->sample_fmt;
           audio_st->codecpar->frame_size = aud_codec_context->frame_size;
           audio_st->codecpar->block_align = aud_codec_context->block_align;
           audio_st->codecpar->initial_padding = aud_codec_context->initial_padding;
           audio_st->codecpar->extradata = aud_codec_context->extradata;
           audio_st->codecpar->extradata_size = aud_codec_context->extradata_size;

           aud_frame = av_frame_alloc();
           aud_frame->nb_samples = aud_codec_context->frame_size;
           aud_frame->format = aud_codec_context->sample_fmt;
           aud_frame->channel_layout = aud_codec_context->channel_layout;
           aud_frame->sample_rate = aud_codec_context->sample_rate;

           int buffer_size;
           if (aud_codec_context->frame_size == 0)
           {
               buffer_size = per_frame_audio_samples * 2 * 4;
               aud_frame->nb_samples = per_frame_audio_samples;
           }
           else
           {
               buffer_size = av_samples_get_buffer_size(NULL, aud_codec_context->channels, aud_codec_context->frame_size,
                   aud_codec_context->sample_fmt, 0);
           }

           if (av_sample_fmt_is_planar(sample_fmt))
               ret = av_frame_get_buffer(aud_frame, buffer_size / 2);
           else
               ret = av_frame_get_buffer(aud_frame, buffer_size);

           if (!aud_frame || ret &lt; 0)
               return ERROR_ALLOCATING_FRAME;

           aud_frame_counter = 0;

           return 0;
       }

       int initialize_audio_only_encoding(int sample_rate, int per_frame_audio_samples, int audio_bitrate, const char *filename)
       {
           int ret;

           avcodec_register_all();
           av_register_all();

           outctx = avformat_alloc_context();

           char* with_dot = concat(filename, ".");
           char* full_filename = concat(with_dot, compressed_cont);

           ret = avformat_alloc_output_context2(&amp;outctx, NULL, compressed_cont, full_filename);

           free(with_dot);

           if (ret &lt; 0)
           {
               free(full_filename);
               return ERROR_CONTEXT_CREATION;
           }

           ret = setup_audio_codec();
           if (ret &lt; 0)
               return ret;

           // Setup Audio
           ret = initialize_audio_stream(outctx, sample_rate, per_frame_audio_samples, audio_bitrate);
           if (ret &lt; 0)
               return ret;

           av_dump_format(outctx, 0, full_filename, 1);

           if (!(outctx->oformat->flags &amp; AVFMT_NOFILE))
           {
               if (avio_open(&amp;outctx->pb, full_filename, AVIO_FLAG_WRITE) &lt; 0)
               {
                   free(full_filename);
                   return ERROR_OPENING_FILE;
               }
           }

           free(full_filename);

           ret = avformat_write_header(outctx, NULL);
           if (ret &lt; 0)
               return ERROR_WRITING_HEADER;

           return 0;
       }

       int write_interleaved_audio_frame(float_t *aud_sample)
       {
           int ret;

           aud_frame->data[0] = (uint8_t*)aud_sample;
           aud_frame->extended_data[0] = (uint8_t*)aud_sample;

           aud_frame->pts = aud_frame_counter++;

           ret = avcodec_send_frame(aud_codec_context, aud_frame);

           AVPacket pkt;
           av_init_packet(&amp;pkt);
           pkt.data = NULL;
           pkt.size = 0;

           while (true)
           {
               ret = avcodec_receive_packet(aud_codec_context, &amp;pkt);
               if (!ret)
               {
                   av_packet_rescale_ts(&amp;pkt, aud_codec_context->time_base, audio_st->time_base);

                   pkt.stream_index = audio_st->index;

                   av_interleaved_write_frame(outctx, &amp;pkt);

                   av_packet_unref(&amp;pkt);
               }
               if (ret == AVERROR(EAGAIN))
                   break;
               else if (ret &lt; 0)
                   return ERROR_ENCODING_SAMPLES_RECEIVE;
               else
                   break;
           }

           return ENCODED_AUDIO;
       }

       int write_audio_frame(float_t *aud_sample)
       {
           int ret;
           aud_frame->data[0] = (uint8_t*)aud_sample;
           aud_frame->extended_data[0] = (uint8_t*)aud_sample;

           aud_frame->pts = aud_frame_counter++;

           ret = avcodec_send_frame(aud_codec_context, aud_frame);
           if (ret &lt; 0)
               return ERROR_ENCODING_FRAME_SEND;

           AVPacket pkt;
           av_init_packet(&amp;pkt);
           pkt.data = NULL;
           pkt.size = 0;

           fflush(stdout);

           while (true)
           {
               ret = avcodec_receive_packet(aud_codec_context, &amp;pkt);
               if (!ret)
                   if (pkt.pts != AV_NOPTS_VALUE)
                       pkt.pts = av_rescale_q(pkt.pts, aud_codec_context->time_base, audio_st->time_base);
               if (pkt.dts != AV_NOPTS_VALUE)
                   pkt.dts = av_rescale_q(pkt.dts, aud_codec_context->time_base, audio_st->time_base);
               {

                   av_write_frame(outctx, &amp;pkt);
                   av_packet_unref(&amp;pkt);
               }
               if (ret == AVERROR(EAGAIN))
                   break;
               else if (ret &lt; 0)
                   return ERROR_ENCODING_FRAME_RECEIVE;
               else
                   break;
           }

           return ENCODED_AUDIO;
       }

       int finish_audio_encoding()
       {
           AVPacket pkt;
           av_init_packet(&amp;pkt);
           pkt.data = NULL;
           pkt.size = 0;

           fflush(stdout);

           int ret = avcodec_send_frame(aud_codec_context, NULL);
           if (ret &lt; 0)
               return ERROR_ENCODING_FRAME_SEND;

           while (true)
           {
               ret = avcodec_receive_packet(aud_codec_context, &amp;pkt);
               if (!ret)
               {
                   if (pkt.pts != AV_NOPTS_VALUE)
                       pkt.pts = av_rescale_q(pkt.pts, aud_codec_context->time_base, audio_st->time_base);
                   if (pkt.dts != AV_NOPTS_VALUE)
                       pkt.dts = av_rescale_q(pkt.dts, aud_codec_context->time_base, audio_st->time_base);

                   av_write_frame(outctx, &amp;pkt);
                   av_packet_unref(&amp;pkt);
               }
               if (ret == -AVERROR(AVERROR_EOF))
                   break;
               else if (ret &lt; 0)
                   return ERROR_ENCODING_FRAME_RECEIVE;
           }

           av_write_trailer(outctx);

           return 0;
       }

       void cleanup()
       {
           if (aud_frame)
           {
               av_frame_free(&amp;aud_frame);
           }
           if (outctx)
           {
               for (int i = 0; i &lt; outctx->nb_streams; i++)
                   av_freep(&amp;outctx->streams[i]);

               avio_close(outctx->pb);
               av_free(outctx);
           }

           if (aud_codec_context)
           {
               avcodec_close(aud_codec_context);
               av_free(aud_codec_context);
           }
       }

       void fill_samples(float_t *dst, int nb_samples, int nb_channels, int sample_rate, float_t *t)
       {
           int i, j;
           float_t tincr = 1.0 / sample_rate;
           const float_t c = 2 * M_PI * 440.0;

           for (i = 0; i &lt; nb_samples; i++) {
               *dst = sin(c * *t);
               for (j = 1; j &lt; nb_channels; j++)
                   dst[j] = dst[0];
               dst += nb_channels;
               *t += tincr;
           }
       }

       int main()
       {
           int sec = 5;
           int frame_rate = 30;
           float t = 0, tincr = 0, tincr2 = 0;

           int src_samples_linesize;
           int src_nb_samples = 960;
           int src_channels = 2;
           int sample_rate = 48000;

           uint8_t **src_data = NULL;

           int ret;

           initialize_audio_only_encoding(48000, src_nb_samples, 192000, "sound_FLT_960");

           ret = av_samples_alloc_array_and_samples(&amp;src_data, &amp;src_samples_linesize, src_channels,
               src_nb_samples, AV_SAMPLE_FMT_FLT, 0);

           for (size_t i = 0; i &lt; frame_rate * sec; i++)
           {
                   fill_samples((float *)src_data[0], src_nb_samples, src_channels, sample_rate, &amp;t);
                   write_interleaved_audio_frame((float *)src_data[0]);
           }

           finish_audio_encoding();

           cleanup();

           return 0;
       }
    }
    </iterator></algorithm>

    And some of the files :

    The webm audio file that does not work (only in VLC) :
    https://drive.google.com/file/d/0B16rIXjPXJCqcU5HVllIYW1iODg/view?usp=sharing

    The ogg audio file that works :
    https://drive.google.com/file/d/0B16rIXjPXJCqMUZhbW0tTDFjT1E/view?usp=sharing

    Video and Audio file that only works in VLC : https://drive.google.com/file/d/0B16rIXjPXJCqX3pEN3B0QVlrekU/view?usp=sharing

    If a play the ogg file in FFPlay it says "aq= 30kb", but if I play the webm audio only file i get "aq= 0kb". So that does not seem right either.

    Any idea ? Thanks in advance !

    Edit : So I made it work by just encoding both VP8 and Opus into the ogg container and then simply renaming it to .webm and uploading it YouTube. I did not actually know ogg could have video inside of it. I do not really know what how it affects the encoding and stuff... I can upload the original ogg file with video and it also works on YouTube. But the whole reason I went for webm was the licensing it has (https://www.webmproject.org/license/)... So I’m a bit confused now.

    I need to read up on what exactly a "container" means in the context and what just changing the extension means.

    Any comments to shed some light on this appreciated !

  • Redirect video stream from an Ip

    23 juin 2017, par Psykomusic

    I’m developping an embded device with Yocto (krogoth) OS. The device belong to a network with IpCamera. I’m looking for a light solution to redirect the stream received from a port and forward it to an other IP.
    I don’t know if it clear enought but for the moment I use GStreamer and this command :
    gst-launch-0.10 udpsrc port=myport ! udpsink host=xxx.xxx.xxx.xxx port=otherport.

    I hope there is an other solution because this command requires GStreamer and it’s quit heavy on my device.

    I have already ffmpeg on it maybe ffmpeg offers a solution for this.
    How can I do this redirection without Gstreamer ?

    Thank you,
    Antoine

  • Launching ffmpeg from inside my C code doesn't convert video stream from fifo

    13 mai 2017, par abraxas1

    (Beaglebone Black, ubuntu 16.04 linux 4.4.62-ti-r99)

    I have a raw h264 feed coming into my C program (into a callback from a custom API) and then I named-piped the raw h264 to a file and this CLI command converts that file successfully.

    ffmpeg -report -re -framerate 30 -y -f h264 -i orbi_0148.cam1.h264 -c:v copy -an -video_size 1920x1080 -f mp4 orbi_0148.cam1-1.mp4

    I then try to launch this command from my program with the same options using execv(),

    first mkfifo the fifo’s,

    then launch ffmpeg (shown below) starts the streaming form the cameras to my callback function, and out to the fifos.

    I close the fifos at the end of video recording, and don’t get any file created and get this output, which I don’t understand at all.
    (the successful command line output follows below this output generated from execv())
    thanks, any help much appreciated.
    hardware has come in now and the spot light is on me.

    (execv output with options -report -y -i /tmp/fifocam3.h264 -c:v copy -an -video_size 1920x1080 -f mp4 /media/sd-card/orbi_0140.cam3.mp4)

    root@arm:/home/orbi# cat ffmpeg-20170511-001941.log
    ffmpeg started on 2017-05-11 at 00:19:41
    Report written to "ffmpeg-20170511-001941.log"
    Command line:
    /usr/bin/ffmpeg -report -y -i /tmp/fifocam3.h264 -c:v copy -an -video_size 1920x1080 -f mp4 /media/sd-card/orbi_0140.cam3.mp4
    ffmpeg version 2.8.11-0ubuntu0.16.04.1 Copyright (c) 2000-2017 the FFmpeg developers

     built with gcc 5.4.0 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4) 20160609
     configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11gr  libavutil      54. 31.100 / 54. 31.100
     libavcodec     56. 60.100 / 56. 60.100
     libavformat    56. 40.101 / 56. 40.101
     libavdevice    56.  4.100 / 56.  4.100
     libavfilter     5. 40.101 /  5. 40.101
     libavresample   2.  1.  0 /  2.  1.  0
     libswscale      3.  1.101 /  3.  1.101
     libswresample   1.  2.101 /  1.  2.101
     libpostproc    53.  3.100 / 53.  3.100
    Splitting the commandline.
    Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'.
    Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
    Reading option '-i' ... matched as input url with argument '/tmp/fifocam3.h264'.
    Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'copy'.
    Reading option '-an' ... matched as option 'an' (disable audio) with argument '1'.
    Reading option '-video_size' ... matched as AVOption 'video_size' with argument '1920x1080'.
    Reading option '-f' ... matched as option 'f' (force format) with argument 'mp4'.
    Reading option '/media/sd-card/orbi_0140.cam3.mp4' ... matched as output url.
    Finished splitting the commandline.
    Parsing a group of options: global .
    Applying option report (generate a report) with argument 1.
    Applying option y (overwrite output files) with argument 1.

    Successfully parsed a group of options.
    Parsing a group of options: input url /tmp/fifocam3.h264.

    Successfully parsed a group of options.
    Opening an input file: /tmp/fifocam3.h264.
    [h264 @ 0xf249a0] Format h264 probed with size=2048 and score=51
    [h264 @ 0xf249a0] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0
    [h264 @ 0xf25460] Current profile doesn't provide more RBSP data in PPS, skipping
    [h264 @ 0xf25460] bytestream overread -4
    [h264 @ 0xf25460] bytestream overread -4
    [h264 @ 0xf25460] bytestream overread -4
    [h264 @ 0xf25460] bytestream overread -4
    [h264 @ 0xf25460] bytestream overread -10
    [h264 @ 0xf25460] error while decoding MB 112 28, bytestream -10
    [h264 @ 0xf25460] concealing 4737 DC, 4737 AC, 4737 MV errors in P frame
    [h264 @ 0xf25460] Frame num gap 7 5


    /////// successful command line run  \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    root@arm:/home/orbi# ffmpeg -report -re -framerate 30 -y -f h264 -i orbi_0148.cam1.h264 -c:v copy -an -video_size 1920x1080 -f mp4 orbi_0148.cam1-1.mp4

    root@arm:/home/orbi# cat ffmpeg-20170511-002629.log
    ffmpeg started on 2017-05-11 at 00:26:29
    Report written to "ffmpeg-20170511-002629.log"
    Command line:
    ffmpeg -report -re -framerate 30 -y -f h264 -i orbi_0148.cam1.h264 -c:v copy -an -video_size 1920x1080 -f mp4 orbi_0148.cam1-1.mp4
    ffmpeg version 2.8.11-0ubuntu0.16.04.1 Copyright (c) 2000-2017 the FFmpeg developers
     built with gcc 5.4.0 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4) 20160609
     configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11gr  libavutil      54. 31.100 / 54. 31.100
     libavcodec     56. 60.100 / 56. 60.100
     libavformat    56. 40.101 / 56. 40.101
     libavdevice    56.  4.100 / 56.  4.100
     libavfilter     5. 40.101 /  5. 40.101
     libavresample   2.  1.  0 /  2.  1.  0
     libswscale      3.  1.101 /  3.  1.101
     libswresample   1.  2.101 /  1.  2.101
     libpostproc    53.  3.100 / 53.  3.100
    Splitting the commandline.
    Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'.
    Reading option '-re' ... matched as option 're' (read input at native frame rate) with argument '1'.
    Reading option '-framerate' ... matched as AVOption 'framerate' with argument '30'.
    Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
    Reading option '-f' ... matched as option 'f' (force format) with argument 'h264'.
    Reading option '-i' ... matched as input url with argument 'orbi_0148.cam1.h264'.
    Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'copy'.
    Reading option '-an' ... matched as option 'an' (disable audio) with argument '1'.
    Reading option '-video_size' ... matched as AVOption 'video_size' with argument '1920x1080'.
    Reading option '-f' ... matched as option 'f' (force format) with argument 'mp4'.
    Reading option 'orbi_0148.cam1-1.mp4' ... matched as output url.
    Finished splitting the commandline.
    Parsing a group of options: global .
    Applying option report (generate a report) with argument 1.
    Applying option y (overwrite output files) with argument 1.

    Successfully parsed a group of options.
    Parsing a group of options: input url orbi_0148.cam1.h264.
    Applying option re (read input at native frame rate) with argument 1.
    Applying option f (force format) with argument h264.

    Successfully parsed a group of options.
    Opening an input file: orbi_0148.cam1.h264.
    [h264 @ 0x848a20] Before avformat_find_stream_info() pos: 0 bytes read:32768 seeks:0
    [h264 @ 0x8515b0] Current profile doesn't provide more RBSP data in PPS, skipping
    [h264 @ 0x8515b0] Current profile doesn't provide more RBSP data in PPS, skipping
    [h264 @ 0x848a20] max_analyze_duration 5000000 reached at 5005000 microseconds st:0
    [h264 @ 0x848a20] After avformat_find_stream_info() pos: 3773440 bytes read:3801088 seeks:0 frames:152
    Input #0, h264, from 'orbi_0148.cam1.h264':
     Duration: N/A, bitrate: N/A
       Stream #0:0, 152, 1/1200000: Video: h264 (Main), yuv420p(tv), 1920x1080, 29.97 fps, 29.97 tbr, 1200k tbn, 59.94 tbc
    Successfully opened the file.
    Parsing a group of options: output url orbi_0148.cam1-1.mp4.

    Applying option c:v (codec name) with argument copy.
    Applying option an (disable audio) with argument 1.
    Applying option f (force format) with argument mp4.
    Successfully parsed a group of options.
    Opening an output file: orbi_0148.cam1-1.mp4.
    Successfully opened the file.
    [mp4 @ 0x8fb230] Codec for stream 0 does not use global headers but container format requires global headers
    Output #0, mp4, to 'orbi_0148.cam1-1.mp4':
     Metadata:
       encoder         : Lavf56.40.101
       Stream #0:0, 0, 1/1200000: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 1920x1080, q=2-31, 29.97 fps, 29.97 tbr, 1200k tbn, 1200k tbc

    Stream mapping:
     Stream #0:0 -> #0:0 (copy)
    Press [q] to stop, [?] for help
    [NULL @ 0x8515b0] Current profile doesn't provide more RBSP data in PPS, skipping    
    No more output streams to write to, finishing.e=00:00:08.64 bitrate=5887.7kbits/s    
    frame=  270 fps= 30 q=-1.0 Lsize=    6443kB time=00:00:08.97 bitrate=5880.6kbits/s    
    video:6440kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.056839%
    Input file #0 (orbi_0148.cam1.h264):
     Input stream #0:0 (video): 270 packets read (6594052 bytes);
     Total: 270 packets (6594052 bytes) demuxed
    Output file #0 (orbi_0148.cam1-1.mp4):
     Output stream #0:0 (video): 270 packets muxed (6594052 bytes);
     Total: 270 packets (6594052 bytes) muxed
    0 frames successfully decoded, 0 decoding errors
    [AVIOContext @ 0x931650] Statistics: 34 seeks, 308 writeouts
    [AVIOContext @ 0x851190] Statistics: 6594052 bytes read, 0 seeks