Am Sa., 27. Feb. 2021 um 20:04 Uhr schrieb Carl Zwanzig <c...@tuunq.com>: > > On 2/27/2021 12:23 AM, Carl Eugen Hoyos wrote: > > >> ffmpeg -f lavfi -i testsrc=duration=5:size=1280x720:rate=30000/1001 > >> testsrc.mpg > > > Just for completeness: > > This does not create a MPEG-2 program stream but an MPEG-1 system stream. > > No doubt that's correct, although maybe unexpected by many people.
I don't think the ambiguity can be easily avoided, a warning will be printed if you try to put something in an MPEG-1 stream that is usually only found in MPEG-2 streams (Dolby, DTS, raw DVD audio). > (this is mostly to document things so it can found in the list archive) > > ffmpeg-all doc tells us > > -f fmt (input/output) > Force input or output file format. The format is normally auto detected > for input files and guessed from the file extension for output files,[...] > > but there is nothing that explains which guesses are made (and how) > on the output format. One reason is that it is a guess and we may change the heuristic (although I am generally against changing it). > Most should be fairly obvious (e.g. .ogg or .wav); the > confusion comes when you get to all of the MPEG-related formats > (vob, dvd, mp2, mp4, etc) The difference between dvd and vob is minimal, "mp2" and "mp4" are not ambiguous imo. > all of which -might- be found in a file called .mpg (right > or wrong, it happens). Not sure I understand this: mpg should be a (MPEG-1 or 2) program stream, has - imo - a wrong extension if it is a transport stream (this happens) and should never be an MPEG-1 Audio Layer 2 or isom file. Note that FFmpeg can distinguish between all of these types (except some rare MUSICAM files) no matter the file extension and that - see above - the ambiguity between MPEG-1 and 2 is imo unavoidable. > ffmpeg -muxers will show a list of muxers and what appear to be their > default file extensions (although .mpg isn't shown, .mpeg is; it's > reasonable to treat them as same). No file extensions are shown, these are the names of the muxers that you can feed the "-f" option with. > Note also that this identifies the -container-, not necessarily the codec or > other parameters. For instance- nothing specifically mentions the difference > between the MPEG-2 PS in .vob vs .dvd. The difference are the NAV packets that exist only in dvd. Last time I used software to create DVDs, it would accept vob files and add the necessary NAV packets. In addition, hardware DVD players typically play vob files. > This is similar to the -target option, the doc page doesn't > mention all of the parameters that are being set (it's only > in the code). Imo, -f and -target are very different. > (It appears that the work starts with av_guess_format() calling > av_muxer_iterate() which then looks over the list of all muxers > (in muxer_list.c) and appears to check each one in turn to see > what it thinks of the file name/extension/mime-type passed. > When time permits, I may dive more deeply into this.) The command line utility prints the format it chose because of the extension to simplify your task / make it unneeded. Carl Eugen _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".