[JAVA] ExoPlayer filtern

ExoPlayerFilter

ExoPlayerFilter

ExoPlayer filtern. Ich habe eine Bibliothek erstellt, die das kann. Diejenigen, die an Videobearbeitungsprojekten beteiligt waren, haben möglicherweise in Betracht gezogen, es einmal zu machen.

Ich habe darüber nachgedacht, es zu erstellen, da ExoPlayer eine Wiedergabe mit doppelter Geschwindigkeit bietet.

Die in mediaCodec verwendete Textur wird von OpenGL gefiltert.

Dependencies

dependencies {
    compile 'com.daasuu:ExoPlayerFilter:0.1.3'
}

Sample Usage STEP 1 Erstellen Sie eine Instanz von SimpleExoPlayer. Dieses Mal werde ich die mp4-Datei abspielen. Wenn Sie andere Formate wie HLS abspielen möchten, lesen Sie bitte Offizielle Website.

    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.
    DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(context, Util.getUserAgent(context, "yourApplicationName"), defaultBandwidthMeter);
    // Produces Extractor instances for parsing the media data.
    ExtractorsFactory extractorsFactory = new DefaultExtractorsFactory();
    // This is the MediaSource representing the media to be played.
    MediaSource videoSource = new ExtractorMediaSource(Uri.parse(MP4_URL), dataSourceFactory, extractorsFactory, null, null);

    // SimpleExoPlayer
    player = ExoPlayerFactory.newSimpleInstance(context, trackSelector);
    // Prepare the player with the source.
    player.prepare(videoSource);
    player.setPlayWhenReady(true);

STEP 2 Erstellen Sie EPlayerView und legen Sie SimpleExoPlayer fest.

    ePlayerView = new EPlayerView(this);
    // set SimpleExoPlayer
    ePlayerView.setSimpleExoPlayer(player);
    ePlayerView.setLayoutParams(new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
    // add ePlayerView to WrapperView
    ((MovieWrapperView) findViewById(R.id.layout_movie_wrapper)).addView(ePlayerView);
    ePlayerView.onResume();

STEP 3 Stellen Sie den Filter ein. Die Liste der Filter lautet hier. Wenn Sie den Filter anpassen möchten, erben Sie GlFilter. Kann erstellt werden.

    ePlayerView.setGlFilter(new GlSepiaFilter());

Schauen Sie sich auf jeden Fall ExoPlayerFilter an, und ich würde mich sehr freuen, wenn Sie Star hinzufügen könnten. Pull-Anfragen wie das Erstellen eines solchen Filters sind ebenfalls willkommen!

Recommended Posts

ExoPlayer filtern
[Java] Servlet-Filter