vlc 1.1.11 youtube crash

Microsoft Windows specific usage questions
Forum rules
Please post only Windows specific questions in this forum category. If you don't know where to post, please read the different forums' rules. Thanks.
Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37523
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: vlc 1.1.11 youtube crash

Postby Jean-Baptiste Kempf » 12 Oct 2011 00:29

Lol, the code is fixed in all 1.1.12 versions from Nightly Build of VLC
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.

mederi
Big Cone-huna
Big Cone-huna
Posts: 1951
Joined: 15 Mar 2011 16:38
VLC version: 2.0.8
Operating System: Windows Vista/XP

Re: vlc 1.1.11 youtube crash

Postby mederi » 13 Oct 2011 16:32

Following values of fmt parameter work:
18 >> 240p, FLV1, MP3 (Stereo, 22050 Hz, 8 kbps) - good for older computer / slower internet
43 >> 360p, H264 (25 fps), AAC (Stereo, 44100 Hz)
44 >> 480p, H264, AAC
45 >> 720p, H264, AAC

sef80033
New Cone
New Cone
Posts: 3
Joined: 11 Oct 2011 06:13

Re: vlc 1.1.11 youtube crash

Postby sef80033 » 14 Oct 2011 07:22

Can anyone else confirm we need a new youtube.lua?
This one is still working fine for me:
viewtopic.php?f=2&t=89164&start=20#p307990
I finally got this to work by opening the link and saving it with Opera browser i.e. : "file, save as, LUA type" and saved it in C:\Program Files\VideoLAN\VLC\lua
It worked with IE8 in like manner. Did not work by copying and paste.

mederi
Big Cone-huna
Big Cone-huna
Posts: 1951
Joined: 15 Mar 2011 16:38
VLC version: 2.0.8
Operating System: Windows Vista/XP

Re: vlc 1.1.11 youtube crash

Postby mederi » 14 Oct 2011 19:26

I swear that it was working yesterday as I wrote above here, but today it already does not work. I rather downloaded VLC 1.1.12 according to an advice here. Its "youtube.lua" script works also for fmt parameter but with different values:
5 >> 240p
18 >> 360p
34 >> 360p
35 >> 480p
22 >> 720p

IDKANYTHING
New Cone
New Cone
Posts: 2
Joined: 24 Oct 2011 17:12

Re: vlc 1.1.11 youtube crash

Postby IDKANYTHING » 25 Oct 2011 15:40

Haleluja! I just wanted to say thank you. It worked like a charmed. thank you for the mediafire link because I just don't know how to type all that "gibberish" without messing it up.


AFAIK 18 is 240p stereo and now the lowest available format and is always available. You can also experiment with other numbers in the Line62 statement. Maybe you find something useful.


Note to other readers:
esco and I are discussing a special version of the youtube lua.
If you just want youtube to work paste youtube.lua from here:
viewtopic.php?f=14&t=92502#p307353
or download it from here:
viewtopic.php?f=14&t=92502#p307537
It will always play best format available, as usual.

durwyn
New Cone
New Cone
Posts: 1
Joined: 17 Dec 2011 23:09

Re: vlc 1.1.11 youtube crash

Postby durwyn » 17 Dec 2011 23:11

I fixed youtube.lua. this is my own ugly hack. i never touched lua script before but it works :)

Code: Select all

