wseemann / FFmpegMediaMetadataRetriever

FFmpegMediaMetadataRetriever provides a unified interface for retrieving frame and meta data from an input media file.
1.72k stars 387 forks source link

Is this support the streaming source currently #253

Open ChaoWangHUN opened 2 years ago

ChaoWangHUN commented 2 years ago

I want use this extract the special frame of the YouTube video

i have get the play url , such as below url https://rr4---sn-i3belnl7.googlevideo.com/videoplayback?expire=1649769089&ei=ISZVYvmIAseHvcAPxeez4AY&ip=112.73.6.68&id=o-AMNDH_PEYO1C3mdMNarPZHgTrZCTYQirVRrxIdpaRZ6c&itag=18&source=youtube&requiressl=yes&vprv=1&mime=video%2Fmp4&gir=yes&clen=44327507&ratebypass=yes&dur=769.230&lmt=1648716189889256&fexp=24001373,24007246&c=ANDROID&txp=5538434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cgir%2Cclen%2Cratebypass%2Cdur%2Clmt&sig=AOq0QJ8wRAIgN_lhrWUlgufP7PBRzNGhN9Jb0rXtRTUafwbdHOu4OIACIBEzKL7W3-r1m1h7pPgd4JWPBgVpKahvymiqw0rOffV3&redirect_counter=1&rm=sn-i3bd77z&req_id=7949397923a1a3ee&cms_redirect=yes&cmsv=e&ipbypass=yes&mh=a3&mip=103.68.183.163&mm=31&mn=sn-i3belnl7&ms=au&mt=1649749498&mv=m&mvi=4&pl=24&lsparams=ipbypass,mh,mip,mm,mn,ms,mv,mvi,pl&lsig=AG3C_xAwRQIgOYS2_NSP1eFTA8_9JwskffD0CDzymJekFeP-yBaIU_4CIQDOGaw2zK2RzRvIgws0E7e-X7XC5g5sDgjcxjOO5DhY6A%3D%3D

however i use the code

        FFmpegMediaMetadataRetriever mmr = new FFmpegMediaMetadataRetriever();
        mmr.setDataSource(playerView.getContext(), mUrl);

the error is happend

E/AndroidRuntime: FATAL EXCEPTION: main Process: com.github.rubensousa.previewseekbar.sample, PID: 14777 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.github.rubensousa.previewseekbar.sample/com.github.rubensousa.previewseekbar.sample.MainActivity}: java.lang.IllegalArgumentException at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2946) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3081) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1831) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:201) at android.app.ActivityThread.main(ActivityThread.java:6806) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873) Caused by: java.lang.IllegalArgumentException at wseemann.media.FFmpegMediaMetadataRetriever.setDataSource(FFmpegMediaMetadataRetriever.java:174) at com.github.rubensousa.previewseekbar.sample.exoplayer.ExoPlayerManager.play(ExoPlayerManager.java:79) at com.github.rubensousa.previewseekbar.sample.MainActivity.onCreate(MainActivity.java:122) at android.app.Activity.performCreate(Activity.java:7224) at android.app.Activity.performCreate(Activity.java:7213)