-
Notifications
You must be signed in to change notification settings - Fork 1.5k
FFmpeg dict opt in QtAV
WangBin edited this page Dec 19, 2016
·
6 revisions
FFmpeg/Libav has functions like av_opt_set_xxx, av_dict_set. In QtAV, the you can use
void AVPlayer::setOptionsForFormat(const QVariantHash& dict); //avformat
void AVPlayer::setOptionsForAudioCodec(const QVariantHash& dict); //avcodec
void AVPlayer::setOptionsForVideoCodec(const QVariantHash& dict); //avcodec
You can add a wrapper for the options. i.e. add a key and make the options as it's value. The key is avformat for AVPlayer::setOptionsForFormat and avcodec for AVPlayer::setOptionsForAudioCodec and AVPlayer::setOptionsForVideoCodec.
Example: the following options are equal
QVariantHash opt;
opt["probesize"] = 4096;
player->setOptionsForFormat(opt);
and
QVariantHash avfmt_opt;
avfmt_opt["probesize"] = 4096;
avfmt_opt["user_agent"] = "xxx";
QVariantHash opt;
opt["avformat"] = avfmt_opt;
player->setOptionsForFormat(opt);
The option above can change the stream latency. See https://trac.ffmpeg.org/wiki/StreamingGuide#Latency
####TODO
command line options and gui in player example