[FFmpeg-devel] [PATCH 7/8] libavformat/dashenc: support for hinting stream bandwidth using metadata option
Peter Große
pegro at friiks.de
Sat Jan 21 16:39:08 EET 2017
Bandwidth information is required in the manifest, but not always provided by the demuxer.
So enable hinting the stream bandwidth via a metadata field, supports same values as codec bitrate setting.
Example: -metadata:s:v:0 bitrate=3500k
Signed-off-by: Peter Große <pegro at friiks.de>
---
libavformat/dashenc.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c
index 0c0248f..522a0eb 100644
--- a/libavformat/dashenc.c
+++ b/libavformat/dashenc.c
@@ -607,6 +607,17 @@ static int dash_init(AVFormatContext *s)
char filename[1024];
os->bit_rate = s->streams[i]->codecpar->bit_rate;
+ // if no bit rate detected, try whether bitrates are provided via metadata
+ if(!os->bit_rate) {
+ AVDictionaryEntry *bitrate;
+ bitrate = av_dict_get(s->streams[i]->metadata, "bitrate", NULL, 0);
+ if(bitrate) {
+ char *tail;
+ os->bit_rate = av_strtod(bitrate->value, &tail);
+ if (*tail)
+ os->bit_rate = 0;
+ }
+ }
if (os->bit_rate) {
snprintf(os->bandwidth_str, sizeof(os->bandwidth_str),
" bandwidth=\"%d\"", os->bit_rate);
--
2.10.2
More information about the ffmpeg-devel
mailing list