Watch videos at higher playback speeds

April 2, 2009 | Leave a Comment

This is going to be a small, technical tutorial on how to save a lot of time by watching videos at higher playback rates.

I first read about this idea from my most favorite personal development blog at Steve Pavlina.com. In his post “Overclock Your Audio Learning” he says that he occasionally listens to audios at 4.1x. At this speed 4 hour video/audio can be listened in less 1 hour!

I personally found it impossible to understand anything at 4x speed. My optimal listening speed is 1.65x - 2.1x.

To speed up the videos you will first need to download and install AviSynth. AviSynth is kind of a video programming language with which you can do all kinds of manipulations to videos programmatically. If you are on Windows, then during the installation make sure to associate .avs file extension with Windows Media Player and not Notepad.

Next, create this AviSynth script, and place it in the same directory as your video. Name the script as “speedup.avs” or something similar. Make sure the extension is “.avs” if you are on Windows!

file = “file_name_of_video.avi”
speedup = 1.65
pitch = 100 

DirectShowSource(file) 

audio_rate = last.audiorate
video_rate = last.framerate 

AssumeSampleRate(int(audio_rate*speedup))
AssumeFPS(video_rate*speedup)
TimeStretch(pitch = pitch)

There are three variables that you can change in this simple script. The first is “file“. It should be the filename of the video you are about to watch. The next is “speedup“. It’s the new playback rate, you may set it to any value you wish. For example, if you set it to 2.0, then the video will play twice as fast as it normally would. And the last parameter to change is the “pitch“. You may change it to something lower than 100 when the video plays at higher speeds to make the speaker sound lower. I usually keep “speedup” at 1.65 and “pitch” at 75.

Once you have made your own configuration, just double click the .avs on Windows to play it at the new playback speed, or play it through mplayer on Linux!

Other suggested technique on how to watch videos is to use mplayer. Turns out it already has an option to play videos faster!

mplayer -speed 1.65 file.avi 

# use keys [ ], and { } to control the playback speed
# use backspace to reset video speed to normal.

Another technique suggested is to use MySpeed™ Plug-In for YouTube to speed up video on YouTube in real time.

Do you have any other techniques to speed up videos? I am also curious at what speeds do you feel the most comfortable watching the videos?

It would also be cool to create a hack that modifies youtube and google video players to make them play videos faster natively.

Fix Internet Explorer 7 Crashes in Vista

November 12, 2008 | Leave a Comment

A lot of you may have seen Internet Explorer crash “Internet Explorer has stopped working” when closing the browser in Windows Vista. It happens all too often and while it no longer takes the operating system out with it, it is still annoying.

There are a lot of reasons why Internet Explorer will do this, but one we have found that really stands out is Adobe’s Flash Player plug-in and ActiveX [COM Client] control. Seven (7) of ten (10) IE 7 crashes I have personally seen, are related to the Flash Player plug-in.

A lot of users may see messages advising them to re-install the Flash player and many take this advice - but they don’t see any relief and the plug-in continues to un-plug IE.

Fortunately, Adobe has published a less well known Flash Player removal tool and procedure that users should use and follow BEFORE they re-install the plug-in.

Please reference Adobe’s Support Site, which states: (be sure to follow all instructions and take note of the files Adobe’s uninstaller cannot remove)

“How to uninstall the Adobe Flash Player plug-in and ActiveX control”

Due to recent enhancements to the Adobe Flash Player installers, you can now remove the player only by using the Adobe Flash Player uninstaller. To remove Flash Player, simply download and run the appropriate uninstaller for your system using the steps below.

  1. Download the Adobe Flash Player uninstaller:
  2. Save the file to your system, choosing a location where you can find it (for example, your desktop). Macintosh users may need to open or unstuff the .hqx file.
  3. Quit ALL running applications, including all Internet Explorer or other browser windows, AOL Instant Messenger, Yahoo Messenger, MSN Messenger, or other Messengers. Check the Windows system tray carefully to make certain no applications which might possibly use Flash Player are still in memory.
  4. Run the uninstaller. This will remove Adobe Flash Player from all browsers on the system.

Note: The uninstaller cannot remove files currently in use.

If you have any instances of the player open in your web browsers, instant messaging clients, stand-alone SWFs, or projectors, then the uninstaller will complete but some files may not be deleted. If this occurs, then close all of your applications and run the uninstaller again to ensure that all files are removed.

 

Note: Internet Explorer users may have to reboot to clear all uninstalled Flash Player ActiveX control files. If you’re not certain, select the “Show Details” button in the Flash Player uninstaller. If there are any log lines that begin with “Delete on Reboot…” then you’ll need to reboot BEFORE running the Flash Player installer again.

After running Adobe’s tool and following their procedure for removing left over files, we restart the computer and reinstall the Adobe Flash Player plug-in and IE 7 on Vista runs much more reliably. Of course many other plug-ins can cause IE to crash, but since Flash is so common on so many websites, it is much more likely to be encountered.

 

 

Alternate data stream

October 24, 2008 | Leave a Comment

Ever since Windows 2000, the NTFS file system in Windows has supported Alternate Data Streams, which allow you to store data “behind” a filename with the use of a stream name. It’s not detectable while browsing the file system, or anywhere within Windows… you can only access it with the “secret key” which is really just the name of the stream.

image


















You can think of these extra streams as secret compartments within the file, that can only be accessed if you know the “secret code”, which in this case is just the name of the stream.

