I think its all content dependent and you should always keep in mind your audience, I think for vlogs any more than 7 minutes starts becoming excessive but at the same time at times you will want to record for longer to get your point across. I dont think there is a perfect video length, I think you can make good videos though with the right length by good planning ahead and editing afterwards like taking into consideration who its aimed at and how long the video really needs to be for example as a vlogger you may chop out a section where you ramble about something irrelevant or as a gamer you might fail jumping several times for a few minutes, that could be taken out so as to keep people interested.
In your case 20-30 mins might be suitable but I know my attention span isnt big enough to watch for that long unless its a part of a series I am really interested in or someone I regularly watch already.