Recherche avancée

Médias (39)

Mot : - Tags -/audio

Autres articles (42)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

Sur d’autres sites (5922)

  • AVCodecContext settings for H264 (1080i)

    23 septembre 2013, par moose

    I'm trying to configure x264 for 1080i capturing. Most of these settings below are found in different examples. However, compiled together they don't work. ffmpeg API reports no error, but avcodec_encode_video() always returns zero.

    Some of the numbers are strange to me... for example, gop_size. Isn't 250 too high ?

    Event you can't offer the final answer, I'm still interested in any kind of comment on this subject.

    pCodecContext->codec_type              = AVMEDIA_TYPE_VIDEO;
    pCodecContext->codec_id                = CODEC_ID_H264;

    pCodecContext->coder_type              = FF_CODER_TYPE_AC;
    pCodecContext->flags                  |= CODEC_FLAG_LOOP_FILTER | CODEC_FLAG_INTERLACED_ME | CODEC_FLAG_INTERLACED_DCT;
    pCodecContext->me_cmp                 |= 1;
    pCodecContext->partitions             |= X264_PART_I8X8 | X264_PART_I4X4 | X264_PART_P8X8 | X264_PART_B8X8;
    pCodecContext->me_method               = ME_UMH;
    pCodecContext->me_subpel_quality       = 8;
    pCodecContext->me_range                = 16;

    pCodecContext->bit_rate                = 10 * 1024 * 1024; // 10 Mbps??
    pCodecContext->width                   = 1920;
    pCodecContext->height                  = 1080;

    pCodecContext->time_base.num           = 1;    // 25 fps
    pCodecContext->time_base.den           = 25;   // 25 fps

    pCodecContext->gop_size                = 250; // 250
    pCodecContext->keyint_min              = 25;
    pCodecContext->scenechange_threshold   = 40;
    pCodecContext->i_quant_factor          = 0.71f;
    pCodecContext->b_frame_strategy        = 1;
    pCodecContext->qcompress               = 0.6f;
    pCodecContext->qmin                    = 10;
    pCodecContext->qmax                    = 51;
    pCodecContext->max_qdiff               = 4;
    pCodecContext->max_b_frames            = 3;
    pCodecContext->refs                    = 4;
    pCodecContext->directpred              = 3;
    pCodecContext->trellis                 = 1;
    pCodecContext->flags2                 |= CODEC_FLAG2_WPRED | CODEC_FLAG2_MIXED_REFS | CODEC_FLAG2_8X8DCT | CODEC_FLAG2_FASTPSKIP;  // wpred+mixed_refs+dct8x8+fastpskip
    pCodecContext->weighted_p_pred         = 2; // not implemented with interlaced ??
    pCodecContext->crf                     = 22;

    pCodecContext->pix_fmt                 = PIX_FMT_YUV420P;

    pCodecContext->thread_count            = 0;
  • audio extracted from flv file via ffmpeg is of shorter duration than the actual flv video [closed]

    11 janvier 2013, par user1961143

    I have extracted audio from flv file via ffmpeg using this command :-

    ffmpeg -i 164_29.flv v19.mp3

    The flv videos duration is 3 minutes but the audio is of 2 mins 20 seconds only. On searching i found that the silent pieces of audio are removed when generating audio from ffmpeg. But i need the audio file to be of exactly same duration as flv video as later i need to put this audio in the flv video itself. Please help as this is urgent for our project. I am running the FFMpeg via .net windows service, so in case you know any other tool which can extract the audio of same duration as video and can be run via .net, it would be useful too.

    Console output :

    C :\Users\ritika.thakur>ffmpeg -i 164_29.flv v19.mp3
    ffmpeg version N-47062-g26c531c Copyright (c) 2000-2012 the FFmpeg developers
    built on Nov 25 2012 12:23:20 with gcc 4.7.2 (GCC)
    configuration : —disable-static —enable-shared —enable-gpl —enable-version —disable-pthreads —enable-runtime-cpudetect —enable-avisynth —enable-bzlib —enable-frei0r —enable-libass —enable-libopencore-amrnb —enable-libopencore-amrwb —enable-libfreetype —enable-libgsm —enable-libmp3lame —enable-libnut -enable-libopenjpeg —enable-libopus —enable-librtmp —enable-libschroedinger -enable-libspeex —enable-libtheora —enable-libutvideo —enable-libvo-aacenc —enable-libvo-amrwbenc —enable-libvorbis —enable-libvpx —enable-libx264 —enale-libxavs —enable-libxvid —enable-zlib
    libavutil 52. 9.100 / 52. 9.100
    libavcodec 54. 77.100 / 54. 77.100
    libavformat 54. 37.100 / 54. 37.100
    libavdevice 54. 3.100 / 54. 3.100
    libavfilter 3. 23.102 / 3. 23.102
    libswscale 2. 1.102 / 2. 1.102
    libswresample 0. 17.101 / 0. 17.101
    libpostproc 52. 2.100 / 52. 2.100
    Input #0, flv, from '164_29.flv' :
    Metadata :
    canSeekToEnd : false
    createdby : FMS 4.0
    creationdate : Tue Jan 08 00:26:19 2013
    Duration : 00:03:04.08, start : 0.000000, bitrate : 283
    kb/s
    Stream #0:0 : Video : flv1, yuv420p, 320x240, 1k tbr, 1k tbn, 1k tbc
    Stream #0:1 : Audio : nellymoser, 22050 Hz, mono, flt
    Output #0, mp3, to 'v19.mp3' :
    Metadata :
    canSeekToEnd : false
    createdby : FMS 4.0
    creationdate : Tue Jan 08 00:26:19 2013
    TSSE : Lavf54.37.100
    Stream #0:0 : Audio : mp3, 22050 Hz, mono, fltp
    Stream mapping :
    Stream #0:1 -> #0:0 (nellymoser -> libmp3lame)
    Press [q] to stop, [?] for help
    size= 567kB time=00:03:04.13 bitrate= 25.2kbits/s video:0kB audio:567kB subtitle:0 global headers:0kB muxing overhead 0.051503%

    This is the output of console for both video and audio file separately :-

    Microsoft Windows [Version 6.1.7601]
    Copyright (c) 2009 Microsoft Corporation. All rights reserved.

    C :\Users\ritika.thakur>ffmpeg -i v19.mp3

    ffmpeg version N-47062-g26c531c Copyright (c) 2000-2012 the FFmpeg developers
    built on Nov 25 2012 12:23:20 with gcc 4.7.2 (GCC)
    configuration : —disable-static —enable-shared —enable-gpl —enable-version3
    —disable-pthreads —enable-runtime-cpudetect —enable-avisynth —enable-bzlib
    — enable-frei0r —enable-libass —enable-libopencore-amrnb —enable-libopencore-
    amrwb —enable-libfreetype —enable-libgsm —enable-libmp3lame —enable-libnut -
    - enable-libopenjpeg —enable-libopus —enable-librtmp —enable-libschroedinger -
    - enable-libspeex —enable-libtheora —enable-libutvideo —enable-libvo-aacenc —
    enable-libvo-amrwbenc —enable-libvorbis —enable-libvpx —enable-libx264 —enab
    le-libxavs —enable-libxvid —enable-zlib
    libavutil 52. 9.100 / 52. 9.100
    libavcodec 54. 77.100 / 54. 77.100
    libavformat 54. 37.100 / 54. 37.100
    libavdevice 54. 3.100 / 54. 3.100
    libavfilter 3. 23.102 / 3. 23.102
    libswscale 2. 1.102 / 2. 1.102
    libswresample 0. 17.101 / 0. 17.101
    libpostproc 52. 2.100 / 52. 2.100
    [mp3 @ 0056e780] max_analyze_duration 5000000 reached at 5015510
    Input #0, mp3, from 'v19.mp3' :
    Metadata :
    canSeekToEnd : false
    createdby : FMS 4.0
    creationdate : Tue Jan 08 00:26:19 2013
    encoder : Lavf54.37.100
    Duration : 00:02:25.14, start : 0.000000, bitrate : 32 kb/s
    Stream #0:0 : Audio : mp3, 22050 Hz, mono, s16, 32 kb/s
    At least one output file must be specified

    C :\Users\ritika.thakur>ffmpeg -i 164_29.flv

    ffmpeg version N-47062-g26c531c Copyright (c) 2000-2012 the FFmpeg developers
    built on Nov 25 2012 12:23:20 with gcc 4.7.2 (GCC)
    configuration : —disable-static —enable-shared —enable-gpl —enable-version3
    —disable-pthreads —enable-runtime-cpudetect —enable-avisynth —enable-bzlib
    — enable-frei0r —enable-libass —enable-libopencore-amrnb —enable-libopencore-
    amrwb —enable-libfreetype —enable-libgsm —enable-libmp3lame —enable-libnut -
    - enable-libopenjpeg —enable-libopus —enable-librtmp —enable-libschroedinger -
    - enable-libspeex —enable-libtheora —enable-libutvideo —enable-libvo-aacenc —
    enable-libvo-amrwbenc —enable-libvorbis —enable-libvpx —enable-libx264 —enab
    le-libxavs —enable-libxvid —enable-zlib
    libavutil 52. 9.100 / 52. 9.100
    libavcodec 54. 77.100 / 54. 77.100
    libavformat 54. 37.100 / 54. 37.100
    libavdevice 54. 3.100 / 54. 3.100
    libavfilter 3. 23.102 / 3. 23.102
    libswscale 2. 1.102 / 2. 1.102
    libswresample 0. 17.101 / 0. 17.101
    libpostproc 52. 2.100 / 52. 2.100
    Input #0, flv, from '164_29.flv' :
    Metadata :
    canSeekToEnd : false
    createdby : FMS 4.0
    creationdate : Tue Jan 08 00:26:19 2013
    Duration : 00:03:04.08, start : 0.000000, bitrate : 283 kb/s
    Stream #0:0 : Video : flv1, yuv420p, 320x240, 1k tbr, 1k tbn, 1k tbc
    Stream #0:1 : Audio : nellymoser, 22050 Hz, mono, flt
    At least one output file must be specified

    If you see the duration of video is of 3:04 but audio extracted from it is of 2:25 only.
    Actually i am using ffmpeg overlay to show two videos side by side in our debate project for the client. Now ffmpeg takes audio from first video by default. But we want the audio from both videos together as a debate going on. Hence I thought of a solution to extract audio from both videos and merge them and than apply them to the overlayed video. This will all work perfectly only if I get the complete audio from the video file i.e. of equal duration.
    For more information i am writing here the overlay command we are using :-

    **ffmpeg -i 164_29.flv  -vf "[in] scale=359:320, pad=2*iw+6:ih
     [left];    movie=164_30.flv, scale=359:320 [right]; [left][right]
     overlay=365:0  [out]" -b:v 3600k -y a1.flv**

    **This is the console output of this overlay command:-**

    C :\Users\ritika.thakur>ffmpeg -i 164_29.flv -vf "[in] scale=359:320, pad=2*iw+6
    :ih [left] ; movie=164_30.flv, scale=359:320 [right] ; [left][right] overlay=365:0
    [out]" -b:v 3600k -y a1.flv
    ffmpeg version N-47062-g26c531c Copyright (c) 2000-2012 the FFmpeg developers
    built on Nov 25 2012 12:23:20 with gcc 4.7.2 (GCC)
    configuration : —disable-static —enable-shared —enable-gpl —enable-version3
    —disable- pthreads —enable-runtime-cpudetect —enable- avisynth
    —enable-bzlib —enable
    -frei0r
    —enable-libass —enable-libopencore-amrnb —enable-libopencore-amrwb
    —enable- libfreetype —enable-libgsm —enable-libmp3lame —enable-libnut
    —enable-libopenjpeg —enable-libopus —enable-librtmp —enable-libschroedinger
    — enable-
    libspeex —enable-libtheora —enable- libutvideo
    —enable-libvo-aacenc —
    enable-libvo-amrwbenc —enable-libvorbis —enable-libvpx
    —enable-libx264 —enab
    le-libxavs —enable-libxvid —enable-zlib
    libavutil 52. 9.100 / 52. 9.100
    libavcodec 54. 77.100 / 54. 77.100
    libavformat 54. 37.100 / 54. 37.100
    libavdevice 54. 3.100 / 54. 3.100
    libavfilter 3. 23.102 / 3. 23.102
    libswscale 2. 1.102 / 2. 1.102
    libswresample 0. 17.101 / 0. 17.101
    libpostproc 52. 2.100 / 52. 2.100
    Input #0, flv, from '164_29.flv' :
    Metadata :
    canSeekToEnd : false
    createdby : FMS 4.0
    creationdate : Tue Jan 08 00:26:19 2013
    Duration : 00:03:04.08, start : 0.000000, bitrate : 283 kb/s
    Stream #0:0 : Video : flv1, yuv420p, 320x240, 1k tbr, 1k tbn, 1k tbc
    Stream #0:1 : Audio : nellymoser, 22050 Hz, mono, flt
    Output #0, flv, to 'a1.flv' :
    Metadata :
    canSeekToEnd : false
    createdby : FMS 4.0
    creationdate : Tue Jan 08 00:26:19 2013
    encoder : Lavf54.37.100
    Stream #0:0 : Video : flv1 ([2][0][0][0] / 0x0002), yuv420p, 724x320, q=2-31,
    3600 kb/s, 1k tbn, 1k tbc
    Stream #0:1 : Audio : mp3 ([2][0][0][0] / 0x0002), 22050 Hz, mono, fltp
    Stream mapping :
    Stream #0:0 -> #0:0 (flv -> flv)
    Stream #0:1 -> #0:1 (nellymoser -> libmp3lame)
    Press [q] to stop, [?] for help
    frame= 83 fps=0.0 q=4.1 size= 343kB time=00:00:07.01 bitrate= 401.2kbits/s
    frame= 149 fps=149 q=2.3 size= 861kB time=00:00:14.87 bitrate= 473.9kbits/s
    frame= 223 fps=148 q=2.0 size= 1492kB time=00:00:22.00 bitrate= 555.4kbits/s
    frame= 308 fps=153 q=2.0 size= 2195kB time=00:00:28.64 bitrate= 627.8kbits/s
    frame= 391 fps=156 q=2.0 size= 2858kB time=00:00:34.06 bitrate= 687.4kbits/s
    frame= 478 fps=159 q=2.0 size= 3541kB time=00:00:39.55 bitrate= 733.4kbits/s
    frame= 547 fps=156 q=2.0 size= 4293kB time=00:00:46.80 bitrate= 751.5kbits/s
    frame= 645 fps=161 q=2.0 size= 4896kB time=00:00:51.63 bitrate= 776.8kbits/s
    Buffer queue overflow, dropping.
    [Parsed_overlay_4 @ 0152ca80] Buffer queue overflow, dropping.
    Last message repeated 16 times
    frame= 731 fps=162 q=2.0 size= 5418kB time=00:00:56.61 bitrate= 784.0kbits/s
    Buffer queue overflow, dropping.
    [Parsed_overlay_4 @ 0152ca80] Buffer queue overflow, dropping.
    Last message repeated 49 times
    frame= 794 fps=158 q=2.0 size= 5802kB time=00:01:02.37 bitrate= 762.1kbits/s
    frame= 886 fps=160 q=2.0 size= 6363kB time=00:01:07.00 bitrate= 778.0kbits/s
    Buffer queue overflow, dropping.
    [Parsed_overlay_4 @ 0152ca80] Buffer queue overflow, dropping.
    Last message repeated 29 times
    frame= 954 fps=158 q=2.0 size= 6785kB time=00:01:13.31 bitrate= 758.2kbits/s
    frame= 1056 fps=162 q=2.0 size= 7377kB time=00:01:16.94 bitrate= 785.4kbits/s
    Buffer queue overflow, dropping.
    [Parsed_overlay_4 @ 0152ca80] Buffer queue overflow, dropping.
    Last message repeated 30 times
    frame= 1130 fps=161 q=2.0 size= 7789kB time=00:01:22.19 bitrate= 776.3kbits/s
    frame= 1217 fps=162 q=2.0 size= 8372kB time=00:01:27.68 bitrate= 782.1kbits/s
    frame= 1306 fps=163 q=2.0 size= 9074kB time=00:01:32.86 bitrate= 800.5kbits/s
    frame= 1393 fps=163 q=1.6 size= 9700kB time=00:01:38.41 bitrate= 807.3kbits/s
    frame= 1475 fps=163 q=2.0 size= 10278kB time=00:01:44.03 bitrate= 809.4kbits/s
    frame= 1568 fps=164 q=2.0 size= 10825kB time=00:01:48.52 bitrate= 817.1kbits/s
    frame= 1658 fps=165 q=2.0 size= 11439kB time=00:01:53.44 bitrate= 826.0kbits/s
    frame= 1734 fps=165 q=2.0 size= 12027kB time=00:01:58.31 bitrate= 832.7kbits/s
    frame= 1792 fps=162 q=2.0 size= 12579kB time=00:02:03.41 bitrate= 835.0kbits/s
    frame= 1851 fps=160 q=2.0 size= 13284kB time=00:02:10.74 bitrate= 832.3kbits/s
    frame= 1929 fps=160 q=2.0 size= 13922kB time=00:02:16.85 bitrate= 833.3kbits/s
    frame= 2010 fps=160 q=2.0 size= 14652kB time=00:02:23.39 bitrate= 837.1kbits/s
    frame= 2102 fps=161 q=2.0 size= 15329kB time=00:02:28.86 bitrate= 843.6kbits/s
    frame= 2200 fps=162 q=2.0 size= 15963kB time=00:02:34.08 bitrate= 848.7kbits/s
    frame= 2292 fps=163 q=2.0 size= 16554kB time=00:02:38.96 bitrate= 853.1kbits/s
    frame= 2378 fps=163 q=2.0 size= 17157kB time=00:02:44.50 bitrate= 854.4kbits/s
    frame= 2468 fps=164 q=2.0 size= 17826kB time=00:02:49.50 bitrate= 861.5kbits/s
    frame= 2564 fps=165 q=2.0 size= 18489kB time=00:02:54.43 bitrate= 868.3kbits/s
    Buffer queue overflow, dropping.
    [Parsed_overlay_4 @ 0152ca80] Buffer queue overflow, dropping.
    Last message repeated 15 times
    frame= 2647 fps=165 q=2.0 size= 19079kB time=00:02:59.53 bitrate= 870.6kbits/s
    frame= 2728 fps=165 q=2.0 Lsize= 19703kB time=00:03:04.13 bitrate= 876.6kbits/
    s video:19006kB audio:567kB subtitle:0 global headers:0kB muxing overhead 0.663315%

    Everything is working fine except that we want audio from both videos playing together in final overlayed file. I would be highly grateful if you can help in this and let me know if its possible to do via ffmpeg or not.

  • java.lang.ExceptionInInitializerError in FFmpeg Test

    22 janvier 2013, par Mehul Ranpara

    I have a demo called FFMpegTest of Android which i downloaded from here..https://github.com/appunite/AndroidFFmpeg..and i also have Library file of FFMpeg which is in this demo and i am using this Library in FFmpegTest..Now when i running..it gives java.lang.ExceptionInInitializerError.. Anyone have an idea about this..please share with me..Thanx in Advance..

    which is in...VideoActivity.java

    public class VideoActivity extends Activity implements OnClickListener,FFmpegListener, OnSeekBarChangeListener, OnItemSelectedListener
    {
       private FFmpegPlayer mpegPlayer;
       private static boolean isSurfaceView = true;
       protected boolean mPlay = false;
       private View controlsView;
       private View loadingView;
       private SeekBar seekBar;
       public View videoView;
       private Button playPauseButton;
       private boolean mTracking = false;
       private View streamsView;
       private Spinner languageSpinner;
       private int languageSpinnerSelectedPosition = 0;
       private Spinner subtitleSpinner;
       private int subtitleSpinnerSelectedPosition = 0;
       private StreamAdapter languageAdapter;
       private StreamAdapter subtitleAdapter;

       private FFmpegStreamInfo audioStream = null;
       private FFmpegStreamInfo subtitleStream = null;

       @Override
       public void onCreate(Bundle savedInstanceState)
       {
           this.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
           getWindow().setFormat(PixelFormat.RGB_565);
           getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DITHER);

           super.onCreate(savedInstanceState);

           this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
           this.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
           this.getWindow().setBackgroundDrawable(null);

           this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

           if (isSurfaceView)
               VideoActivity.this.setContentView(R.layout.video_surfaceview);
           else
               VideoActivity.this.setContentView(R.layout.video_view);

           seekBar = (SeekBar) this.findViewById(R.id.seek_bar);
           seekBar.setOnSeekBarChangeListener(this);

           playPauseButton = (Button) this.findViewById(R.id.play_pause);
           playPauseButton.setOnClickListener(this);

           controlsView = this.findViewById(R.id.controls);
           streamsView = this.findViewById(R.id.streams);
           loadingView = this.findViewById(R.id.loading_view);
           languageSpinner = (Spinner) this.findViewById(R.id.language_spinner);
           subtitleSpinner = (Spinner) this.findViewById(R.id.subtitle_spinner);

           languageAdapter = new StreamAdapter(this,android.R.layout.simple_spinner_item,new ArrayList<ffmpegstreaminfo>(), StreamAdapterType.AUDIO);
           languageAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
           languageSpinner.setAdapter(languageAdapter);
           languageSpinner.setOnItemSelectedListener(this);

           subtitleAdapter = new StreamAdapter(this,android.R.layout.simple_spinner_item,new ArrayList<ffmpegstreaminfo>(), StreamAdapterType.SUBTITLE);
           subtitleAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
           subtitleSpinner.setAdapter(subtitleAdapter);
           subtitleSpinner.setOnItemSelectedListener(this);

           try
           {
               videoView = this.findViewById(R.id.video_view);
               //VideoActivity.this.mpegPlayer = new FFmpegPlayer((FFmpegDisplay)videoView, VideoActivity.this);
               this.mpegPlayer = new FFmpegPlayer((FFmpegDisplay)videoView, this);
               this.mpegPlayer.setMpegListener(this);
               setDataSource();

               //Too
           }
           catch (Exception e)
           {
               e.printStackTrace();
           }
       }

       private static enum StreamAdapterType
       {
           AUDIO, SUBTITLE
       };

       private static class StreamAdapter extends ArrayAdapter<ffmpegstreaminfo>
       {

           private final StreamAdapterType adapterType;

           public StreamAdapter(Context context, int textViewResourceId,List<ffmpegstreaminfo> objects, StreamAdapterType adapterType)
           {
               super(context, textViewResourceId, objects);
               this.adapterType = adapterType;
           }

           @Override
           public View getView(int position, View convertView, ViewGroup parent)
           {
               TextView view = (TextView) super.getView(position, convertView, parent);

               FFmpegStreamInfo item = getItem(position);
               Locale locale = item.getLanguage();

               String formatter;
               if (StreamAdapterType.AUDIO.equals(adapterType))
               {
                   formatter = getContext().getString(R.string.language_spinner_drop_down);
               }
               else
               {
                   formatter = getContext().getString(R.string.subtitle_spinner_drop_down);
               }
               String languageName = locale == null ? getContext().getString(R.string.unknown) : locale.getDisplayLanguage();
               String text = String.format(formatter, languageName);
               view.setText(text);
               return view;
           }

           @Override
           public View getDropDownView(int position, View convertView, ViewGroup parent)
           {
               CheckedTextView view = (CheckedTextView) super.getDropDownView(position, convertView, parent);
               FFmpegStreamInfo item = getItem(position);
               Locale locale = item.getLanguage();
               String languageName = locale == null ? getContext().getString(R.string.unknown) : locale.getDisplayLanguage();
               view.setText(languageName);
               return view;
           }

       }

       @Override
       protected void onPause() {
           super.onPause();
       };

       @Override
       protected void onResume() {
           super.onResume();
       }

       @Override
       protected void onDestroy()
       {
           super.onDestroy();
           this.mpegPlayer.setMpegListener(null);
           this.mpegPlayer.stop();
           stop();
       }

       private void setDataSource()
       {
           Log.d("url", "checin");
           HashMap params = new HashMap();

           // set font for ass
           File assFont = new File(Environment.getExternalStorageDirectory(),"Roboto.ttf");
           params.put("ass_default_font_path", assFont.getAbsolutePath());

           Intent intent = getIntent();
           String url = intent.getStringExtra(AppConstants.VIDEO_PLAY_ACTION_EXTRA_URL);
           Log.d("url", url);
           if (url == null)
           {
               throw new IllegalArgumentException(String.format("\"%s\" did not provided", AppConstants.VIDEO_PLAY_ACTION_EXTRA_URL));
           }
           if (intent.hasExtra(AppConstants.VIDEO_PLAY_ACTION_EXTRA_ENCRYPTION_KEY))
           {
               params.put("aeskey", intent.getStringExtra(AppConstants.VIDEO_PLAY_ACTION_EXTRA_ENCRYPTION_KEY));
           }

           this.playPauseButton.setBackgroundResource(android.R.drawable.ic_media_play);
           this.playPauseButton.setEnabled(true);
           mPlay = false;

           mpegPlayer.setDataSource(url, params, null, audioStream,subtitleStream);
       }

       @Override
       public void onClick(View v)
       {
           int viewId = v.getId();
           switch (viewId)
           {
               case R.id.play_pause:
               resumePause();
               return;

               default:
               throw new RuntimeException();
           }
       }

       @Override
       public void onFFUpdateTime(int currentTimeS, int videoDurationS, boolean isFinished)
       {
           if (!mTracking)
           {
               seekBar.setMax(videoDurationS);
               seekBar.setProgress(currentTimeS);
           }

           if (isFinished)
           {
               new AlertDialog.Builder(this)
                       .setTitle(R.string.dialog_end_of_video_title)
                       .setMessage(R.string.dialog_end_of_video_message)
                       .setCancelable(true).show();
           }
       }

       @Override
       public void onFFDataSourceLoaded(FFmpegError err, FFmpegStreamInfo[] streams)
       {
           if (err != null) {
               String format = getResources().getString(
                       R.string.main_could_not_open_stream);
               String message = String.format(format, err.getMessage());

               Builder builder = new AlertDialog.Builder(VideoActivity.this);
               builder.setTitle(R.string.app_name)
                       .setMessage(message)
                       .setOnCancelListener(
                               new DialogInterface.OnCancelListener() {

                                   @Override
                                   public void onCancel(DialogInterface dialog) {
                                       VideoActivity.this.finish();
                                   }
                               }).show();
               return;
           }
           playPauseButton.setBackgroundResource(android.R.drawable.ic_media_play);
           playPauseButton.setEnabled(true);
           this.controlsView.setVisibility(View.VISIBLE);
           this.streamsView.setVisibility(View.VISIBLE);
           this.loadingView.setVisibility(View.GONE);
           this.videoView.setVisibility(View.VISIBLE);
           languageAdapter.clear();
           subtitleAdapter.clear();
           for (FFmpegStreamInfo streamInfo : streams) {
               CodecType mediaType = streamInfo.getMediaType();
               if (FFmpegStreamInfo.CodecType.AUDIO.equals(mediaType)) {
                   languageAdapter.add(streamInfo);
               } else if (FFmpegStreamInfo.CodecType.SUBTITLE.equals(mediaType)) {
                   subtitleAdapter.add(streamInfo);
               }
           }
       }

       private void displaySystemMenu(boolean visible) {
           if (Build.VERSION.SDK_INT >= 14) {
               displaySystemMenu14(visible);
           } else if (Build.VERSION.SDK_INT >= 11) {
               displaySystemMenu11(visible);
           }
       }

       @SuppressWarnings("deprecation")
       @TargetApi(11)
       private void displaySystemMenu11(boolean visible) {
           if (visible) {
               this.videoView.setSystemUiVisibility(View.STATUS_BAR_VISIBLE);
           } else {
               this.videoView.setSystemUiVisibility(View.STATUS_BAR_HIDDEN);
           }
       }

       @TargetApi(14)
       private void displaySystemMenu14(boolean visible) {
           if (visible) {
               this.videoView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
           } else {
               this.videoView
                       .setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE);
           }
       }

       public void resumePause() {
           this.playPauseButton.setEnabled(false);
           if (mPlay) {
               mpegPlayer.pause();
           } else {
               mpegPlayer.resume();
               displaySystemMenu(true);
           }
           mPlay = !mPlay;
       }

       @Override
       public void onFFResume(NotPlayingException result) {
           this.playPauseButton
                   .setBackgroundResource(android.R.drawable.ic_media_pause);
           this.playPauseButton.setEnabled(true);

           displaySystemMenu(false);
           mPlay = true;
       }

       @Override
       public void onFFPause(NotPlayingException err) {
           this.playPauseButton
                   .setBackgroundResource(android.R.drawable.ic_media_play);
           this.playPauseButton.setEnabled(true);
           mPlay = false;
       }

       private void stop() {
           this.controlsView.setVisibility(View.GONE);
           this.streamsView.setVisibility(View.GONE);
           this.loadingView.setVisibility(View.VISIBLE);
           this.videoView.setVisibility(View.INVISIBLE);
       }

       @Override
       public void onFFStop() {
       }

       @Override
       public void onFFSeeked(NotPlayingException result)
       {
    //      if (result != null)
    //          throw new RuntimeException(result);
       }

       @Override
       public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser)
       {
           if (fromUser)
           {
               mpegPlayer.seek(progress);
           }
       }

       @Override
       public void onStartTrackingTouch(SeekBar seekBar) {
           mTracking = true;
       }

       @Override
       public void onStopTrackingTouch(SeekBar seekBar) {
           mTracking = false;
       }

       private void setDataSourceAndResumeState() {
           int progress = seekBar.getProgress();
           setDataSource();
           mpegPlayer.seek(progress);
           mpegPlayer.resume();
       }

       @Override
       public void onItemSelected(AdapterView&lt;?> parentView,
               View selectedItemView, int position, long id) {
           FFmpegStreamInfo streamInfo = (FFmpegStreamInfo) parentView
                   .getItemAtPosition(position);
           if (parentView == languageSpinner) {
               if (languageSpinnerSelectedPosition != position) {
                   languageSpinnerSelectedPosition = position;
                   audioStream = streamInfo;
                   setDataSourceAndResumeState();
               }
           } else if (parentView == subtitleSpinner) {
               if (subtitleSpinnerSelectedPosition != position) {
                   subtitleSpinnerSelectedPosition = position;
                   subtitleStream = streamInfo;
                   setDataSourceAndResumeState();
               }
           } else {
               throw new RuntimeException();
           }
       }

       @Override
       public void onNothingSelected(AdapterView&lt;?> parentView) {
           // if (parentView == languageSpinner) {
           // audioStream = null;
           // } else if (parentView == subtitleSpinner) {
           // subtitleStream = null;
           // } else {
           // throw new RuntimeException();
           // }
           // play();
       }

    }
    </ffmpegstreaminfo></ffmpegstreaminfo></ffmpegstreaminfo></ffmpegstreaminfo>

    and this is my logcat :-

    01-22 15:29:15.302: E/AndroidRuntime(1560): FATAL EXCEPTION: main
    01-22 15:29:15.302: E/AndroidRuntime(1560): java.lang.ExceptionInInitializerError
    01-22 15:29:15.302: E/AndroidRuntime(1560):     at java.lang.Class.newInstanceImpl(Native Method)
    01-22 15:29:15.302: E/AndroidRuntime(1560):     at java.lang.Class.newInstance(Class.java:1319)
    01-22 15:29:15.302: E/AndroidRuntime(1560):     at android.app.Instrumentation.newActivity(Instrumentation.java:1023)
    01-22 15:29:15.302: E/AndroidRuntime(1560):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1871)
    01-22 15:29:15.302: E/AndroidRuntime(1560):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
    01-22 15:29:15.302: E/AndroidRuntime(1560):     at android.app.ActivityThread.access$600(ActivityThread.java:123)
    01-22 15:29:15.302: E/AndroidRuntime(1560):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
    01-22 15:29:15.302: E/AndroidRuntime(1560):     at android.os.Handler.dispatchMessage(Handler.java:99)
    01-22 15:29:15.302: E/AndroidRuntime(1560):     at android.os.Looper.loop(Looper.java:137)
    01-22 15:29:15.302: E/AndroidRuntime(1560):     at android.app.ActivityThread.main(ActivityThread.java:4424)
    01-22 15:29:15.302: E/AndroidRuntime(1560):     at java.lang.reflect.Method.invokeNative(Native Method)
    01-22 15:29:15.302: E/AndroidRuntime(1560):     at java.lang.reflect.Method.invoke(Method.java:511)
    01-22 15:29:15.302: E/AndroidRuntime(1560):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
    01-22 15:29:15.302: E/AndroidRuntime(1560):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
    01-22 15:29:15.302: E/AndroidRuntime(1560):     at dalvik.system.NativeStart.main(Native Method)
    01-22 15:29:15.302: E/AndroidRuntime(1560): Caused by: java.lang.UnsatisfiedLinkError: Couldn&#39;t load ffmpeg: findLibrary returned null
    01-22 15:29:15.302: E/AndroidRuntime(1560):     at java.lang.Runtime.loadLibrary(Runtime.java:365)
    01-22 15:29:15.302: E/AndroidRuntime(1560):     at java.lang.System.loadLibrary(System.java:535)
    01-22 15:29:15.302: E/AndroidRuntime(1560):     at roman10.ffmpegTest.VideoBrowser.<clinit>(VideoBrowser.java:37)
    01-22 15:29:15.302: E/AndroidRuntime(1560):     ... 15 more
    </clinit>