Recherche avancée

Médias (91)

Autres articles (104)

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

  • Gestion de la ferme

    2 mars 2010, par

    La ferme est gérée dans son ensemble par des "super admins".
    Certains réglages peuvent être fais afin de réguler les besoins des différents canaux.
    Dans un premier temps il utilise le plugin "Gestion de mutualisation"

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

Sur d’autres sites (10875)

  • How to greatly reduce video size before downloading while maintaining good quality ? [closed]

    25 septembre 2017, par Momin Shaikh

    I need to download huge files from YouTube with my android phone.. need to download a lot of 360p videos for my study purposes but living in a 3rd country like Bangladesh where bandwidth costs is super high forcing me to afford less data. So, I am looking for a way to greatly reduce file size still maintaining good quality.

    I know that converting videos to x265 or HEVC format reduces video sizes as well as keeping the good quality keeping . But i think that can not be done online.. Is there any way to just reduce file size without reducing the quality ?

  • FFMPEG How to convert webm to MOV while keeping with the alpha channel ?

    20 septembre 2017, par Kevin Chichetti

    I’m super new, and here was the last place I looked for help. I’ve already managed to convert WBEM to PNG, perfectly, but I’d like to convert Webm to MOV without losing quality, I’m in desperation if anyone can help me. I use FFMPEG

  • FFMPEG filter is not implementing

    31 août 2017, par Alok Kumar Verma

    I’m using FFMPEG for applying and saving the file to the specified path. Since I’m new to FFMPEG so I’ve followed this link to import the FFMPEG libraries inside my project.

    FFMPEG libraries are working fine inside my project. Now I’ve followed FFMPEG Commands link for applying filters using commands. For now i’m using vintage filter command to check whether it is working or not

    I’ve followed FFMPEG Project in Android link to apply the filters and save it to my storage path.

    I’m using a file from my storage path to apply filter for the same and saving them inside the specified path. The problem is that the command is implementing(doubtful) but no file is getting saved with the filters, nor I get any exception or any error in my logcat. I"m very doubtful whether what is being left to get the desired result.

    This is my code where I’m using the FFMPEG for applying filters and saving them in the specified path.

    FilterAcitivity.java

    public class FilterActivity extends AppCompatActivity {

    private ArrayList<string> videoReceiveddata = null;

    private EPlayerView ePlayerView;

    private StringBuilder stringBuilder;

    private DataSource.Factory dataSourceFactory;
    private ExtractorsFactory extractorsFactory;

    private Button play,stop,noneFilter,faded,noir,instant;

    private FFmpeg fFmpeg;

    private int choice = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_filter);

       Bundle videoExtras = getIntent().getExtras();

       videoReceiveddata = videoExtras.getStringArrayList("sendData");
       Log.e("RECEIVED_VIDEO====", videoReceiveddata.toString());

       stringBuilder = new StringBuilder();
       for(String path : videoReceiveddata){
           stringBuilder.append(path);
       }

       //laoding the ffmpeg binary files
       loadFFMEPGBinary();


       BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
       TrackSelection.Factory videoTrackSelectionFactory =
               new AdaptiveTrackSelection.Factory(bandwidthMeter);
       TrackSelector trackSelector =
               new DefaultTrackSelector(videoTrackSelectionFactory);
       // Measures bandwidth during playback. Can be null if not required.
       DefaultBandwidthMeter defaultBandwidthMeter = new DefaultBandwidthMeter();
       // Produces DataSource instances through which media data is loaded.
       dataSourceFactory = new DefaultDataSourceFactory(getApplicationContext(),
               Util.getUserAgent(getApplicationContext(), "TestApp"), defaultBandwidthMeter);
       // Produces Extractor instances for parsing the media data.
       extractorsFactory = new DefaultExtractorsFactory();
       // This is the MediaSource representing the media to be played.
       MediaSource videoSource = new ExtractorMediaSource(Uri.parse(stringBuilder.toString()),
               dataSourceFactory, extractorsFactory, null, null);


       // 2. Create the player
       final SimpleExoPlayer player =
               ExoPlayerFactory.newSimpleInstance(getApplicationContext(), trackSelector);
       player.prepare(videoSource);

       ePlayerView = (EPlayerView) findViewById(R.id.ePlayer);
       ePlayerView.setSimpleExoPlayer(player);
       ePlayerView.onResume();



       play = (Button) findViewById(R.id.playButton);
       stop = (Button) findViewById(R.id.stopButton);
       faded = (Button) findViewById(R.id.fadedFilter);
       noneFilter = (Button) findViewById(R.id.noFilter);
       noir = (Button) findViewById(R.id.noirFilter);
       instant = (Button) findViewById(R.id.instantFilter);

       play.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View view) {
               MediaSource videoSource = new ExtractorMediaSource(Uri.parse(stringBuilder.toString()),
                       dataSourceFactory, extractorsFactory, null, null);
               player.prepare(videoSource);
               player.setPlayWhenReady(true);
           }
       });

       stop.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View view) {
               player.stop();
           }
       });

       noneFilter.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View view) {
               choice = 1;
               ePlayerView.setGlFilter(new GlFilter());
           }
       });

       faded.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View view) {
               choice = 2;
               ePlayerView.setGlFilter(new GlSepiaFilter());
               Log.e("Filter Applied",ePlayerView.toString());
               Log.e("Filter Applied====",stringBuilder.toString());

           }
       });
    }

    //loading binary of ffmpeg
    private void loadFFMEPGBinary() {
       try {
           if (fFmpeg == null) {
               Log.e("TEST=====", "ffmpeg : null");
               fFmpeg = FFmpeg.getInstance(this);
           }

           fFmpeg.loadBinary(new LoadBinaryResponseHandler() {
               @Override
               public void onFailure() {
                   showUnsupportedExceptionDialog();
               }

               @Override
               public void onSuccess() {
                   Log.d("TESTAPP====", "ffmpef : coorect loaded");
               }
           });
       } catch (FFmpegNotSupportedException e) {
           showUnsupportedExceptionDialog();
       } catch (Exception e) {
           Log.d("TESTAPP=====", "Exception not supported" + e);
       }
    }

    private void showUnsupportedExceptionDialog() {
       new AlertDialog.Builder(FilterActivity.this)
               .setIcon(android.R.drawable.ic_dialog_alert)
               .setTitle("Not Supported")
               .setMessage("Device Not Supported")
               .setCancelable(false)
               .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
                   @Override
                   public void onClick(DialogInterface dialog, int which) {
                       FilterActivity.this.finish();
                   }
               })
               .create()
               .show();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
       MenuInflater menuInflater = getMenuInflater();
       menuInflater.inflate(R.menu.filter_menu,menu);
       return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

       switch (item.getItemId()) {
           case R.id.save:
               if(choice == 1){
                   addThatFilter();
               }else if(choice == 2){
                   Toast.makeText(getApplicationContext(),"No filter",
                           Toast.LENGTH_SHORT).show();
               }
           default:
               return super.onOptionsItemSelected(item);
       }
    }

    private void addThatFilter() {

       String savingPath = Environment.getExternalStorageDirectory().getAbsolutePath().toString()
               + "/FilterVideo.mp4";

       String complexCommand = "ffmpeg -y -i"+ stringBuilder.toString() +"-strict experimental -vf " +
               "curves=vintage -s 640x480 -r 30 -aspect 4:3 -ab 48000 -ac 2 -ar 22050 -b 2097k -vcodec " +
               savingPath;

       execFFMPEGBinary(complexCommand);
    }

    private void execFFMPEGBinary( final String complexCommand) {

       try{

           fFmpeg.execute(new String[]{complexCommand}, new ExecuteBinaryResponseHandler(){

               @Override
               public void onFailure(String message) {
                   Log.e("Failed with output", message);
               }

               @Override
               public void onSuccess(String message) {
                   Toast.makeText(getApplicationContext(),"Success!",Toast.LENGTH_SHORT)
                           .show();
               }
           });
       }catch (FFmpegCommandAlreadyRunningException e){
           //do nothing
       }
    } }
    </string>