Recherche avancée

Médias (1)

Mot : - Tags -/biomaping

Autres articles (25)

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP automatically converts uploaded files to internet-compatible formats.
    Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
    Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
    Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
    All uploaded files are stored online in their original format, so you can (...)

Sur d’autres sites (3983)

  • How to configure and validate a Funnel in Piwik Analytics

    16 janvier 2017, par InnoCraft — Community

    In the last blog post we have covered how the conversion Funnel plugin enriches your Piwik experience. This post will focus on how to configure and validate your funnel in Piwik so you get the correct data when you view the funnel reports. When you set up a funnel, it is crucial to have it configured correctly as the funnel report will be only as good as its configuration. When we built this Funnel feature, we focused on making the configuration and validation real simple because it is so important to get it right.

    To recap quickly : A Funnel defines a series of steps that you expect your visitors to take on their way to converting a goal or a sale. Funnels, a premium feature for Piwik developed by InnoCraft, lets you define funnels so you can improve your websites and mobile apps based on this data. Learn more about Funnel.

    Configuring a funnel

    As you will notice Funnels integrates nicely into the Piwik Goals management. You can configure a funnel whenever you create or update a goal. You can access the Goals Management either via “Administration => Goals” or via the reporting menu “Goals => Manage”. Then click on either “Add a new goal” or select an existing goal to edit it. At the bottom of the goal form, you will see a new row letting you configure a funnel. As with all our premium features we focused on displaying lots of inline help and explain directly in the UI what a funnel is about, what the steps are in order to configure a funnel, how a funnel helps you and more. This lets you use the Funnel feature even if you have never created or analyzed a funnel before.

    Preparing your Funnel configuration

    Before starting to configure a Funnel we usually have a brainstorm session identifying the funnels on a website or app and the paths we expect users to take there. Once we have identified each step, we click through those identified pages in our website and we note the URLs for each page as the URLs will be needed when you configure a funnel.

    Setting up a Goal

    Once we have finished the planning phase it is time to log into Piwik. We start by either adding a new goal or selecting an existing goal. If you are unfamiliar with setting up goals, have a look at the Piwik Goals user guide. At the bottom of a goal form when you create or update a goal, you can configure your funnel. The UI will first explain you everything about Funnels, what they are, how they help you and which steps you need to take in order to configure it.

    Configuring Funnel steps

    We start by configuring the steps we have identified in the planning phase. Those are the steps we expect our users to take when they convert a goal or purchase something. Now we need to add a step for each page we expect users to take, each step consists of a name and a pattern.

    The name will be shown to you in the funnel reporting so think of a good name that describes each step best, for example “Product”, “Cart”, “Checkout” and “Order”.

    The pattern is needed to define when a visitor will enter this step. Here it comes in handy to have already notes for each URL from the planning phase. You can select lots of different patterns based on “URL Path”, “URL” and “URL parameter”. For example “URL starts with”, “Path ends with”, “URL contains”, “URL matches the regular expression”, and more. Most tools make this configuration unnecessarily hard because they only allow you to choose from one or two patterns (only complicated pattern like regular expressions) and they don’t let you validate whether the URL you have in mind actually matches the pattern. There are three ways to validate your step configurations.

    Funnel Configure Steps

    Validating funnel steps

    When we configure a funnel, we validate our steps in the following three ways.

    1. Via the help icon next to the step configuration

    When you click on the help icon, you will receive valuable tips about configuring steps, what “required” means and how to match popular pages. It will also show you a list of all URLs that were tracked in your Piwik in the past and match your specified pattern. For example say you specify a pattern “Path starts with /products”, then Piwik will list all URLs that were tracked in the past matching this pattern. This lets you validate whether your pattern actually matches the URLs you had in mind. It will also show you if the pattern doesn’t match any known URL which can indicate that your configuration may be wrong.

    Funnel Known URLs

    2. Via the URL validator

    Below the steps configuration you find a form field that lets you enter any URL.

    Funnel URL validation

    We recommend to enter each URL that you have noted before in the planning phase. Once you enter a URL, the configurations will be validated immediately and the result will be shown to you in the step configuration. When a step matches your specified URL, the background will become green, when a step does not match the URL, the background will be red.

    Funnel Step Validation

    If the URL does not match the expected step, simply change your step configuration and the steps will be re-validated as you change the configuration. This way you will see instantly as soon as you got the configuration right.

    What you don’t want is that either all of your steps don’t match (red background) or that several steps match a certain URL (green background). When several step match one URL, then one visitor might enter several funnel steps on just one page. This usually indicates a problem with the step configuration.

    3. Manual funnel validation

    After we have created or updated the goal (more about this soon), we always test a funnel configuration manually. This means we now open our website and click through the pages that we hand in mind and check afterwards whether the steps we took actually appear in the funnel report as expected. This is just another safety net to make sure your funnel configuration is right.

    It is really crucial to have a correct funnel configuration as otherwise the shown data in the funnel reports might not be as helpful. That’s why we focused so much on making the validation part real easy.

    Activating and saving the funnel

    Once you are happy with your configuration, it is time to activate your funnel. As soon as you activate your funnel, a report for this funnel will be generated and the links and reports for this funnel will be visible in the UI. If you are later no longer interested in the funnel, simply deactivate the funnel so it won’t appear in the reporting UI anymore.

    Save and activate funnel

    To save your funnel configuration simply click on either “Add goal” or “Update goal”. The funnel will be automatically saved whenever you update your goal.

    Goals Management

    The funnel plugin also enriches the list of goals in the Piwik goal management. At a glance you can see whether a funnel for a goal is configured and activated (green tick in the funnel column), whether a funnel is configured but not activated (grey tick in the funnel column) or whether no funnel is configured for a goal (no tick at all).

    Funnels in Manage Goals

    How to get Funnels and related features

    You can get Funnels on the Piwik Marketplace. If you want to learn more about Funnels you might be also interested in the Funnel User Guide and the Funnel FAQ.

    Similar to Funnels we also offer Users Flow which lets you visualize the flow of your users and visitors across several interactions.

  • FFmpeg - Concat videos with different time base

    21 janvier 2017, par Xys

    I’m trying to concat videos with the concat demuxer, but it does not work when using one video ("video2.mp4" below). By does not work, I mean playing the concatenated video on a player will work until the second video part starts (it just cannot read the video anymore). It works with the concat filter though. They are both mp4 videos, so I think it’s because of the time base ? I can concat other videos with the concat demuxer and it works fine (even with different resolutions/bitrate). It only happens when trying to concat "video2.mp4".

    Also, I have a lot of warning/errors like this, probably when ffmpeg starts concatenating the 2nd video :

    [mp4 @ 0x7f847a814800] Non-monotonous DTS in output stream 0:0; previous: 906906, current: 302359; changing to 906907. This may result in incorrect timestamps in the output file.

    What would be the best way to have a minimum concat time ? Do I really need to use the concat filter or can I change the time base of "video1.mp4" if it’s really the problem ?

    Any help would be appreciated, thanks !

    Video 1 :

    ffprobe version 3.2.2 Copyright (c) 2007-2016 the FFmpeg developers
     built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
     configuration: --prefix=/usr/local/Cellar/ffmpeg/3.2.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --disable-lzma --enable-vda
     libavutil      55. 34.100 / 55. 34.100
     libavcodec     57. 64.101 / 57. 64.101
     libavformat    57. 56.100 / 57. 56.100
     libavdevice    57.  1.100 / 57.  1.100
     libavfilter     6. 65.100 /  6. 65.100
     libavresample   3.  1.  0 /  3.  1.  0
     libswscale      4.  2.100 /  4.  2.100
     libswresample   2.  3.100 /  2.  3.100
     libpostproc    54.  1.100 / 54.  1.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video1.mp4':
     Metadata:
       major_brand     : mp42
       minor_version   : 0
       compatible_brands: isommp42
       creation_time   : 2016-08-17T22:50:35.000000Z
     Duration: 00:00:10.11, start: 0.000000, bitrate: 38018 kb/s
       Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1696x848, 37832 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 180k tbc (default)
       Metadata:
         creation_time   : 2016-08-18T00:02:24.000000Z
         handler_name    : VideoHandle
       Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 189 kb/s (default)
       Metadata:
         creation_time   : 2016-08-18T00:02:24.000000Z
         handler_name    : SoundHandle

    Video 2 :

    ffprobe version 3.2.2 Copyright (c) 2007-2016 the FFmpeg developers
     built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
     configuration: --prefix=/usr/local/Cellar/ffmpeg/3.2.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --disable-lzma --enable-vda
     libavutil      55. 34.100 / 55. 34.100
     libavcodec     57. 64.101 / 57. 64.101
     libavformat    57. 56.100 / 57. 56.100
     libavdevice    57.  1.100 / 57.  1.100
     libavfilter     6. 65.100 /  6. 65.100
     libavresample   3.  1.  0 /  3.  1.  0
     libswscale      4.  2.100 /  4.  2.100
     libswresample   2.  3.100 /  2.  3.100
     libpostproc    54.  1.100 / 54.  1.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video2.mp4':
     Metadata:
       major_brand     : mp42
       minor_version   : 0
       compatible_brands: mp42mp41
       creation_time   : 2017-01-06T22:30:23.000000Z
     Duration: 00:00:08.19, start: 0.000000, bitrate: 101474 kb/s
       Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 4096x2048 [SAR 1:1 DAR 2:1], 101549 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
       Metadata:
         creation_time   : 2017-01-06T22:30:23.000000Z
         handler_name    : ?Mainconcept Video Media Handler
         encoder         : AVC Coding
       Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 125 kb/s (default)
       Metadata:
         creation_time   : 2017-01-06T22:30:23.000000Z
         handler_name    : #Mainconcept MP4 Sound Media Handler

    FFMpeg Command :

    ffmpeg -f concat -safe 0 -i concat.txt -c copy result.mp4

    concat.txt :

    file '/path/to/video1.mp4'
    file '/path/to/video2.mp4'

    Command result :

    ffmpeg version 3.2.2 Copyright (c) 2000-2016 the FFmpeg developers
     built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
     configuration: --prefix=/usr/local/Cellar/ffmpeg/3.2.2 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --disable-lzma --enable-vda
     libavutil      55. 34.100 / 55. 34.100
     libavcodec     57. 64.101 / 57. 64.101
     libavformat    57. 56.100 / 57. 56.100
     libavdevice    57.  1.100 / 57.  1.100
     libavfilter     6. 65.100 /  6. 65.100
     libavresample   3.  1.  0 /  3.  1.  0
     libswscale      4.  2.100 /  4.  2.100
     libswresample   2.  3.100 /  2.  3.100
     libpostproc    54.  1.100 / 54.  1.100
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fbd8b808c00] Auto-inserting h264_mp4toannexb bitstream filter
    Input #0, concat, from 'concat.txt':
     Duration: N/A, start: 0.000000, bitrate: 38021 kb/s
       Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1696x848, 37832 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 180k tbc
       Metadata:
         creation_time   : 2016-08-18T00:02:24.000000Z
         handler_name    : VideoHandle
       Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 189 kb/s
       Metadata:
         creation_time   : 2016-08-18T00:02:24.000000Z
         handler_name    : SoundHandle
    Output #0, mp4, to 'result.mp4':
     Metadata:
       encoder         : Lavf57.56.100
       Stream #0:0(eng): Video: h264 (Baseline) ([33][0][0][0] / 0x0021), yuv420p, 1696x848, q=2-31, 37832 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 90k tbc
       Metadata:
         creation_time   : 2016-08-18T00:02:24.000000Z
         handler_name    : VideoHandle
       Stream #0:1(eng): Audio: aac (LC) ([64][0][0][0] / 0x0040), 48000 Hz, stereo, 189 kb/s
       Metadata:
         creation_time   : 2016-08-18T00:02:24.000000Z
         handler_name    : SoundHandle
    Stream mapping:
     Stream #0:0 -> #0:0 (copy)
     Stream #0:1 -> #0:1 (copy)
    Press [q] to stop, [?] for help
    frame=  112 fps=0.0 q=-1.0 size=   12701kB time=00:00:03.70 bitrate=28092.2kbits/s speed= 7.4x
    frame=  151 fps=151 q=-1.0 size=   18853kB time=00:00:05.00 bitrate=30857.5kbits/s speed=   5x
    frame=  224 fps=149 q=-1.0 size=   30042kB time=00:00:07.44 bitrate=33074.8kbits/s speed=4.95x
    frame=  268 fps=134 q=-1.0 size=   36596kB time=00:00:08.90 bitrate=33650.8kbits/s speed=4.44x
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fbd8a808000] Auto-inserting h264_mp4toannexb bitstream filter.9x
    [mp4 @ 0xb545d000] Non-monotonous DTS in output stream 0:1; previous: 484352, current: 445939; changing to 484353. This may result in incorrect timestamps in the output file.
    [concat @ 0xb545c400] DTS 304057 < 906906 out of order
    [mp4 @ 0xb545d000] Non-monotonous DTS in output stream 0:0; previous: 906906, current: 304057; changing to 906907. This may result in incorrect timestamps in the output file.
    [mp4 @ 0xb545d000] Non-monotonous DTS in output stream 0:1; previous: 484353, current: 446963; changing to 484354. This may result in incorrect timestamps in the output file.
    ...
    ... like 100 DTS errors ...
    ...
    [mp4 @ 0xb545d000] Non-monotonous DTS in output stream 0:0; previous: 907150, current: 548301; changing to 907151. This may result in incorrect timestamps in the output file.
    frame=  548 fps=169 q=-1.0 Lsize=  148399kB time=00:00:18.28 bitrate=66493.7kbits/s speed=5.64x
    video:148027kB audio:359kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.008622%

    Thank you in advance !

  • ffmpeg `avformat_write_header` fail with -22 Invalid arg

    3 février 2017, par user998953

    I am having an error with FFMPEG. Here is my code :

    static int open_output_file(const char *filename) {
       AVStream *out_stream;
       AVStream *in_stream;
       AVCodecContext *dec_ctx, *enc_ctx;
       AVCodec *encoder;
       int ret;
       unsigned int i;
       ofmt_ctx = NULL;
       avformat_alloc_output_context2(&ofmt_ctx, NULL, NULL, filename);
       if (!ofmt_ctx) {
           LOGD(NULL, AV_LOG_ERROR, "Could notcreate output context\n");
           return AVERROR_UNKNOWN;
       }
       for (i = 0; i < ifmt_ctx->nb_streams; i++) {
           out_stream = avformat_new_stream(ofmt_ctx, NULL);
           if (!out_stream) {
               LOGD(NULL, AV_LOG_ERROR, "Failed allocating output stream\n");
               return AVERROR_UNKNOWN;
           }
           in_stream = ifmt_ctx->streams[i];
           dec_ctx = in_stream->codec;
           enc_ctx = out_stream->codec;
           if (dec_ctx->codec_type == AVMEDIA_TYPE_VIDEO
               || dec_ctx->codec_type == AVMEDIA_TYPE_AUDIO) {
               /* in this example, we choose transcoding to same codec */

               encoder = avcodec_find_encoder(dec_ctx->codec_id);
               enc_ctx = avcodec_alloc_context3(encoder);
               if (!encoder) {
                   LOGE("encoder not avalibe ");
                   return -1;
               }
               /* In this example, we transcode to same properties(picture size,
               * sample rate etc.). These properties can be changed for output
               * streams easily using filters */
               if (dec_ctx->codec_type == AVMEDIA_TYPE_VIDEO) {
                   enc_ctx->height = dec_ctx->height;
                   enc_ctx->width = dec_ctx->width;
                   enc_ctx->sample_aspect_ratio = dec_ctx->sample_aspect_ratio;
                   /* take first format from list of supported formats */
                   enc_ctx->pix_fmt = encoder->pix_fmts[0];
                   /* video time_base can be set to whatever is handy andsupported by encoder */
                   enc_ctx->time_base = dec_ctx->time_base;
               } else {
                   enc_ctx->sample_rate = dec_ctx->sample_rate;
                   enc_ctx->channel_layout = dec_ctx->channel_layout;
                   enc_ctx->channels = av_get_channel_layout_nb_channels(enc_ctx->channel_layout);
                   /* take first format from list of supported formats */
                   enc_ctx->sample_fmt = encoder->sample_fmts[0];
                   AVRational time_base = {1, enc_ctx->sample_rate};
                   enc_ctx->time_base = time_base;
               }
               /* Third parameter can be used to pass settings to encoder*/
               ret = avcodec_open2(enc_ctx, encoder, NULL);
               if (ret < 0) {
                   LOGD("Cannot openvideo encoder for stream #%u\n", i);
                   return ret;
               }
           } else if (dec_ctx->codec_type == AVMEDIA_TYPE_UNKNOWN) {
               LOGE("Elementarystream #%d is of unknown type, cannot proceed\n",
                    i);
               return AVERROR_INVALIDDATA;
           } else {
               /* if this stream must be remuxed */
               ret = avcodec_copy_context(ofmt_ctx->streams[i]->codec,
                                          ifmt_ctx->streams[i]->codec);
               if (ret < 0) {
                   LOGE("Copyingstream context failed\n");
                   return ret;
               }
           }
           if (ofmt_ctx->oformat->flags & AVFMT_GLOBALHEADER)
               enc_ctx->flags |= CODEC_FLAG_GLOBAL_HEADER;
       }
       av_dump_format(ofmt_ctx, 0, filename, 1);
       if (!(ofmt_ctx->oformat->flags & AVFMT_NOFILE)) {
           ret = avio_open(&ofmt_ctx->pb, filename, AVIO_FLAG_WRITE);
           if (ret < 0) {
               LOGE("Could not open output file '%s'", filename);
               return ret;
           }
       }
       ret = avformat_write_header(ofmt_ctx, NULL); //wrong here
       if (ret < 0) {
           char buf[1024] = {0};
           av_strerror(ret, buf, 1024);
           LOGE("Error occurred when opening output file : %s\n", buf);
           return ret;
       }
       return 0;
    }

    Here is the ffmpeg log. Pay close attention to the error I am getting which is :

    Error occurred when opening output file : Invalid argument

    Here is the rest of it :

    02-03 18:09:44.120 24571-24571/com.zhenbeiju.avplayer E/videoplayer: [mov,mp4,m4a,3gp,3g2,mj2 @ 0xebf33e00] After avformat_find_stream_info() pos: 680796 bytes read:308417 seeks:1 frames:48
    02-03 18:09:44.120 24571-24571/com.zhenbeiju.avplayer E/videoplayer: [h264 @ 0xea72cc00] nal_unit_type: 7, nal_ref_idc: 3
    02-03 18:09:44.120 24571-24571/com.zhenbeiju.avplayer E/videoplayer: [h264 @ 0xea72cc00] nal_unit_type: 8, nal_ref_idc: 3
    02-03 18:09:44.121 24571-24571/com.zhenbeiju.avplayer E/videoplayer: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/sdcard/test2.mp4':
    02-03 18:09:44.121 24571-24571/com.zhenbeiju.avplayer E/videoplayer:   Metadata:
    02-03 18:09:44.121 24571-24571/com.zhenbeiju.avplayer E/videoplayer:     major_brand     :
    02-03 18:09:44.121 24571-24571/com.zhenbeiju.avplayer E/videoplayer: mp42
    02-03 18:09:44.121 24571-24571/com.zhenbeiju.avplayer E/videoplayer:     minor_version   :
    02-03 18:09:44.121 24571-24571/com.zhenbeiju.avplayer E/videoplayer: 0
    02-03 18:09:44.121 24571-24571/com.zhenbeiju.avplayer E/videoplayer:     compatible_brands:
    02-03 18:09:44.121 24571-24571/com.zhenbeiju.avplayer E/videoplayer: isommp42
    02-03 18:09:44.121 24571-24571/com.zhenbeiju.avplayer E/videoplayer:     creation_time   :
    02-03 18:09:44.121 24571-24571/com.zhenbeiju.avplayer E/videoplayer: 2017-01-23T08:22:57.000000Z
    02-03 18:09:44.121 24571-24571/com.zhenbeiju.avplayer E/videoplayer:     com.android.version:
    02-03 18:09:44.121 24571-24571/com.zhenbeiju.avplayer E/videoplayer: 6.0.1
    02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer:   Duration:
    02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: 00:00:07.74
    02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: , start:
    02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: 0.000000
    02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: , bitrate:
    02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: 14377 kb/s
    02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer:     Stream #0:0
    02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: (eng)
    02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: , 1, 1/90000
    02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: : Video: h264 (avc1 / 0x31637661), yuv420p, 1280x720, 13892 kb/s
    02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: , SAR 1:1 DAR 16:9
    02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: ,
    02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: 30.02 fps,
    02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: 30 tbr,
    02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: 90k tbn,
    02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: 60.04 tbc
    02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer:  (default)
    02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer:     Metadata:
    02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer:       rotate          :
    02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: 90
    02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer:       creation_time   :
    02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: 2017-01-23T08:22:57.000000Z
    02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer:       handler_name    :
    02-03 18:09:44.122 24571-24571/com.zhenbeiju.avplayer E/videoplayer: VideoHandle
    02-03 18:09:44.123 24571-24571/com.zhenbeiju.avplayer E/videoplayer:     Side data:
    02-03 18:09:44.123 24571-24571/com.zhenbeiju.avplayer E/videoplayer:      
    02-03 18:09:44.123 24571-24571/com.zhenbeiju.avplayer E/videoplayer: displaymatrix: rotation of -90.00 degrees
    02-03 18:09:44.123 24571-24571/com.zhenbeiju.avplayer E/videoplayer:     Stream #0:1
    02-03 18:09:44.123 24571-24571/com.zhenbeiju.avplayer E/videoplayer: (eng)
    02-03 18:09:44.123 24571-24571/com.zhenbeiju.avplayer E/videoplayer: , 47, 1/48000
    02-03 18:09:44.123 24571-24571/com.zhenbeiju.avplayer E/videoplayer: : Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 96 kb/s
    02-03 18:09:44.123 24571-24571/com.zhenbeiju.avplayer E/videoplayer:  (default)
    02-03 18:09:44.123 24571-24571/com.zhenbeiju.avplayer E/videoplayer:     Metadata:
    02-03 18:09:44.123 24571-24571/com.zhenbeiju.avplayer E/videoplayer:       creation_time   :
    02-03 18:09:44.123 24571-24571/com.zhenbeiju.avplayer E/videoplayer: 2017-01-23T08:22:57.000000Z
    02-03 18:09:44.123 24571-24571/com.zhenbeiju.avplayer E/videoplayer:       handler_name    :
    02-03 18:09:44.123 24571-24571/com.zhenbeiju.avplayer E/videoplayer: SoundHandle
    02-03 18:09:44.124 24571-24571/com.zhenbeiju.avplayer E/videoplayer: [libx264 @ 0xdbf3dc00] using mv_range_thread = 56
    02-03 18:09:44.126 24571-24571/com.zhenbeiju.avplayer E/videoplayer: [libx264 @ 0xdbf3dc00] using cpu capabilities: none!
    02-03 18:09:44.197 24571-24571/com.zhenbeiju.avplayer E/videoplayer: [libx264 @ 0xdbf3dc00] profile High, level 4.0
    02-03 18:09:44.199 24571-24571/com.zhenbeiju.avplayer E/videoplayer: Output #0, mp4, to '/sdcard/test3.mp4':
    02-03 18:09:44.199 24571-24571/com.zhenbeiju.avplayer E/videoplayer:     Stream #0:0
    02-03 18:09:44.199 24571-24571/com.zhenbeiju.avplayer E/videoplayer: , 0, 0/0
    02-03 18:09:44.199 24571-24571/com.zhenbeiju.avplayer E/videoplayer: : Unknown: none
    02-03 18:09:44.200 24571-24571/com.zhenbeiju.avplayer E/videoplayer:     Stream #0:1
    02-03 18:09:44.200 24571-24571/com.zhenbeiju.avplayer E/videoplayer: , 0, 0/0
    02-03 18:09:44.200 24571-24571/com.zhenbeiju.avplayer E/videoplayer: : Unknown: none
    02-03 18:09:44.200 24571-24571/com.zhenbeiju.avplayer E/videoplayer: [file @ 0xdbdc71e0] Setting default whitelist 'file,crypto'
    02-03 18:09:44.201 24571-24571/com.zhenbeiju.avplayer E/videoplayer: [mp4 @ 0xebf3a800] Could not find tag for codec none in stream #0, codec not currently supported in container
    02-03 18:09:44.201 24571-24571/com.zhenbeiju.avplayer E/videoplayer: Error occurred when opening output file : Invalid argument