Posts

Showing posts with the label audio

Plan 9: Audio-Video Pipeline

Image
Video pipeline in action Two important points about videos: A video is a series of images. RGB format is used for display. YUV format is used for storage and transmission.  Recording   ──────────────────────────────────────────────────────── [Video Source] → [Frame Processing] → [Video Encode] ┐                                                                                                      ├→ [Mux] → [Container Stream] [Audio Source] → [Audio Processing] → [Audio Encode] ┘ Playback   ──────────────────────────────────────────────────────── [Container Stream] → [Demux] → [Video Decode] → [Video Sink]                                   ...

GNU Emacs: A multimedia editor

Image
Ever wondered - what if multimedia editing were as simple as text manipulation? Simple cut, copy and paste operations. Thanks to VLC and FFMPEG, now you can use GNU Emacs for simple multimedia editing tasks. Code: https://gitlab.com/atamariya/emacs/-/blob/dev/src/xwidget.c https://gitlab.com/atamariya/emacs/-/blob/dev/lisp/xwidget.el https://gitlab.com/atamariya/emacs/-/blob/dev/lisp/media.el Concepts - Number denotes a file and an amount of time defined by a scale. e.g. if the scale is 10 seconds, digit 1 denotes 10s clip from file number 1. Corresponding file name is displayed in the dashboard. - Red coloured digit represents a fraction of scale time. e.g. if scale is 10s, it might represent 0-10 s clip. - Number denotes the start time of the clip. - Dot denotes a blank clip for an amount of time defined by a scale. - Whitespace is only a visual separator. - In the viewer window, use o for opening a file, e for exporting, SPC for toggling play, and RET for splitting the clip. - In th...