convert video by ffmpeg - bash

I have problem with converting video.
I have a line in my bash script:
ffmpeg -i in.mp4 -vcodec mjpeg -r 25 out.avi
and I recieve an error when I try to run it
'NULL # 0x1cbeb60] Unable to find a suitable output format for 'out.avi
: Invalid argument
any idea why this is error is coming up?

You might need to specify an output format -f to ffmpeg:
ffmpeg -i in.mp4 -vcodec mjpeg -f avi -r 25 out.avi
-f avi denotes output to avi format.

Related

How to use ffmpeg command without any codec?

I am using the following command to create an mp4 container, input in a raw file, and the problem I have is FFmpeg apparently trying to encode me in H264. Is there a way to tell FFmpeg not to use any codec? that is, how do I use FFmpeg without compressing anything? Thanks!
Command statement i'm using:
ffmpeg -f rawvideo -pixel_format rgb24 -video_size 160x120 -framerate 24 -i file out.mp4
Output:

ARSS returns error "This WAVE file format is not currently supported"

I have tried to import a wav file into ARSS: http://arss.sourceforge.net/index.shtml
I get the above error.
Files:
https://drive.google.com/open?id=1X24eUOzOGa5uBUHFTtrSmzptIQTz-93l
I have tried the following commands with FFmpeg to create a "clean" wav, however, they have all failed.
ffmpeg -i "file.wav" -f wav -bitexact -acodec pcm_s16le -ar 22050 -ac 1 "ffmpeg.wav"
ffmpeg -i file.wav -c copy -fflags +bitexact new.wav
Ffmpeg appears to convert successfully, but it still returns the same error message in ARSS.
The OP in a similar question had a file without any metadata within the WAV, so -bitexact was sufficient. Your input has metadata, so that has to be removed as well.
ffmpeg -i file.wav -c copy -bitexact -map_metadata -1 new.wav

ffmpeg not stopping when input is dshow

We were recording a video by specifying a named pipe as input for video frames, like this:
ffmpeg -r 30 -f rawvideo -pix_fmt bgra -s 640x480 -i namedPipe [... output options] out.mp4
It works well, and FFmpeg stops once the named pipe is closed, as is desired.
However, then we also want to record live audio from directshow, like this:
ffmpeg -r 30 -f rawvideo -pix_fmt bgra -s 640x480 -i namedPipe -f dshow -i audio=virtual-audio-capturer [... output options] out.mp4
This also works, but the problem is that the process now does not stop any more once we close the named pipe for the video frames.
My guess is that ffmpeg still gets audio input and thus just keeps running.
How can I change the FFmpeg command so that it stops once the video frames keep coming?
Add -shortest i.e. [... output options] -shortest out.mp4

How to stream webcam video using ffmpeg?

I am very new to ffmpeg and just read some examples on how to open a video file and decode its stream.
But is it possible to open a webcam's stream, something like:
http://192.168.1.173:80/live/0/mjpeg.jpg?x.mjpeg
Is there any examples/tutorials on this?
I need to use ffmpeg as decoder to decode the stream in my own Qt based program.
Nyaruko,
First check if your webcam is supported... Do
ffmpeg -y -f vfwcap -i list
Next ,
ffmpeg -y -f vfwcap -r 25 -i 0 out.mp4 for encoding
This site has helpful info;
http://www.area536.com/projects/streaming-video/
Best of Luck.
This works for live video streaming:
ffplay -f dshow -video_size 1280x720 -i video0
The other option using ffmpeg is:
ffmpeg -f dshow -video_size 1280x720 -i video0 -f sdl2 -
Above both the solution are provided by FFMPED

ffmpeg fails with: Unable to find a suitable output format for 'pipe:'

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 x11grab -i :0.0 -vcodec libx264 - preset ultrafast -crf 0 -y screencast.mp4
...
Unable to find a suitable output format for 'pipe:'
typo
Use -preset, not - preset (notice the space). ffmpeg uses - to indicate a pipe, so your typo is being interpreted as a piped output.
pipe requires the -f option
For 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).

Resources