--[[ $Id$ Copyright © 2007-2009 the VideoLAN team This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. --]] -- Helper function to get a parameter's value in a URL function get_url_param( url, name ) local _, _, res = string.find( url, "[&?]"..name.."=([^&]*)" ) return res end function get_arturl( path, video_id ) if string.match( vlc.path, "iurl=" ) then return vlc.strings( get_url_param( vlc.path, "iurl" ) ) end if not arturl then return "http://img.youtube.com/vi/"..video_id.."/default.jpg" end end -- Probe function. function probe() if vlc.access ~= "http" and vlc.access ~= "https" then return false end youtube_site = string.match( string.sub( vlc.path, 1, 8 ), "youtube" ) if not youtube_site then -- FIXME we should be using a builtin list of known youtube websites -- like "fr.youtube.com", "uk.youtube.com" etc.. youtube_site = string.find( vlc.path, ".youtube.com" ) if youtube_site == nil then return false end end return ( string.match( vlc.path, "watch%?v=" ) -- the html page or string.match( vlc.path, "watch_fullscreen%?video_id=" ) -- the fullscreen page or string.match( vlc.path, "p.swf" ) -- the (old?) player url or string.match( vlc.path, "jp.swf" ) -- the (new?) player url (as of 24/08/2007) or string.match( vlc.path, "player2.swf" ) ) -- another player url end -- Parse function. function parse() if string.match( vlc.path, "watch%?v=" ) then -- This is the HTML page's URL -- fmt is the format of the video: 18 is HQ (mp4) fmt = get_url_param( vlc.path, "fmt" ) while true do -- Try to find the video's title line = vlc.readline() if not line then break end if string.match( line, "<meta name=\"title\"" ) then _,_,name = string.find( line, "content=\"(.-)\"" ) name = vlc.strings.resolve_xml_special_chars( name ) name = vlc.strings.resolve_xml_special_chars( name ) end if string.match( line, "<meta name=\"description\"" ) then -- Don't ask me why they double encode ... _,_,description = vlc.strings.resolve_xml_special_chars(vlc.strings.resolve_xml_special_chars(string.find( line, "content=\"(.-)\"" ))) end if string.match( line, "subscribe_to_user=" ) then _,_,artist = string.find( line, "subscribe_to_user=([^&]*)" ) end -- CURRENT: var swfConfig = { [a lot of stuff...], "video_id": "OHVvVmUNBFc", "sk": "WswKuJzDBsdD6oG3IakCXgC", "t": "OEgsToPDskK3zO44y0QN8Fr5ZSAZwCQp", "plid": "AARGnwWMrmGkbpOxAAAA4AT4IAA"}; -- OLD 1: var swfArgs = {hl:'en',BASE_YT_URL:'http://youtube.com/',video_id:'XPJ7d8dq0t8',l:'292',t:'OEgsToPDskLFdOYrrlDm3FQPoQBYaCP1',sk:'0gnr-AE6QZJEZmCMd3lq_AC'}; -- OLD 2: var swfArgs = { "BASE_YT_URL": "http://youtube.com", "video_id": "OHVvVmUNBFc", "l": 88, "sk": "WswKuJzDBsdD6oG3IakCXgC", "t": "OEgsToPDskK3zO44y0QN8Fr5ZSAZwCQp", "plid": "AARGnwWMrmGkbpOxAAAA4AT4IAA", "tk": "mEL4E7PqHeaZp5OG19NQThHt9mXJU4PbRTOw6lz9osHi4Hixp7RE1w=="}; -- OLD 3: 'SWF_ARGS': { [a lot of stuff...], "video_id": "OHVvVmUNBFc", "sk": "WswKuJzDBsdD6oG3IakCXgC", "t": "OEgsToPDskK3zO44y0QN8Fr5ZSAZwCQp", "plid": "AARGnwWMrmGkbpOxAAAA4AT4IAA"}; if ( string.match( line, "PLAYER_CONFIG" ) or string.match( line, "swfConfig" ) or string.match( line, "SWF_ARGS" ) or string.match( line, "swfArgs" ) ) and string.match( line, "video_id" ) then if string.match( line, "BASE_YT_URL" ) then _,_,base_yt_url = string.find( line, "\"BASE_YT_URL\": \"(.-)\"" ) end _,_,t = string.find( line, "\"t\": \"(.-)\"" ) -- vlc.msg.err( t ) -- video_id = string.gsub( line, ".*&video_id:'([^']*)'.*", "%1" ) -- new stream map name below fmt_url_map = string.match( line, "\"url_encoded_fmt_stream_map\": \"(.-)\"" ) -- FIXME: do this properly fmt_url_map = string.gsub( fmt_url_map, "\\u0026", "&" ) if fmt_url_map then -- old | based pattern replaced for itag,url in string.gmatch( fmt_url_map, "(%d+)\,url\=([^,]+)" ) do -- Apparently formats are listed in quality order, -- so we can afford to simply take the first one if not fmt or tonumber( itag ) == tonumber( fmt ) then -- do unescaping of / url = string.gsub( url, '\\/','/' ) -- cut off at &quality cutoff,_= url:find("&quality") url=url:sub(1,cutoff-1) -- have to run it through uri decoder path = vlc.strings.decode_uri(url) break end end end -- Also available on non-HTML5 pages: var swfHTML = (isIE) ? "<object [...]><param name=\"flashvars\" value=\"rv.2.thumbnailUrl=http%3A%2F%2Fi4.ytimg.com%2Fvi%2F3MLp7YNTznE%2Fdefault.jpg&rv.7.length_seconds=384 [...] &video_id=OHVvVmUNBFc [...] &t=OEgsToPDskK3zO44y0QN8Fr5ZSAZwCQp [...] elseif string.match( line, "swfHTML" ) and string.match( line, "video_id" ) then _,_,t = string.find( line, "&t=(.-)&" ) -- Also available in HTML5 pages: videoPlayer.setAvailableFormat("http://v6.lscache4.c.youtube.com/videoplayback?ip=82.0.0.0&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Calgorithm%2Cburst%2Cfactor&algorithm=throttle-factor&itag=45&ipbits=8&burst=40&sver=3&expire=1275688800&key=yt1&signature=6ED860441298D1157FF3013A5D72727F25831F09.4C196BEA9F8F9B83CE678D79AD918B83D5E98B46&factor=1.25&id=7117715cf57d18d4", "video/webm; codecs="vp8.0, vorbis"", "hd720"); elseif string.match( line, "videoPlayer%.setAvailableFormat" ) then url,itag = string.match( line, "videoPlayer%.setAvailableFormat%(\"(.-itag=(%d+).-)\",.+%)" ) if url then -- For now, WebM formats are listed only in the HTML5 -- section, that is also only when HTML5 is enabled. -- Format 45 is 720p, and 43 is lower resolution. if tonumber( itag ) == 45 or ( tonumber( itag ) == 43 and not webm_path ) then webm_path = url end -- Grab something if fmt_url_map failed if not path and ( not fmt or tonumber( itag ) == tonumber( fmt ) ) then path = url end end end end if not video_id then video_id = get_url_param( vlc.path, "v" ) end arturl = get_arturl( vlc.path, video_id ) if not fmt then -- Prefer WebM formats if this is an &html5=True URL html5 = get_url_param( vlc.path, "html5" ) if html5 == "True" and webm_path then path = webm_path end end if not path then if not base_yt_url then base_yt_url = "http://youtube.com/" end if fmt then format = "&fmt=" .. fmt else format = "" end if t then path = base_yt_url .. "get_video?video_id="..video_id.."&t="..t..format else -- This shouldn't happen ... but keep it as a backup. path = "http://www.youtube.com/v/"..video_id end end return { { path = path; name = name; description = description; artist = artist; arturl = arturl } } else -- This is the flash player's URL if string.match( vlc.path, "title=" ) then name = vlc.strings.decode_uri(get_url_param( vlc.path, "title" )) end video_id = get_url_param( vlc.path, "video_id" ) arturl = get_arturl( vlc.path, video_id ) fmt = get_url_param( vlc.path, "fmt" ) if fmt then format = "&fmt=" .. fmt else format = "" end if not string.match( vlc.path, "t=" ) then -- This sucks, we're missing "t" which is now mandatory. Let's -- try using another url return { { path = "http://www.youtube.com/v/"..video_id; name = name; arturl = arturl } } end return { { path = "http://www.youtube.com/get_video.php?video_id="..video_id.."&t="..get_url_param( vlc.path, "t" )..format; name = name; arturl = arturl } } end end
of course everyone is free to use my code as they please.

