Linux is the main OS in my laptop and I use Skype a lot on it. Unfortunately Skype support on linux sucks! Now that Micro$oft bought $kype it should be worse! I'm gradually moving to Google talk video, but a lot of contacts (specially my family) still use Skype only.
Because is poorly developed Linux version of Skype doesn't allow resize the video window and aspect ratio. This is a pain when you have a HD Webcam because Skype always start a video call with a 640x480 ratio (HQ video call) and switch automatically to HD quality (1280x720) if your connection is higher than 30KB/s. Instead of change the aspect ratio from 4:3 to 16:9 Skype shrinks the HD video in a 4:3 frame, which make your video really weird for the other person causing a "wobbly" image effect some times.
If Skype was open source, we could try to correct that issue hacking the code. But the code is proprietary and there is no way to change the aspect ratio in the configuration file. The only way to fix it is restricting the upload rate during video call to ~30KB/s.
Linux has a command to control network traffic called "tc". Let's create a shell script that will be executed and will limit our upload speed to ~30KB/s when we start a call and another script that will restore our upload speed after we finish a call.
To limit upload speed create a file called "limit_upload_bandwidth.sh", fill with the code below and give permission to execute:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
sudo tc qdisc add dev wlan0 root tbf rate 300kbit burst 5000 latency 50ms | |
sudo tc qdisc add dev eth0 root tbf rate 300kbit burst 5000 latency 50ms |
To restore the upload speed create a file "called restore_upload_bandwidth.sh" and fill with:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
sudo tc qdisc del dev wlan0 root | |
sudo tc qdisc del dev eth0 root |
Now let's configure Skype to execute these scripts.
Open skype, go to menu -> options (Ctrl+o).
Choose the option "Notifications". Choose the Advanced view.
Choose "Call Answered" event and insert the path to "limit_upload_bandwidth.sh" as below:
Do the same for "Call Ended" and "Call Hungup", but insert the path to "restore_upload_bandwidth.sh" instead.
Apply the changes and happy video call!
No comments:
Post a Comment