Posts

Using FFMPEG to trim your videos

 There are multiple methods to trim or clip videos with the help of FFMPEG, but sometimes looking at the documentation can confuse lots of us, and we cannot derive the output we want. And the examples on the documentation are simpler than what we want to do. So I will show few methods to combine, trim or clip video files using FFMPEG. I won't be going through installation process and will assume that you already have it installed. 1. Using timestamps to clip the video 🕐   ffmpeg -i video.mp4 -ss 00:00:00 -to 00:10:00 -c copy output.mp4   This command will copy the clip from 0 sec to 10 min without re-encoding, since we specify not to re-encode. Break down of command:      -i  : input video file     -ss : starting timestamp you can define in hh:mm:ss or just secs     -to : ending timestamp, this is the timestamp of the video     -c copy : codec is copy, which doesn't require re-encoding   If you want to copy the video from some other time to some duration    ffmpeg -ss 00

Audio de-noising using Python (Wavelets)

What is audio de-noising? Audio de-nosing is a process of removing noise(unwanted sound/signals from audio). You might have heard of noise cancellation headphones, these remove all the noise from the audio.  This process has various applications in media creation and learning. Also, de-noising is not only done on audio but also done on images. There are various methods to do this. We will see 2 methods and implement one. Method 1: FFT (Fourier Transform)    There are multiple different implementations of FT: FFT (fast FT), STFT (Short time FT). Also, there are inverse for each of them IFT respectively. So what is it? In short, FFT converts signals from one form to another, in audio, the time-series signal is converted to the frequency domain. More shortly, the dominant audio (your voice) will have more power than the non-dominant(noise). The following video will explain (a really good video):  Denoising with FFT (in Python)  Method 2: Wavelets (faster than FT)    These are complicated

JWT Token Auth | JSON Web Tokens in Node.JS

Image
When you create a REST service or any backend server for a website or an app, there is one talk about this new trending method for authenticating the user who is requesting your servers for data.   Previously there were only a few ways to know where is the request coming from. That could be storing  cookies, sessions in browsers, and using them to identify the user. So this method evolved, the trick is to create a string that has info of the user and data about the user.   So JWT has payload, header, and signature which has info of the user and other important data. Why JSON you ask? because JSON is less verbose than XML and when encoded the size is small to easily use in HTTP transmissions. The authorization token is passed as:   Authorization: Bearer <token> How it works? User signs in with username and password.  The server creates a JWT using one of the algorithms (HMAC, RSA, or ECDSA). Then this token is sent to the user and every

Should I read a BOOK or take a COURSE?

There are lots of confusion these days as we have more options to pick from. As we grow we tend to look at answers to the problem all by ourselves. Considering Computer Science, we have a huge list of domains available like Machine Learning, Artificial Intelligence, Mobile apps, Web apps, Computer Network and Security, Data mining, Data Science, etc. and whatnot.  The first problem comes which domain to choose from, that is done, how do I learn it? So should I read a book or take a course (online or offline). Even if you choose one from book or course, still loads of options from a book list and course sites and types.🤔 One solution to this problem is: 🤗   Learn by doing. Simple, what am I saying is pick a domain, pick a project under the domain (a simple one, old one or just something of your own), and start developing it from scratch. Now you'll say I don't know anything about the subject, how am I going to code? So use the internet, check source codes of open source projec

Adding Firebase functionality in your app | Part 2 Creating Firebase Authentication

Introduction: In this post, we will create a Login and Registration Page with Firebase authentication, we will accept the name, email, password of the user and register the user with the Firebase auth library. Implementation: First, we need to enable authentication for our project, go to the Firebase console, select Authentication from the left panel and then sign-in method, enable email method. In AS, go-to the assistant, in the right panel, select Authentication, click connect to Firebase, it will be in green when connected, second select Add Authentication to the project, Accept changes and finish. Now you can start coding. Create an Empty Activity, named as SignUp Go to SignUp.xml and add the following XML. The XML file defines three EditText for user input and Button. Add the following java code to read the input and create an account with the Firebase If everything is done correctly, you would be able to create an account with your email, when created check

Adding Firebase functionality in your app | Part 1 Connection

Image
Introduction :   Firebase is an online free cloud database, storage and authentication provider by Google. It can be used in mobile apps, websites, and other standalone. It provides database storage facility which is real-time, means the changes made to the database are reflected in user apps in realtime. It is suitable for personal as well as business applications. Anyone with a Google account can start working with the Firebase. I am going to post a series of articles on Firebase, so stay tuned. Connecting your Android project with Firebase : There are few ways to connect to Firebase, but I'll show a quick and easiest way which is not really documented on Google Docs. Create an Android Project with Android Studio. Sign In with Google in AS with the same account that you want the Firebase project to be with. You can log in in AS with the option in the top-right corner, then go to tools option in the options menu. Choose firebase and then the assistant will pop up fro

Create an APK of Android Projects from Android Studio

Image
Introduction : Creating an Android app is quite simple when you get a hold of it, but sometimes deploying it can get tricky, especially while the project is going to target some particular android users. So here's a walkthrough. Steps : Code cleanup, remove unused resources, removing these would make your apk as small as possible. String resources, extract strings that are hardcoded, these string won't be translated if the system is using some other language. Add appropriate android api in app.gradle file. Make sure everything is working fine and that there no extra debugging details available on the UI.  Once you're ready : Click on the Build option in the Options on the Top. Select Generate Signed APK Create Key for app, make sure you keep the key file safe, because when updating the file you might need this file again. Set a password and key store path Finish the process You will get a message showing the completion