Saturday, July 17, 2021

FFmpeg course

FFmpeg is often called the Swiss Army knife of video transcoding/streaming. It is one of the most popular multimedia frameworks out there, which is free, open-source, and cross-platform. FFmpeg is used by many popular and important applications and services, such as YouTube, iTunes, and VLC.

For its support of a wide range of codecs and containers, FFmpeg is the most commonly used tool for transcoding/converting audio/video from one format to another. It has a huge collection of filters that can be combined to manipulate and transform media in many different ways.

I have been working with FFmpeg for quite a while now. When I started, I found it a bit difficult to understand how it works. Most of the resources I found were very detailed reference-like documentations which can be a bit difficult to go through for a beginner in audio/video processing like me that I was. I looked for a tutorial-style basic introduction to the concepts, but could not really find one. Years later, when I had ample opportunity and time to work with FFmpeg and had a clearer picture of the concepts, I put together a course on Udemy with diagrams, examples, and hands-on video demos to introduce not just FFmpeg, but the basics of audio/video and transcoding in general. It has now become a featured course on Udemy and a bestseller.

This course aims to be your comprehensive guide into the world of FFmpeg. The sections of this course are carefully planned to make it very easy to get started with FFmpeg in a short time. The lectures are organized with diagrams and hands-on examples, so that you can master the core concepts of FFmpeg in order to build complex media manipulation pipelines with efficiency.


By the end of this course, you will have a clear understanding about how FFmpeg works and how to put FFmpeg commands together to perform media processing tasks like transcoding and other workflows.

Click here to enroll in the course with the best deal at the moment.






Friday, March 9, 2012

Buddy watch in newer Polycom firmwares

Apparently, the sip.cfg file in newer firmware packages for Polycom phones do not have the presence feature enabled by default. That is why the phones do not have the buddy-watch option in the speed dial or directory.

This feature can be enabled easily by editing sip.cfg.

Change
    <feature feature.1.name="presence" feature.1.enabled="0"
to
    <feature feature.1.name="presence" feature.1.enabled="1"

The phone needs to be restarted for this change to take effect.

Asterisk DISA: no dialtone provided or DTMF collected

If you are getting no dialtone with Asterisk DISA, and no DTMF is collected either, probably you need to put an "Answer()" in the dialplan before calling DISA. Otherwise, the channel is not established where DISA is supposed to play the dialtone or collect DTMF digits. I found that The Definitive Guide did not have "Answer()" in their examples of DISA regarding SLA.

Asterisk crash on SLA call

I configured Asterisk 1.8.6.0 for Shared Line Appearance. But I was getting a crash when I called the shared extension. I found that this was happening because I had turned on the "DONT_OPTIMIZE" compiler flag (from make menuselect). After I turned it off, the crash problem was solved.

Friday, February 3, 2012

Lion on HP dv6 3060TX Laptop