edit: i just cleaned it up, functionality unchanged.
Thanks dude, still working on this day and time :D

DocterH
New Cone
New Cone
Posts: 3
Joined: 20 Dec 2011 03:44

Re: vlc 1.1.11 youtube crash

Postby DocterH » 20 Dec 2011 03:53

That's strange it's not working for me. VLC doesn't crash anymore when I try to play a youtube video. Instead it shows the url at the bottom of the player and it doesn't play anything. Do I have to change something besides the youtube.lua?

VLC_help
Mega Cone Master
Mega Cone Master
Posts: 25661
Joined: 13 Sep 2006 14:16

Re: vlc 1.1.11 youtube crash

Postby VLC_help » 20 Dec 2011 16:53

No.

Does Tools -> Messages (set Verbosity to 2) complain something?

DocterH
New Cone
New Cone
Posts: 3
Joined: 20 Dec 2011 03:44

Re: vlc 1.1.11 youtube crash

Postby DocterH » 20 Dec 2011 22:21

Yeah it give me a few warnings.

qt4 warning: Input option: http-caching=1200
ts warning: TS module discarded (lost sync)
lua warning: Error loading script C:\Program Files (x86)\VideoLAN\VLC\lua\playlist\youtube.lua: C:\Program Files (x86)\VideoLAN\VLC\lua\playlist\youtube.lua:1: unexpected symbol near '�'
ps warning: this does not look like an MPEG PS stream, continuing anyway
ps warning: garbage at input, trying to resync...

