<div dir="ltr"><div><div><div>Hi,<br><br></div>The parameters I am referring to are constant chunk sizes, audio frame rates, video frame rates and key frames. Support for the media server provider, Wowza, has informed my company that those parameters are too variable, therefore causing buffering issues. What av_dict_set and/or av_opt_set settings would you use in the API to provide a constant chunk size, audio frame rate, video frame rate and key frame?</div><div><br></div><div>The vsync 1 parameter was given to me by the Wowza support person. I assume he wants to let ffmpeg duplicate frames if needed to keep the input frame rate.</div><div><br></div>Thanks,<br><br></div>Al<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 22, 2018 at 5:17 PM, Carl Eugen Hoyos <span dir="ltr"><<a href="mailto:ceffmpeg@gmail.com" target="_blank">ceffmpeg@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">2018-01-19 17:31 GMT+01:00 Allan Rosner <<a href="mailto:arosner@alsysinc.biz">arosner@alsysinc.biz</a>>:<br>
> My company's media server provider has reported that our buffering<br>
> issues are related to inconsistent chunk sizes, video frame rates,<br>
> audio frame rates and number of key frames.<br>
><br>
> The media server support group sent a suggested ffmpeg command<br>
> line that could establish constant chunk sizes, video frame rates,<br>
> audio frame rates and number of key frames.<br>
><br>
> The suggested command line is:<br>
><br>
> ffmpeg -i [input-source -pix_fmt yuv420p<br>
<br>
> -deinterlace<br>
<br>
</span>This option is deprecated and you should not use it.<br>
<span class=""><br>
> -vf "scale=640:360" -vsync 1 -vcodec libx264<br>
<br>
</span>Why are you specifying "-vsync 1"?<br>
<br>
> -r 29.970<br>
<br>
I don't think this is a valid framerate.<br>
<span class=""><br>
> -threads 0 -b:v: 1024k -bufsize 1216k<br>
> -maxrate 1280k -preset medium -profile:v main -tune film -g 60<br>
> -x264opts no-scenecut -acodec aac -b:a 192k -ac 2 -ar 48000<br>
> -af "aresample=async=1:min_hard_<wbr>comp=0.100000:first_pts=0"<br>
> -f flv "rtmp://<a href="http://192.168.1.2:1935/live/myStream" rel="noreferrer" target="_blank">192.168.1.2:1935/live/<wbr>myStream</a><br>
> flashver=FMLE/3.0\20(<wbr>compatible;\20FMSc/1.0) live=true pubUser=username<br>
> pubPasswd=password"<br>
><br>
> Two questions:<br>
><br>
> 1) Do you agree that the above mentioned command line would<br>
> produce the constant parameters mentioned above?<br>
<br>
</span>Since you did not provide the requested parameters, I don't think<br>
anybody can answer this.<br>
<span class=""><br>
> 2) It appears as though all command line options are executed<br>
> using the av_dict_set or av_opt_set API functions. Is there a<br>
> document that states how to set the equivalent command line<br>
> options using the API?<br>
<br>
</span>Several of the examples do this, grep for "av_dict_set" in doc/examples.<br>
<br>
Carl Eugen<br>
______________________________<wbr>_________________<br>
Libav-user mailing list<br>
<a href="mailto:Libav-user@ffmpeg.org">Libav-user@ffmpeg.org</a><br>
<a href="http://ffmpeg.org/mailman/listinfo/libav-user" rel="noreferrer" target="_blank">http://ffmpeg.org/mailman/<wbr>listinfo/libav-user</a><br>
</blockquote></div><br></div>