Some notes from experiments:
  • Laptop: HP dv6 3060TX (core i5, 4GB RAM, 1GB ATI, 15.6").
  • HDD: Transcend USB 500GB.
  • Get iATKOS L2 image.
  • Burn the dmg file with Magic ISO.
  • On the boot screen of the installer, type the following to avoid hang: "-v cpus=1 busratio=17"
  • Install on portable USB HDD to keep existing OS on main HDD intact.
  • Use MBR partition (does not boot after install if GPT is used). Use HFS Journaled.
  • Have multiple other partitions for future because Single Mac partition for the whole disk disables any resizing of the partition later.
  • After install, keep typing the boot options on every boot (later can be entered into a file).
  • It does not work right away after install. Delete all files starting with "AppleIntelHD" and "ATI" from the location /System/Library/Extensions. Can do this from Windows using MacDrive.
  • The keyboard and track pad do not work right away. Use USB keyboard and mouse for the time being.
  • Need to install some kexts for keyboard, trackpad and Wi-Fi (Wi-Fi works but does not get IP correctly!).
  • Use Champlist utility app to install the kexts (Applications > Utility).
  • Search the net and install HP 8440p kexts for keyboard and track pad (ApplePS2Controller.kext, AppleACPIPS2Nub.kext).
  • Search the net and install IO80211Famliy.kext for Wi-Fi.
  • Modify the com.apple.Boot.plist file in /Library/Preferences/SystemConfiguration and in /Extra to include the boot options and resolution (no need to enter options on every boot after doing this):
<key>Kernel Flags</key>
<string>cpus=1 busratio=17</string>
<key>Graphics Mode</key>
<string>1366x768x32</string>
  • Use apps like TinkerTool and Cocktail to fine tune performance.
  • To install Xcode 3.2.6 (with iOS SDK 4.3) on Lion, first make the dmg of Xcode writable with Disk Utility. Then find the file "iPhoneSDKSL.dist" in it. Open it and replace the string 10.7 with 10.8 (only one occurrence). Save the file. Now it should install properly.

Friday, September 9, 2011

Bangladesh Income Tax and Freelance Software Developers

In this post, I am summarizing some of the NBR documents I found regarding taxation of earnings received as inward remittance from freelance software development. (Some of the pdf documents referred use Bangla fonts).

Recently (from July 2011), some banks of Bangladesh started to deduct advanced income tax at a rate of 10% from inward remittances received by individual software developers which they receive as wage/salary. But people were able to get a full refund for the money by applying to the banks stating that this money was earned from software development.


The reason for the deduction was that in the recent amendment of Income Tax Ordinance 1984, a new section (52Q) has been added (page 14 of this pdf):

52Q. Deduction of tax from resident for any income in
connection with any service provided to any foreign person.-
Any person, responsible for paying or crediting to the account of a
resident any sum remitted from abroad by way of service charges
or consulting fees or commissions or remunerations or any other
fees called by whatever name for any service rendered or any work
done by a resident person in favour of a foreign person, shall
deduct tax at the rate of ten percent of the amount so paid at the
time of making such payment or credit of such payment to the
account of the payee .


But individual/freelance software developers who receive their earnings as remittance should be free from this tax because of the following two SROs.

SRO-216, 2005 (page 10 of this pdf):

Although it says "up to 2008", the exemption has later been extended up to 2013 with section 33 of the Sixth Schedule of Income Tax Ordinance (page 61 of this pdf):

33. Any income derived from the business of software development and Information Technology Enabled Services (ITES) for the period from the first day of July, 2008 to the thirtieth day of June, [2013]Subs. F.A. 2011:
Provided that the person shall file income tax return in accordance with the provisions of section 75(2)(c) of the Ordinance.
[Explanation : Information Technology Enabled Services (ITES) means-Digital Content Development and Management, Animation (both 2D and 3D), Geographic Information Services (GIS), IT Support and Software Maintenance Services, Web Site Services, Business Process Outsourcing, Data entry, Data Processing, Call Centre, Graphics Design (digital service), Search Engine Optimization, Web Listing, E-commerce and Online Shopping, document conversion, imaging and archiving.]Subs. F.A. 2011

This again has been extended up to 2015:

(৩) paragraph 33 সংশোধনের মাধ্যমে সফটওয়্যার উন্নয়ন ও Information Technology Enabled Services (ITES) থেকে আয় করমুক্ত থাকার মেয়াদ বৃদ্ধি করা হয়েছে। এর মাধ্যমে এ খাতের করমুক্ত আয়ের সুবিধা জুন, ২০১৫ পর্যন্ত বহাল থাকবে।
33. Any income derived from the business of software development and Information Technology Enabled Services (ITES) for the period from the first day of July, 2008 to the thirtieth day of June, [2015]Subs. F. A. 2012
Provided that the person shall file income tax return in accordance with the provisions of section 75(2)(c) of the Ordinance.

The second SRO is SRO-216, 2004 (page 2 of this pdf):



This kind of earning can be claimed as tax-free, as described in the tax-return fill-up guideline here (pages 23-25 of this pdf):





Monday, May 16, 2011

Anagram Generator

http://wordsmith.org/anagram/

Syed Andaleeb Roomy = A bad needy sly Romeo !!!