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

2017-02-22 Thread Przemysław Sobala
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.sob...@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
>
___
Libav-user mailing list
Libav-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/libav-user


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

2017-02-16 Thread Przemysław Sobala

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

___
Libav-user mailing list
Libav-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/libav-user