[Libav-user] Setting bitrate inside DASH manifest when encoding to H.264 with constant quality

Przemysław Sobala przemyslaw.sobala at gmail.com
Wed Feb 22 11:10:34 EET 2017


OK, I've narrowed it down to 2 solutions:
1) (the one that doesn't involve changing FFmpeg's code) I can make a copy
of DASHContext struct, maintain any changes that will be made, and set the
bitrate by DASHContext *c = fmt_ctx->priv_data before calling
av_write_trailer
2) Can setting the bitrate be done by adding a AVOption code to DASH muxer
and later calling any av_opt_set_* function (the difficult part is that the
bitrate must be set for an array of dynamically allocated OutputStreams
inside DASHContext) ?

--
Best regards
Przemysław Sobala

On Thu, Feb 16, 2017 at 10:07 AM, Przemysław Sobala <
przemyslaw.sobala at gmail.com> wrote:

> Hello
>
> I'm wondering, if there's a way to set representation's bandwidth
> (bitrate) parameter when encoding with libx264 with constant quality (crf)?
> In my code I'm calculating stream's bitrate by adding muxed packet sizes
> but in the end I cannot pass it to the DASH muxer.
>
> I thought the best way would be to set the final bitrate before calling
> av_write_trailer function (because internally it calls
> dash_write_trailer->dash_flush->write_manifest) but DASHContext structure
> is initialized earlier (with dash_init function) with default bitrates set
> and also it's not available via the API - I can access it by
> AVFormatContext->priv_data but it's type is uknown - void* - and casting is
> unavailable since this struct if for internal use only.
>
>
> --
> Best regards
> Przemysław Sobala
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ffmpeg.org/pipermail/libav-user/attachments/20170222/5bee9db6/attachment.html>


More information about the Libav-user mailing list