Recherche avancée

Médias (91)

Autres articles (66)

  • Participer à sa traduction

    10 avril 2011

    Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
    Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
    Actuellement MediaSPIP n’est disponible qu’en français et (...)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

Sur d’autres sites (9437)

  • java.lang.ExceptionInInitializerError in FFmpeg Test Demo

    16 mars 2016, 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'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>
  • FFmpeg add HTML or swf between a video file [closed]

    6 février 2013, par Nick

    I want to show some flash ads using html inside a video, using ffmpeg can I insert it ? So when a user plays the video after few mins between my video the ad comes. Is it possible using ffmpeg,

  • converting a UYVY FFmpeg

    19 février 2013, par Engine

    I want to read and show a video using opencv. I've recorded with Direct-show, the Video has UYVY (4:2:2) codec, since opencv can't read that format, I want to convert the codec to an RGB color model, I readed about ffmpeg and I want to know if it's possible to get this done with it ? if not if you a suggestion I'll be thankful.