It seems like there is something wrong with the script I put in. I copied it directly though so I don't know what's up. There is no extra space at the end or at the beginning.

VLC_help
Mega Cone Master
Mega Cone Master
Posts: 25661
Joined: 13 Sep 2006 14:16

Re: vlc 1.1.11 youtube crash

Postby VLC_help » 21 Dec 2011 16:46

Don't use text copy. Save it directly from link.
http://git.videolan.org/?p=vlc.git;a=bl ... ua;hb=HEAD

DocterH
New Cone
New Cone
Posts: 3
Joined: 20 Dec 2011 03:44

Re: vlc 1.1.11 youtube crash

Postby DocterH » 21 Dec 2011 20:12

That worked. Thanks for the help.

vilapupu
Blank Cone
Blank Cone
Posts: 28
Joined: 01 Jun 2009 04:15
VLC version: 3.0.12
Operating System: Win 10 Pro x64
Location: MD, USA

Re: vlc 1.1.11 youtube crash

Postby vilapupu » 14 Feb 2012 09:07

As of February 14th, this seems to be happening yet again. Any fix?

VLC_help
Mega Cone Master
Mega Cone Master
Posts: 25661
Joined: 13 Sep 2006 14:16

Re: vlc 1.1.11 youtube crash

Postby VLC_help » 14 Feb 2012 17:12

Wait for new youtube.lua

DayvG
New Cone
New Cone
Posts: 1
Joined: 04 Mar 2012 00:43

Re: vlc 1.1.11 youtube crash

Postby DayvG » 04 Mar 2012 00:45

Saving the linked code directly worked! Been at this for months!! Cheers guys

LGoosens
New Cone
New Cone
Posts: 7
Joined: 12 Mar 2011 03:11
VLC version: Mac OS
Operating System: Windows

Re: vlc 1.1.11 youtube crash

Postby LGoosens » 14 Sep 2012 15:12

Hi,

is it me, or is the YouTube LUA script broken once again? Will VLC play http://www.youtube.com/watch?v=ey_nA0hKzHw for any of you (I'm in the Netherlands B. T. W.)?

Does anybody know what kind of things it is YouTube keeps changing around?

Regards,
Lennart Goosens.

Rémi Denis-Courmont
Developer
Developer
Posts: 15265
Joined: 07 Jun 2004 16:01
VLC version: master
Operating System: Linux
Contact:

Re: vlc 1.1.11 youtube crash

Postby Rémi Denis-Courmont » 14 Sep 2012 15:22

YouTube keeps changing its layout as it evolves its site. This is a cat and mouse game. It will break again and again in the future.
Rémi Denis-Courmont
https://www.remlab.net/
Private messages soliciting support will be systematically discarded

LGoosens
New Cone
New Cone
Posts: 7
Joined: 12 Mar 2011 03:11
VLC version: Mac OS
Operating System: Windows

Re: vlc 1.1.11 youtube crash

Postby LGoosens » 14 Sep 2012 19:24

YouTube keeps changing its layout as it evolves its site. This is a cat and mouse game. It will break again and again in the future.
OK. I had gotten the cat and mouse game part. :) And the again and again part had become apparent too. :lol:
  • Is the problem with the <script>'s inside <div id="watch-video" > (in the code of the youtube.com/watch page)?
I am assuming then, that the LUA script uses the regular (Flash based) YouTube flavour, and not the HTML 5 one. However, both apparently require JavaScript enabled before even displaying the video player.

If the cause is related to those, the mobile version doesn't seem to have this problem - it simply links to a .3gp file plain and simple, and doesn't use any Flash OR JavaScript whatsoever (could you imagine an "early" Android phone running Flash video? :lol:). However, it also limits your quality options severely, and some videos aren't even on the mobile version. Well, right now I'm probably only repeating stuff that has been said before...

Anyway, I'm curious for the specifics on this, would like to know who authored the script and maybe get in touch with them, and would like to help out if possible. Although I must admit, I'll probably come to the same conclusion. But I don't mind wasting time on real problems. :)

Regards,
Lennart Goosens.


Return to “VLC media player for Windows Troubleshooting”

Who is online

Users browsing this forum: No registered users and 56 guests