[FFmpeg-devel] Feature Suggestion/Idea: auto create profile from supplied media file.

Stefano Sabatini stefasab at gmail.com
Wed Jan 27 12:05:29 CET 2016

On date Monday 2016-01-18 10:44:31 -0600, luke etyrnal encoded:
> An idea for a new feature of ffmpeg:  Detect media, and generate profile
> for future transcoding.
> The feature would add the ability to point ffmpeg at a media file and
> analyze the file for its container type, codecs, channels, bit rates, etc,
> and build a PROFILE according to what it discovers. Then, in the future, if
> you need to transcode/conform media to a specific target destination
> format, for a specific device, or platform, you would just point ffmpeg at
> a media file known to work properly on the destination platform, have it
> learn the specific parameters of that media container and format, create a
> profile based on what it discovers, and then in the future when you
> transcode you just use the newly created profile when transcoding.
> I imagine ffmpeg already has the ability to detect media because I can see
> it making determinations about the media at the beginning of its
> transcoding or encoding process.
> create a profile called vtech-kids-smartwatch based on
> using video-file-known-to-work-well-on-destination-platform.avi :
> $ ffmpeg --profile_auto_generate
> video-file-known-to-work-well-on-destination-platform.avi
> vtech-kids-smartwatch
> conform/transcode media input to the vtech-kids-smartwatch profile :
> $ ffmpeg -i incompatibel-media-file.mov -o --profile vtech-kids-smartwatch
> conformed-video-file.avi
> syntax just for concept
> Thanks for considering.

Consider opening a ticket on trac if you want to track this.

About the idea, you can already use ffprobe to script something like
that. For example you extract the information related to codecs,
bitrates, and other relevant information, then you can use that
information to generate another file with the same features.

Also, this is sometimes an error&try attempt, since you don't know in
advance the feature required for encoding safely to the target
platform, so I'm not sure this can be really automated.
FFmpeg = Forgiving & Fostering Meaningless Puristic Enhancing Gargoyle

More information about the ffmpeg-devel mailing list