FFmpeg – Basic Filter Graphs
FFmpeg is considered the Swiss Army knife of video transcoding/streaming. Let’s start with some very basic examples today of what we can do with FFmpeg. Format conversion ffmpeg -y -i input.mkv output.mp4 In this simplest example, FFmpeg produces MP4 output from MKV input. -y denotes that we want to overwrite output.mp4 if it already exists. -i marks the input. In addition to these two, FFmpeg supports many other popular multimedia file formats, including MXF, AVI, WAV, M4A, JPG, PNG etc. Codec conversion ffmpeg -y -i...
Unified Cloud Transcription Framework
With the rise of machine learning and cloud computing, it looks like every major cloud provider has their own transcription (speech-to-text) service. Giants like Google, Amazon, Microsoft and IBM support a good number of languages that can be transcribed from a given audio input. It can be hard to decide which one is better for which language before we have tested them all extensively. But if we want, we can consider leaving this choice to...
Rebuild Elasticsearch index without downtime
Elasticsearch allows us to add fast full-text searching and autocomplete features to our projects very easily. We can create an “index” in Elasticsearch and store the items we want to search as JSON documents into the index, to be able to run queries depending on different fields of the documents. Do we ever really need to rebuild an index? Yes. There are situations when this becomes unavoidable. For example, if we need to change any of the...
Building a cross-platform background service in Node.js
We are living in an era where you can use JavaScript to write almost any part of an application: whether it is the UI that runs in the browser or mobile, or the service/lambda that does the heavy lifting in the cloud, or even beautiful desktop applications like Slack and Visual Studio Code. In this article, we will discuss how we can build a background service in Node.js that can run across Windows, Linux and macOS. What...