If you don’t specify codec info in your FFmpeg command then it will transcode the video using H.264 with the Constant Rate Factor rate control method keeping visual quality the same but if you don’t want to transcode your video then you will have -c copy option with your FFmpeg command. Which will tell FFmpeg to just copy the encoded video stream to the output.
Moreover, When asking to copy the stream over, you cannot use audio, video, or multimedia filters because they require decoding and manipulating the audio and video frames. As a result, their output needs to be recorded. However, bitstream filters can be used with a copy since they only change the related metadata that is saved in the stream, not the primary payload.
To make sure that every video clip published on my website is encoded as mp4 h264, I intend to utilize ffmpeg.
I want to reduce processing overhead by just processing files that aren’t already mp4 h264, as opposed to automatically processing every file. Is there a simple method to accomplish this using ffmpeg or any other command-line tool?
As far as I know, Without any further parameters, ffmpeg will accept an input file and provide much more about the video source, such as:
ffmpeg -i myfile.avi
Another alternative would be to use mplayer’s -identify option, which might be a little bit simpler to understand. A wrapper script called midentify provides even better results. Take this instance.