Episode: 4659
Title: Command Line Fun - Recording a show
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr4659/hpr4659.mp3
Transcribed: 2026-07-31 16:16:07 (official HPR transcript)

---

This is Hacker Public Radio Episode 4659, for 2026-06-11
Today's show is entitled, "Command Line Fun - Recording a show"
The host is Kevie and the duration is 00:13:19
The flag is Clean, and the license is CC-BY-SA
The summary is "Kevie uses FFMPEG tool to record an episode of HPR"
Hello, hello. This is Kevy and welcome to another episode of Hacker Public Radio.
Now, today I'm going to take a wee break from the beer garden and I'm going back to one of the other things that I've spoken about quite a bit in the past.
And that's what I had dubbed command line fun. Now, what I'm going to do today is go through recording an episode and trying to upload it,
using only the command line. Now, before we do this, there are two things you are going to need to have already installed.
So, please go double check that you have got these. So, first of all, you are going to need FFM peg.
Right, that is really important. That's a tool we're going to use. Yes, there are other things you could do, but I'm going to focus purely on FFM peg.
And the other thing you're going to need is a command line browser, because we're going to go hardcore here. We are doing everything on the command line.
So, we're going to attempt to upload this. Now, for this, I am going to use the links browser. Now, that's the LYNX, not to be confused with the one that's L-I-N-K-S.
So, but I'm sure that'll work as well, but just links is my preferred browser on the command line.
So, before we continue, please make sure you have these installed.
Now, the second preparatory thing that you need to do, that it's not in a setting necessarily, but I would highly recommend it is to make your own folder for this,
because you'll probably end up with a pile of tracks here, and you really don't want to be when searching for them.
So, what I would recommend you do is type and make the MK-D-I-R an end space, and then the folder whatever name you want.
So, keep life simple for just now, and this example, make the space podcast.
So, then we're going to switch to that directory by going CD space podcast.
Now, we can start actually recording. What I would highly recommend is, you record your podcast in many sections, and then we'll put them all together at the end.
Now, there's a reason, that's not the way I would do this if I was creating a podcast normally.
I would record the whole thing, this is myself, and then edit an audacity.
However, we don't have audacity as a command line program at present, not that I'm aware of anyway, and we want to limit the editing of this.
So, to do this, what we're going to do is, we're going to start with the command, I'll give you the whole command then I'll break it down.
So, the command is, F-M-Pig,
H-F-F pulse, I-F-N-I default, and then the file name dot-flac.
So, I would actually recommend, for this, you use something like record 0-1 dot-flac, and then every time you make a new one, just go up a level, that makes life much easier.
So, let's go through that. So, F-M-Pig's the tool.
Now, the minus F just tells you, or it tells F-M-Pig what mode it's going to be in.
Because, remember, F-M-Pig can deal with both video and audio.
So, I use pulse audio, it's got, it's all set up, I know what the defaults are, and there are multiple inputs attached.
So, I don't want my webcam, for example, record in this, because the audio will suffer.
So, I'm just putting down, then, so, H-F and then I'm putting pulse, that may be also, that may be pipe wire, whatever you're using.
And then the minus I is just purely what input device is going to be used.
Then, again, default is fine for me. You might want to have to check that out.
And then, maybe I would actually recommend for the very first one, is just create one called test dot flag.
And what that'll do is, you can record a simple message just to make sure your audio levels are fine.
It's picking up the right input, because as I said, you really don't want to be editing this.
Now, when you're done recording, press control C, because on the desktop, and on a graphical interface, that will call be something.
Control C, on a term, real, if you're not used to, kills the current command.
So, when you want to stop recording, just press control C.
Once you have all of your audio files recorded, I would recommend, given them a wheel listen.
Now, again, we don't need to leave the command line, just type an F-F play, all one word, and then a space followed by the files.
Now, unfortunately, F-F play only allows one file to be played at a time.
You can't but join them together, sadly, so you're going to have to go and play that for each one.
So, F-F play, record or one, F-F play, record or two, and you can just listen out.
This will give you an idea of, have you left big spaces at the start, big spaces at the end, because if you have, we can clip these.
But we can do this after we get it together.
Now, to put your file together, you should have all your files now.
I'm hoping you've named them nicely, so like podcast one, podcast two, podcast three, something along those lines,
because it's going to make this section so much easier.
So, to put them together, to F-F-F-M-Peg, space, and then, H-F-N-I, and then a space followed by your first file.
So, podcast one, dot flag.
And then, for every file you've got and you want to join together, you need to put the space and then,
H-F-N-I, and then the file name, and you need to keep on going.
Now, the biggest issue with this is that you need to put, you need to kind of note over how many you have.
So, if, for example, you had four MP3 files, flag files, whatever your audio file choices, I'm going to stick with flag for this.
Then, that's fine. You need to do name each of them individually, having H-F-N-I before them.
Then, after you've named them all three of them, or all four of them.
However, when you have more money you've got, you need hyphen, filter, underscore, complex,
and then a space, and then you need to put in the double quotation marks.
And then, for every file, you need to do open square brackets.
And now, this can be a way of confusing, because you're starting the count from zero, not one.
So, zero, colon A, closed square brackets.
So, you need to do that for each one, because you need to tell it, it's an audio file, and not to create a video of this.
So, if you have four, for example, you would need to do this as open square brackets, zero, colon A, closed square brackets.
And then, open square brackets, no space learning in between.
And then, one, colon A, closed square brackets.
And then, open square brackets, two, colon A, closed square brackets.
And then, open square brackets, three, colon A, closed square brackets.
So, you need to do that for as many as you've got.
So, the actual last number you use will be one less than the actual number, because you've started coding from zero.
Then, again, no space, Concart, CON, CAT equals N.
Not just space space, tell you not to put the video in, that the number, the video in just.
And then, equals, and then, you need the number of files.
So, whatever your last number was, I had one to it.
So, if you had four files, put four in here.
Then, colon, and then, once again, you're putting V equals zero for no video.
And then, a colon A equals one for audio.
And then, you're putting in your another double quotation mark.
And then, a space.
And then, whatever you want to call this.
So, just podcast, dot, flag, whatever it is.
And that will combine them all together.
In order to trim off all any silent parts.
Now, I have to confess, with FFMPIG, this has proved a bit hit or miss.
So, I am going to plea warn you over that.
So, if you really want to be pernicated here with this.
What I would actually recommend is you go and trim the audio.
If there is silence on the start or silence at the end.
Then, I don't think I want to go into this particular episode,
because it will cause quite a bit of an extra length discussing this.
However, what I can maybe do is put it onto the show notes.
And I will actually explain the problem with it is you have to do it.
A one command for the start, one command for the end.
You have to know how much you're going to take off it of each one.
And you're going to do it for each individual file, not the whole file.
So, I think to do that is maybe going to bit above and beyond what we're going to do here.
So, instead, we're going to use the silence removed filter.
As I said, this can be a bit flaky.
Sometimes it works well, sometimes it leaves big silence.
There's actually, if you find there's a big silence in the middle of this,
that's the reason why.
So, the command is FMPEG and the end space.
And then, hiphon i and then you're filed.
Now, this is the file that you created when you combine them all together.
So, this is your podcast.flac file or whatever you've called it.
And then space, and it's hiphon if, and then space, silence remove all one word.
And what this is going to do is this is going to.
Check the whole file, right?
And so, after silence removed, it equals stop, underscore,
pdids equals minus 1, colon, stop, underscore, duration equals 1,
colon, stop, underscore threshold equals minus 45,
and then give the new file a name.
So, podcast, done, don't flag, something like that.
Whatever you want to call, doesn't really matter to be on as long as you can remember what you've called this.
Now, at this point, I was hoping to actually take you through uploading this,
using links or some other command line browser.
The problem is, yeah, I forgot about this, with hpr using the new,
what you see is what you get, show notes.
And, obviously, you don't get that on a terminal browser, then you've got to do everything by html coding.
Now, I don't have an issue with that, but it has been a wee while.
I can do basic html coding, and I probably could have done enough for this.
But at the same time, I also didn't want to mess up and make a lot of extra work for the janitorial stuff.
So, actually, I'm tricking out at this point.
We've got the file just simply could be a browser and do it that way.
If anybody actually does take the next step and doesn't get an angry email from Kner,
one of the other janitors, then let me know, but you're a braver person than I am.
Okay, so hopefully, that has gone through everything.
As I said, I've left a wee bit of extra editing notes in the show notes that they're all done,
and they are hopefully, this is going to be clear enough to follow.
Not necessarily the easier things. It's just another way to show how you can edit,
and how you can record audio files.
I mean, to be honest, the simplest way is probably just recording an episode on your phone,
but hey, since when did geeks ever like the simple way?
We like doing things, and we seem to especially like doing things on the command line just because we can.
Okay, so this is only one way.
I've shown you one tool, yes, that are plenty of other tools you could use.
I wasn't going to go through each and every one.
But the FM peg was the one that I thought this would be available on the majority of your people's computers.
Probably already pre-installed, but again, always double check just to make sure before you start typing in any of these commands.
So signing off now, student tomorrow for another exciting episode of Hacker, public.
Radio.
You have been listening to the Hacker Public Radio podcast, at hackerpublicradio.org.
Today's show was contributed by a HPR listener like yourself.
If you ever thought of recording a podcast, then visit the HPR site to find out how easy it really is.
Hosting for HPR has been kindly provided by anhonesthost.com, the Internet Archive, rsync.net, and the HPR Community Content Delivery Network.
Unless otherwise stated, today's show is released under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.
