I am trying to record my desktop and save it as videos but ffmpeg fails.
Here is the terminal output:
$ ffmpeg -f alsa -i pulse -r 30 -s 1366x768 -f
Use -preset, not - preset (notice the space). ffmpeg uses - to indicate a pipe, so your typo is being interpreted as a piped output.
-f optionFor users who get the same error, but actually want to output via a pipe, you have to tell ffmpeg which muxer the pipe should use.
Do this with the -f output option. Examples: -f mpegts, -f nut, -f wav, -f matroska. Which one to use depends on your video/audio formats and your particular use case.
You can see a list of muxers with ffmpeg -muxers (not all muxers can be used with pipe).