dominicmaas / youtube-extractor Goto Github PK
View Code? Open in Web Editor NEWYouTube stream extractor library for Dart. Based on YouTubeExplode by Tyrrrz.
License: MIT License
YouTube stream extractor library for Dart. Based on YouTubeExplode by Tyrrrz.
License: MIT License
Unable to extract the url of live channels, It always throes back the value null
Youtube Api has been changed please review and change it.
I am getting a 403 error on many videos, such as "5_x2jBT6jtE."
HttpClient client = HttpClient();
var audioInfo = await extractor.getMediaStreamsAsync('5_x2jBT6jtE');
var songReq = await client.getUrl(Uri.parse(audioInfo.audio.first.url));
var songRes = await songReq.close();
var songBytes = await consolidateHttpClientResponseBytes(songRes);
print(songRes.statusCode); // 403
print(songRes.reasonPhrase); // Forbidden
Am I requesting the bytes incorrectly? I am able to see the audio URLs, I am just not able to get a bytes response.
I get this error on a newly uploaded video. Other videos are working. Whats wrong here?
Unhandled Exception: NoSuchMethodError: The method '>' was called on null.
Receiver: null
Tried calling: >(0)
#0 Object.noSuchMethod (dart:core-patch/object_patch.dart:53:5)
#1 YouTubeExtractor.getMediaStreamsAsync (package:youtube_extractor/youtube_extractor.dart:104:25)
I use the code same like in the README,
this error only happening in some videos.
Ex video: clU8c2fpk2s
?
The videos we reach with streamInfo.video.first.url do not sound? No sound on any of these videos?
/flutter ( 7193): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: HandshakeException: Connection terminated during handshake
�[38;5;248mE/flutter ( 7193): #0 IOClient.send�[39;49m
E/flutter ( 7193):
�[38;5;248mE/flutter ( 7193): #1 BaseClient._sendUnstreamed�[39;49m
E/flutter ( 7193):
�[38;5;248mE/flutter ( 7193): #2 BaseClient.head�[39;49m
�[38;5;248mE/flutter ( 7193): #3 YouTubeExtractor.getMediaStreamsAsync�[39;49m
E/flutter ( 7193):
�[38;5;248mE/flutter ( 7193): #4 _WidgetsState._youtubeDownload�[39;49m
E/flutter ( 7193):
�[38;5;248mE/flutter ( 7193): #5 _WidgetsState.build.�[39;49m
�[38;5;244mE/flutter ( 7193): #6 _InkResponseState._handleTap�[39;49m
�[38;5;244mE/flutter ( 7193): #7 _InkResponseState.build.�[39;49m
�[38;5;244mE/flutter ( 7193): #8 GestureRecognizer.invokeCallback�[39;49m
�[38;5;244mE/flutter ( 7193): #9 TapGestureRecognizer._checkUp�[39;49m
�[38;5;244mE/flutter ( 7193): #10 TapGestureRecognizer.handlePrimaryPointer�[39;49m
�[38;5;244mE/flutter ( 7193): #11 PrimaryPointerGestureRecognizer.handleEvent�[39;49m
�[38;5;244mE/flutter ( 7193): #12 PointerRouter._dispatch�[39;49m
�[38;5;244mE/flutter ( 7193): #13 PointerRouter.route�[39;49m
�[38;5;244mE/flutter ( 7193): #14 _WidgetsFlutterBinding&BindingBase&GestureBinding.handleEvent�[39;49m
�[38;5;244mE/flutter ( 7193): #15 _WidgetsFlutterBinding&BindingBase&GestureBinding.dispatchEvent�[39;49m
�[38;5;244mE/flutter ( 7193): #16 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerEvent�[39;49m
�[38;5;244mE/flutter ( 7193): #17 _WidgetsFlutterBinding&BindingBase&GestureBinding._flushPointerEventQueue�[39;49m
�[38;5;244mE/flutter ( 7193): #18 _WidgetsFlutterBinding&BindingBase&GestureBinding._handlePointerDataPacket�[39;49m
�[38;5;244mE/flutter ( 7193): #19 _rootRunUnary (dart:async/zone.dart:1136:13)�[39;49m
�[38;5;244mE/flutter ( 7193): #20 _CustomZone.runUnary (dart:async/zone.dart:1029:19)�[39;49m
�[38;5;244mE/flutter ( 7193): #21 _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7)�[39;49m
�[38;5;244mE/flutter ( 7193): #22 _invoke1 (dart:ui/hooks.dart:252:10)�[39;49m
�[38;5;244mE/flutter ( 7193): #23 _dispatchPointerDataPacket (dart:ui/hooks.dart:161:5)�[39;49m
I got this issue: VideoUnavailableException (Video [U_MVuEJqpOA] is not available and cannot be processed. Code: 0. Reason: null.). What can i do for this issue ?
Unhandled Exception: Video [HZ7PAyCDwEg] is not available and cannot be processed. Code: 2. Reason: Invalid parameters..
Because you don't export classes inside src folder so I cannot import them, the runtime keeps complaining about this.
E.g: MediaStreamInfoSet, Container, v..v..
Basically, can't do this for now:
final MediaStreamInfoSet streamInfoSet = await YouTubeExtractor().getMediaStreamsAsync(id); final MediaStreamInfoSet streamInfo = streamInfoSet.video.where((s) => s.container == Container.Mp4);
show error
D/libc-netbsd(23374): getaddrinfo: www.youtube.com get result from proxy gai_error = 0
E/flutter (23374): [ERROR:flutter/lib/ui/ui_dart_state.cc(166)] Unhandled Exception: NoSuchMethodError: The method 'group' was called on null.
E/flutter (23374): Receiver: null
E/flutter (23374): Tried calling: group(0)
E/flutter (23374): #0 Object.noSuchMethod (dart:core-patch/object_patch.dart:51:5)
E/flutter (23374): #1 YouTubeExtractor._getVideoPlayerContextAsync (package:youtube_extractor/youtube_extractor.dart:228:14)
E/flutter (23374):
E/flutter (23374): #2 YouTubeExtractor.getMediaStreamsAsync (package:youtube_extractor/youtube_extractor.dart:38:31)
E/flutter (23374): #3 main (package:flick_player/main.dart:7:36)
E/flutter (23374): #4 _runMainZoned.. (dart:ui/hooks.dart:233:25)
E/flutter (23374): #5 _rootRun (dart:async/zone.dart:1190:13)
E/flutter (23374): #6 _CustomZone.run (dart:async/zone.dart:1093:19)
E/flutter (23374): #7 _runZoned (dart:async/zone.dart:1630:10)
E/flutter (23374): #8 runZonedGuarded (dart:async/zone.dart:1618:12)
E/flutter (23374): #9 _runMainZoned. (dart:ui/hooks.dart:225:5)
E/flutter (23374): #10 _startIsolate. (dart:isolate-patch/isolate_patch.dart:301:19)
E/flutter (23374): #11 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168:12)
E/flutter (23374):
Hi,
I am using the below code to extract the video URL to download the video in my app. I am always getting empty array in video property.
var videoInfo = await extractor.getMediaStreamsAsync(videoId); print('Video URL: ${videoInfo.video}');
Please let me know if any other alternative solution.
hello
I have a problem
I can't get a video muxed with sound but can get video or sound only without muxed
there are error
E/flutter ( 9171): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: Bad state: No element E/flutter ( 9171): #0 List.first (dart:core-patch/growable_array.dart:219:5) E/flutter ( 9171): #1 _HomePageState._getDownloadLink (package:download_from_youtube/main.dart:154:46) E/flutter ( 9171): <asynchronous suspension> E/flutter ( 9171): #2 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:772:19) E/flutter ( 9171): #3 _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:855:36) E/flutter ( 9171): #4 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24) E/flutter ( 9171): #5 TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:504:11) E/flutter ( 9171): #6 BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:282:5) E/flutter ( 9171): #7 BaseTapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:217:7) E/flutter ( 9171): #8 PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:475:9) E/flutter ( 9171): #9 PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:76:12) E/flutter ( 9171): #10 PointerRouter._dispatchEventToRoutes.<anonymous closure> (package:flutter/src/gestures/pointer_router.dart:122:9) E/flutter ( 9171): #11 _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:379:8) E/flutter ( 9171): #12 PointerRouter._dispatchEventToRoutes (package:flutter/src/gestures/pointer_router.dart:120:18) E/flutter ( 9171): #13 PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:106:7) E/flutter ( 9171): #14 GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:218:19) E/flutter ( 9171): #15 GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:198:22) E/flutter ( 9171): #16 GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:156:7) E/flutter ( 9171): #17 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:102:7) E/flutter ( 9171): #18 GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:86:7) E/flutter ( 9171): #19 _rootRunUnary (dart:async/zone.dart:1196:13) E/flutter ( 9171): #20 _CustomZone.runUnary (dart:async/zone.dart:1085:19) E/flutter ( 9171): #21 _CustomZone.runUnaryGuarded (dart:async/zone.dart:987:7) E/flutter ( 9171): #22 _invoke1 (dart:ui/hooks.dart:275:10) E/flutter ( 9171): #23 _dispatchPointerDataPacket (dart:ui/hooks.dart:184:5) E/flutter ( 9171):
I used same example given with this plugin but it's not working. I got following error
[VERBOSE-2:ui_dart_state.cc(157)] Unhandled Exception: Bad state: No element #0 List.first (dart:core-patch/growable_array.dart:222:5) #1 _MyAppState.youtubeVideoUrls (package:video_player_demo/main.dart:44:41) <asynchronous suspension> #2 _MyAppState.initState (package:video_player_demo/main.dart:71:5) #3 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4355:58) #4 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4201:5) #5 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3194:14) #6 Element.updateChild (package:flutter/src/widgets/framework.dart:2988:12) #7 RenderObjectToWidgetElement._rebuild (package:flutter/src/widgets/binding.dart:1028:16) #8 RenderObjectToWidgetElement.mount (package:flutter/src/widgets/binding.dart:999:5) #9 RenderObjectToWidgetAdapter.attachToRenderTree.<anonymous closure> (package:flutter/src/widgets/binding.dart:942:17) #10 BuildOwner.buildScope (package:flutter/<…>
Can I use this plugin and convert youtube video to audio for streaming in my app and publish the app in playstore? Is there any terms and conditions or privacy policies?
Do you want to take over this project by any chance @EddieJeong? This was originally to be used for a mobile app I was working on, but I have since moved to Xamarin and I'm not working with Flutter anymore.
It does not work anymore, I'm receiving the following error:
11-06 21:24:03.694 27171-27237/? E/flutter: [ERROR:flutter/shell/common/shell.cc(181)] Dart Error: Unhandled exception: NoSuchMethodError: The method 'group' was called on null. Receiver: null Tried calling: group() #0 PlayerSourceParser.parseCipherOperations (package:youtube_extractor/src/internal/parsers/player_source_parser.dart:22) #1 YouTubeExtractor._getVideoPlayerSourceAsync (package:youtube_extractor/youtube_extractor.dart:298) <asynchronous suspension> #2 YouTubeExtractor.getMediaStreamsAsync (package:youtube_extractor/youtube_extractor.dart:73) <asynchronous suspension> #3 _SyncScreenState.initState.<anonymous closure> (package:sounter/screens/Sync/sync.dart:126) #4 _RootZone.runUnary (dart:async/zone.dart:1379) #5 _FutureListener.handleValue (dart:async/future_impl.dart:129) #6 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:642) #7 Future._propagateToListeners (dart:async/future_impl.dart:671) #8 Future._complete (dart:async/future_impl.dart:476) #9 _SyncCompleter.complete (dart:async/future_impl.dart:51) #10 _AsyncAwaitCompleter.complete (dart:async/runtime/libasync_patch.dart:28) #11 _completeOnAsyncReturn (dart:async/runtime/libasync_patch.dart:295) #12 getSong (package:sounter/util/geniusApi.dart:0) #13 _RootZone.runUnary (dart:async/zone.dart:1379) #14 _FutureListener.handleValue (dart:async/future_impl.dart:129) #15 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:642) #16 Future._propagateToListeners (dart:async/future_impl.dart:671) #17 Future._complete (dart:async/future_impl.dart:476) #18 _SyncCompleter.complete (dart:async/future_impl.dart:51) #19 _AsyncAwaitCompleter.complete (dart:async/runtime/libasync_patch.dart:28) #20 _completeOnAsyncReturn (dart:async/runtime/libasync_patch.dart:295) #21 _withClient (package:http/http.dart:0) #22 _RootZone.runUnary (dart:async/zone.dart:1379) #23 _FutureListener.handleValue (dart:async/future_impl.dart:129) #24 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:642) #25 Future._propagateToListeners (dart:async/future_impl.dart:671) #26 Future._completeWithValue (dart:async/future_impl.dart:486) #27 Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:516) #28 _microtaskLoop (dart:async/schedule_microtask.dart:41) #29 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50)
I'm getting this error again and It does not work anymore, I'm receiving the following error:
): [ERROR:flutter/shell/common/shell.cc(184)] Dart Error: Unhandled exception:
E/flutter (23690): NoSuchMethodError: The method 'group' was called on null.
E/flutter (23690): Receiver: null
E/flutter (23690): Tried calling: group(1)
E/flutter (23690): #0 Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:50:5)
E/flutter (23690): #1 PlayerSourceParser.parseCipherOperations (package:youtube_extractor/src/internal/parsers/player_source_parser.dart:22:10)
E/flutter (23690): #2 YouTubeExtractor._getVideoPlayerSourceAsync (package:youtube_extractor/youtube_extractor.dart:298:29)
E/flutter (23690):
E/flutter (23690): #3 YouTubeExtractor.getMediaStreamsAsync (package:youtube_extractor/youtube_extractor.dart:73:19)
E/flutter (23690):
The last time that I got this error have been a YouTube API change.
this is the error
E/flutter (24762): [ERROR:flutter/shell/common/shell.cc(184)] Dart Error: Unhandled exception:
E/flutter (24762): NoSuchMethodError: The method 'group' was called on null.
E/flutter (24762): Receiver: null
E/flutter (24762): Tried calling: group(1)
E/flutter (24762): #0 Object.noSuchMethod (dart:core-patch/object_patch.dart:50:5)
E/flutter (24762): #1 PlayerSourceParser.parseCipherOperations (package:youtube_extractor/src/internal/parsers/player_source_parser.dart:23:27)
E/flutter (24762): #2 YouTubeExtractor._getVideoPlayerSourceAsync (package:youtube_extractor/youtube_extractor.dart:298:29)
E/flutter (24762):
E/flutter (24762): #3 YouTubeExtractor.getMediaStreamsAsync (package:youtube_extractor/youtube_extractor.dart:73:19)
E/flutter (24762):
E/flutter (24762): #4 test (package:chewie_sample/geturl.dart:8:40)
E/flutter (24762):
E/flutter (24762): #5 MyApp.build (package:chewie_sample/main.dart:15:5)
E/flutter (24762): #6 StatelessElement.build (package:flutter/src/widgets/framework.dart:3789:28)
E/flutter (24762): #7 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3739:15)
E/flutter (24762): #8 Element.rebuild (package:flutter/src/widgets/framework.dart:3565:5)
E/flutter (24762): #9 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2278:33)
E/flutter (24762): #10 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:700:20)
E/flutter (24762): #11 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:286:5)
E/flutter (24762): #12 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1012:15)
E/flutter (24762): #13 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:952:9)
E/flutter (24762): #14 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.scheduleWarmUpFrame. (package:flutter/src/scheduler/binding.dart:773:7)
E/flutter (24762): #15 Timer._createTimer. (dart:async-patch/timer_patch.dart:21:15)
E/flutter (24762): #16 _Timer._runTimers (dart:isolate-patch/timer_impl.dart:382:19)
E/flutter (24762): #17 _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:416:5)
E/flutter (24762): #18 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:171:12)
E/flutter (27412): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: Video [7IG5kRFIMZw] is not available and cannot be processed. Code: 0. Reason: null.
I can't get direct url from youtube
Please check your library
please tell me this project is dead ????
After extracting the audio mediaStreamInfoSet.audio.first
i am getting 140 (Container.M4A)
and if i use the function URL it will return null in some videos.
ex:- video id = hR8FEdC6aAs
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.