ffmpeg is a great tool for recording live video streams to files, clipping video files, streaming video files to udp, and a bunch of stuff I don't care about. Of course, I feel like it's always a battle to get the right flags to do exactly what I need.
The most recent example, I just want to copy an MPEG-TS file:
ffmpeg -i ./CheyenneVAhospital.ts out.ts
Yeah, of course it isn't that easy. ffmpeg has decided that I have no need for the KLV data stream.
Input #0, mpegts, from './CheyenneVAhospital.ts':
Duration: 00:01:05.15, start: 271.125322, bitrate: 5535 kb/s
Program 1
Stream #0:0[0x100]: Video: h264 (Baseline) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 127 kb/s
Stream #0:2[0x102]: Data: klv (KLVA / 0x41564C4B)
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> mpeg2video (native))
Stream #0:1 -> #0:1 (aac (native) -> mp2 (native))
Press [q] to stop, [?] for help
Simple enough, but I am compelled by future me to preserve this knowledge in the cloud so that I can further delay defragmenting my brain.