"YouTube said: Unable to extract video data" while downloading youtube data - youtube

I am trying to youtube-dl to get metadata information of some videos. It was working fine till dec 2020. Recently It started giving me this error "YouTube said: Unable to extract video data".
What did i try?
Update to latest youtube-dl: I did this everyday till dec 28
I tried using command line and python library
I used the option to remove cache directory (--rm-cache-dir)
Use different VPNs and try downloading it.
youtube-dl https://www.youtube.com/watch?v=hT_nvWreIhg --skip-download --rm-cache-dir
They blocked it after i downloaded info for ~30k videos.
Can anyone tell me how youtube is detecting my machine and if there is a way to bypass it using youtube-dl

Suddenly after few days reinstalling the youtube-dl library fixed this issue.

Related

Playing widevine drm dash url on ios swift

I want to play widevine url on ios,is there any player in ios similar to android exoplayer that supports widevine DRM,right now in android i am able to play widevine mpd file
exception:
[ERROR:/Developer/playground/google3/third_party/video/widevine/cdm_release/core/src/license.cpp(452)] CdmLicense::HandleKeyResponse: unable to parse signed license response
[ERROR:/Developer/playground/google3/third_party/video/widevine/cdm_release/core/src/cdm_engine.cpp(312)] CdmEngine::AddKey: keys not added, result = 70
[ERROR:/Developer/playground/google3/third_party/video/widevine/cdm_release/cdm/src/cdm.cpp(497)] Unexpected error 70
Widevine do have an iOS SDK - you can see them mention it on their update page:
We had a busy year in 2015 launching new and updated products like the iOS SDK; Shaka Player with offline playback, captioning and cast support; and key security improvements for Chrome and Android. We have a ton of exciting things planned for 2016 and look forward to sharing more details in the coming months!
To get access you need to be part of the partner program, AFAIK - details on the partner program are available on their website:
https://www.widevine.com/cwip/index.html

Error while playing youtube video in vlc

VLC cant play certain youtube videos. Currently using VLC 2.2.4 (Windowsx86). Got this error.
Your input can't be opened:
VLC is unable to open the MRL 'https://r14---sn-h557sn7r.googlevideo.com/videoplayback?lmt=1471880577481320&expire=1482936160&dur=280.427&ipbits=0&source=youtube&upn=58F0u2i73fk&itag=22&ei=AHtjWOrzM8-WoAOd9o-4DA&pl=24&ms=au&mv=m&sparams=dur%2Cei%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cnh%2Cpl%2Cratebypass%2Crequiressl%2Csource%2Cupn%2Cexpire&mt=1482914235&ip=113.193.159.186&id=o-AL9tx8jmG_NTqQbv41Elnu6WvKiF6KO6-BQ6e9Ti_luh&mn=sn-h557sn7r&mm=31&key=yt6&mime=video%2Fmp4&nh=IgpwcjAyLm1hYTAzKgwxMjEuMjQwLjEuNDU&initcwndbps=246250&requiressl=yes&ratebypass=yes&signature=7C168CF624B8FD3E2D1F80948154BEA9A30E4C412.C96A6C26B874AC2472A068E0022E4BE33BD8AA29'. Check the log for details.
Debug logs
Any help ?
This happened something due to https certificates. Mine was windows machine and restarting solved the problem. But if someone expert in vlc check the logs and provide the root cause would be very helpful.

How to play encrypted hls stream in gstreamer

I want to realize a player on iOS in order to play encrypted hls streams. For now I can only play normal hls streams with the pipeline of uridecodebin or hlsdemux. But when I play an encrypted stream, I always get error message : "Could not determine type of stream".
I have checked on the internet but haven't found anything helpful. I found this message is from hlsdemux.c, but I cannot find it in iPhone.sdk. I use the version 1.6.4 with dev environnement Xcode 7.3 and iOS 9.3.1. I really hope someone could help me. Thanks a lot.
After asked those guys of gstreamer, for the time being, there is only two solutions for my problem.
modify the source code of gstsouphttpsrc.c, like the default value of ssl-strict
use a certificate signed by CA instead of a certificate self-signed
I tried the second solution, now it works.

Live stream implementation using RTSP protocol

I'm trying to gain access to a live stream through the RTSP protocol on iOS. I'm trying to run the example from this website: http://www.gdcl.co.uk/2013/02/20/iOS-Video-Encoding.html and it's advertised that you can just take the url (rtsp://) and paste it into quicktime player, VLC or some other means, but whenever I try it fails. When I try in quicktime player it gives me this error: The document “Macintosh HD” could not be opened. The file may be damaged or may not be a movie file that is compatible with QuickTime Player.
What am I doing wrong? Is the example broken or do I need to update some specs in the code. I'm running iOS 9.3 and it's told to work > 7.0.
I was able to play this back on VLC when compiling and running on my iOS device. You need to ensure that you are on WiFi (vs LTE or 3G). I'm on iOS 9.2.1 and played back with VLC version 2.2.2.
You can then take it a step further as I was successful in ingesting it into Wowza via Stream file with the following configuration:
{
uri : "rtsp://[rtsp-address-as-published-on-the-app]",
streamTimeout:12000,
reconnectWaitTime:12000,
rtpTransportMode:"udp",
rtspValidationFrequency:15000,
rtspFilterUnknownTracks:true,
rtspStreamAudioTrack:false,
rtspStreamVideoTrack:true,
rtpDebugSession:true,
rtspSessionTimeout:12000,
rtspConnectionTimeout:12000
}
I would suggest reviewing what the console logs say in your iOS application (xcode) and then also take a look at your VLC error messages/logs as well to see what the exact issue is when you try to playback.

YouTube video fails to load with iOS UIWebView

W're developing an iPad app (iOS 4.3.5) that uses UIWebView to load YouTube videos. About once in five times a YouTube video will fail to load and I only see the following blank screen with YouTube's logo:
Looking in the debug logs I can only see the following warnings:
warning: Unable to read symbols for /Developer/Platforms/iPhoneOS.platform/DeviceSupport/4.3.5 (8L1)/Symbols/System/Library/Internet Plug-Ins/QuickTime Plugin.webplugin/QuickTime Plugin (file not found).
warning: No copy of QuickTime Plugin.webplugin/QuickTime Plugin found locally, reading from memory on remote device. This may slow down the debug session.
I've read about this warning (https://stackoverflow.com/questions/7149593/warning-while-playing-a-video-link-in-my-app) and don't think it effects this problem.
Does anyone know how to fix this?
Try with video tag of HTML 5. I have done the same thing with video tag and its working perfect with my application.
Below is the sample code for the same...
<html><head><video controls=\"controls\"><source src=\"%#\" type=\"video/mp4\" height=\"%0.0f\" width=\"%0.0f\"/></video></body></html>
(Answering my own questions)
OK. I'm pretty sure I figured this out. Some videos don't have a mobile player. You can look at the JSON output here:
http://gdata.youtube.com/feeds/api/videos/TWfph3iNC-k?v=2&alt=jsonc
And here:
http://gdata.youtube.com/feeds/api/videos/cd4jvtAr8JM?v=2&alt=jsonc
Notice how the second video (cd4jvtAr8JM) doesn't have the mobile player link. I guess this means that YouTube hasn't encoded it yet for mobile. Or it's restricted for mobile. Regardless, these type of videos all won't play for me.

Resources