This isn’t a completely secure way to hide data as we’ll illustrate below, but it’s a fun trick to know about in a pinch.

Note: This only works on a drive formatted with NTFS.

Hiding Data in a Secret Compartment

In order to use this feature, you’ll have to open a command prompt and use the following syntax:

notepad SomeFile.txt:SecretWordHere.txt

You can use anything after the colon as a secret word, the key is that there can’t be any spaces between the first filename and the colon.

If you didn’t specify .txt on the end, Notepad will automatically add it, and ask if you want to create a new file, even if SomeFile.txt already existed, because SecretSquirrel!.txt doesn’t already exist.

Now you can enter in whatever data you want here and save the file:

image


















When you look at the file, it will still be the exact same size as before:

image


















You can even open up the file by double-clicking on it, and add whatever data you want to make the file look normal:

image


















You can use the command line again to add a second hidden “compartment” with a different name:

You can add whatever other information to this file that you’d like:

image


















None of these hidden files will affect the other, or change the main file. Just remember you have to use the command line to access the hidden data.

Note: Once you create a hidden stream, that stream isn’t exactly part of the file… you can’t copy your file to another location and access the streams over there.

Detecting Files with Streams

Of course these files aren’t completely hidden from everybody, because you can use a small command line application called Streams.exe to detect files that have streams, including the names of the streams.

For instance, in my scenario we’d use the following syntax:

streams.exe SomeFile.txt

As you can see, the names of the streams are shown, which would allow you to easily access them.

Deleting Streams

You can use the same Streams.exe command to delete all streams from a file, although I don’t think you can delete just a single stream. Use the following syntax:

streams.exe -d SomeFile.txt

As you can see in the screenshot, the streams are now removed from the file.

Adding to Hidden Streams from the Command Line

You can add data to a hidden stream by using a number of commands, or really anything that can pipe input or output and accept the standard FileName:StreamName syntax. For instance, we could use the echo command:

echo “Neat!” > SomeFile.txt:Test

You can see with the streams command in the example above that we now have a hidden stream on the file.

Reading a Stream From the Command Line

You can read data from the stream by piping data into the more command, using this syntax:

more < FileName:StreamName

In my example the actual command was this:

more < SomeFile.txt:SecretSquirrel!.txt

As you can see, the secret data that we added is outputted to the console.

Conclusion

This isn’t a secure way to hide data… for that you should use TrueCrypt. It’s just one of those things that can be fun to use and might come in handy here or there.

Learning is fun, isn’t it?

Network port configurations for MSDTC

July 27, 2008 | Leave a Comment

What is MSDTC?

MSDTC is the Microsoft Distributed Transaction Coordinator, which is a transaction manager program that permits client applications to include several different sources of data into one transaction. MSDTC then coordinates committing the transaction across all of the servers that are listed in the transaction. MSDTC runs on all Windows operating systems, and is also installed by a variety of Microsoft applications, including Personal Web Server and SQL Server.

What Network Ports are Used?

MSDTC uses a number of TCP network ports for sending and receiving messages. This fact must be considered when MSDTC is running in a network environment where the servers involved in the transactions. Say you are running a multi-tier application, and each tier is separated by a router or firewall for security purposes. An example would be an application server in one tier communicating with a SQL Server database You will need to know what port numbers need to be opened for MSDTC transaction information to be able to pass through successfully.

For sending out transaction messages, MSDTC always uses the same TCP port - 135. Dealing with the response message is a little more tricky. MSDTC response messages return on a dynamically assigned port anywhere in a range from 1024 - 5000.

Configuring the MSDTC Respone Port Range

As most of you can probably guess, network administrators are not very fond of opening a wide range of ports all at once. So in order for MSDTC communications to still work and keep the network administrator happy at the same time, you will need to reduce the port range used by the response messages. This change is configured in the registry of the servers involved in the MSDTC communications. You will need to add a couple of keys to the registry.

Note: Please make sure to always take a backup of the registry prior to making any changes!

The location of the change is:

HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\Internet

The following entries need to be added:

Ports : REG_MULTI-SZ : 1024-1054

PortsInternetAvailable : REG_SZ : Y

UseInternetPorts : REG_SZ : Y

(There is a space both before and after each colon)

In this particular example we are limiting the responses to a port range of only 1024-1054. The exact range of ports to use is basically up to each individual organization.

Testing MSDTC Communications

So how do you know your changes were successful? Microsoft provides a handy little tool called DTCPing.exe that you can use to test MSDTC communications between servers. DTCPing can be downloaded from:

http://www.microsoft.com/downloads/details.aspx?FamilyID=5e325025-4dcd-4658-a549-1d549ac17644&displaylang=en

This file is a self-extracting zip file.  Confusingly, the zip file and actual executable file are both named “DTCPing.exe”, so you need to make sure to extract to a separate directory, otherwise you will receive a ‘Cannot create output file’ error message.

Once extracted, simply launch DTCPing.exe. The tool must be up and running on both the sending and receving servers, otherwise the test will fail. The initial screen of the tool will look like this:

DTC Ping





From here just type in either the NetBIOS name or IP Address of the remote node and click Ping. Test messages will appear in the DTCPing windows of both the sending and responding servers, and a summary of the test will be presented at the end. The test scenario will also be written to a log file that can be found in the same directory as the DTCPing.exe file.

Next Page »