I listen to a lot of lecture videos – primarily on Machine Learning, CS concepts and Mathematics. Recently, I am on a back to basics in Math spree , listening to lectures on Probability, Single Variable Calculus, Multi Variable Calculus etc. I will put a more detailed blog post on the experience shortly.
Most of the recent lecture videos I saw covered topics which I learned in my undergraduate. My primary intention was to refresh stuff rather than learning them anew. So I wanted to go over them reasonably rapidly. Alas, there is no way to “skim” a video.
A natural solution is to increase the playback rate of the videos. One of the reasons I was looking for increasing a playback is this : When I listen to some stuff with which I am reasonably comfortable, my mind tends to wander off as the professor works out some problem steps. Some times, I can see the final answer mentally and I open up browser to check news or reddit and I sometimes lose the next topic.
Increasing playback rate is not such a radical solution as it seems. Most of the time, professors , especially the ones in US, tend to talk slowly. So by increasing the playback speed you can still follow the discussion. I am not talking about view them at twice the speed – but a more gradual 1.1 or 1.2 times the normal speed. Even though the time savings are not significant, they do add up. Probably a bigger incentive is that your mind is more alert as the video is faster and it has to work hard to keep up 🙂
Increasing Playback Speed in Totem
Totem is my default / preferred player to view lecture videos for multiple reasons – It is relatively light , has all the basic features and most importantly its skip keys seem very natural to me. Unfortunately, I was not able to find any way to increase playback rate. I checked the man pages and its advanced options and found none.
Since I had written couple of basic Python Totem plugins, I thought it should be possible to whip up one more plugin to vary playback speed if it had some API. I also checked its python bindings for some API to do that but was not able to find any. So with a heavy heart , I had to ditch Totem. Of course, if I find any other “dense” lectures which will force me to see it in normal speed, totem will again be first choice. For now, I had to search for other alternatives.
Increasing Playback Speed in Mplayer
The next player I settled naturally was Mplayer. It is the ultimate geek’s player with literally tens of knobs to tweak. It also has lots of keyboard bindings that allow you to control almost all the features without using mouse at all. Even though some of the keys were idiosyncratic, I kinda got used to them.
One of the neat features in mplayer was that it had a simple keyboard based command to modify playback rate.
To increase playback rate by 10% press “]” and to decrease press “[“.
There is also a more radical key binding – You can use “}” to double playback speed and “{“ to halve it. I doubt anyone will use it though. One of the catches is that the playback rate increases by 10% every time when you use “]”. For eg 1x, 1.1x, 1.2x and so on. If you want something in between, I think, it is not possible by just some keyboard combination.
Even though this setup seems perfect, I had an odd problem. The voice of the instructor seemed to have a shriller voice when I increased playback which was disconcerting to me. After some research I found that using ‘scaletempo’ fixes it. Unfortunately, it worked for some videos and did not work for others. Specifically, I found that some of the videos in MIT OCW Calculus Revisited (great lectures BTW) course did not work well with increased playback rate.
The command to enable scaletempo and to set an initial speed rate is
mplayer -af scaletempo -speed 1.1 lectureVideo
This command starts the video at 1.1x speed and enables scaletempo. If you increase the playback speed in mplayer after this (say to 1.2 by using “]”), the scaletempo will make sure that the voice quality remains good.
This seemed to work for some of the lectures and did not work for others. So, I had to ditch mplayer also.
Increasing Playback Speed in VLC
VLC is not one of my favorite players. Somehow it evokes an image of that of a bulky application. So I tried VLC only reluctantly after other options failed. Similar to mplayer, it had an option to speedup playback rate by 10%.
To increase playback rate by 10% press “]” and to decrease press “[“.
Additionally it had an option to set the playback rate in a finer way using slider in GUI. But in practice, it proved too tricky to use. At the bottom pane, it has a widget which shows the current playback rate (near the place where it shows video time information). Clicking on it shows a slider which you can tweak. Somehow the slider did not allow to smoothly select any value – It kept abruptly jumping between one discrete value and other – for eg from 1.18 to 1.23 to 1.3 etc. I was not able to set it to 1.18 at all.
Finally I got so fed up that I chose an initial speed and started VLC with that and did not change the rate during playback. VLC has a command line parameter that sets up the playback rate :
vlc –rate 1.1 lectureVideo
This command will start VLC with 1.1x speed. All the ways to modify playback rate via UI/keyboard are still available. The only advantage is that it allows me to set a more precise level like 1.25.
As with mplayer, you need to enable scaletempo so that the pitch of video does not change with increased playback. To do that :
1. Tools –> Preferences
2. Select ‘Advanced’ mode (the radio button at end’)
3. Select Audio->Filter
4. Select the ‘Audio tempo scaler synched with rate’
5. Close and open the video again.
Finally VLC was able to handle all the videos and variable speed without the pitch of the voice deteriorating.
Some tips on increasing playback speed
I found that increasing playback speed helped me to focus better. Also I am able to finish listening to videos slightly earlier. I would suggest you to start at 1.1x and listen to couple of videos before increasing them. I am currently able to listen to lectures very comfortably at 1.25x . I listen to some videos at a higher rate – For eg, I usually see the MIT OCW Multivariable Calculus lectures (started this week !) at 1.3 – 1.35x. Your mileage might vary. Use the finer settings allowed in VLC/mplayer to adjust it to your own pace.
Pressing “=” resets it to normal pace.
If you find it too fast and have trouble, reset it normal pace and use the keyboard commands to set it to slower speeds. As time goes, you will notice that you are able to view videos at a fast rate and yet able to understand them fully !
Increasing Playback Speed of Online Videos
The next logical step will be tweak the speed of online videos – If I can understand technical lectures at 1.25x, then I am sure that I can view sitcoms or youtube videos at similar if not faster rates. Unfortunately, I was not able to find any Linux utilities to do that. Most of my searches led me to Enounce Myspeed – But that is not available for Linux !
I plan to spend some time this week to check if I can hack up some solution – Broadly, I am splitting it into two parts – One that works with HTML5 Video and other that works with Flash videos. I think I have made some progress but I am still not sure how feasible it ultimately will be. I am exploring lightspark to check it has some mechanism to do that. If I find anything interesting , I will post about it !
Hope this post helped you to watch videos – Lecture or others and a faster clip ! If you have any tips, feel free to add in the comments !
Hey, great posts! I actually got here from the MeanShift one (which is, btw, a really good article!)
Back to the speeding up of videos: it’s indeed a great idea (and with very interesting examples, as i am too a Linux user!) ! A friend told me this trick some time ago and i’ve been using it ever since on my portable player when listening to audio books.
And you’re absolutely right, it’s not only saving time but it’s perfect to keep your mind alert! So i’ll take your advice and extend this habit to lectures & tutorials too 😀
Thanks BB !
[…] This page describes how to do this with vlc, mplayer and totem, including how to fix the pitch issues: How to Speed Up Videos in Linux God, Your Book Is Great !! […]
[…] This page describes how to do this with vlc, mplayer and totem (all free software), including how to fix the pitch issues: How to Speed Up Videos in Linux God, Your Book Is Great !! […]
VLC (now) supports streaming youtube videos directly with Media -> Open Network Stream.
This works in conjunction with the increased playback rate and scaletempo to give you what you want for watching flash online.
Jason,
Thanks for the tip !
Have you made any progress with this?
I’m seeking to increase the playback speed of khan academy but still be able to save the viewing progress their web UI reports when watch a lecture.
I’ve even considered forking the khan academy project and patching it so that when it runs from Local PC it will use the “best player” and by best I mean VLC which as @Jason Carver mentioned before can support faster playback of YouTube videos.
So, any progress on this matter?
Maxim,
I spent some time on it recently but without much success. Youtube does have a html5 trial which allows you to vary speed but the actual control over playback is rudimentary.
1.2 times the speed? That’s playtime for kids. I’m a student at Israel’s Technion university and streaming lectures are available from any network on campus. 1.5x is the standard playback speed, 2x is widespread, and I pulled off 3x once when I was watching a lecture for the second time.
You should seriously consider cranking it up a notch.