some flv have no metadata,
ffmpeg will same with the source flv stream.
Signed-off-by: Steven Liu <lingjiujianke@gmail.com>
... | ... |
@@ -148,6 +148,9 @@ Place AAC sequence header based on audio stream data. |
148 | 148 |
@item no_sequence_end |
149 | 149 |
Disable sequence end tag. |
150 | 150 |
|
151 |
+@item no_metadata |
|
152 |
+Disable metadata tag. |
|
153 |
+ |
|
151 | 154 |
@item add_keyframe_index |
152 | 155 |
Used to facilitate seeking; particularly for HTTP pseudo streaming. |
153 | 156 |
@end table |
... | ... |
@@ -67,6 +67,7 @@ typedef enum { |
67 | 67 |
FLV_AAC_SEQ_HEADER_DETECT = (1 << 0), |
68 | 68 |
FLV_NO_SEQUENCE_END = (1 << 1), |
69 | 69 |
FLV_ADD_KEYFRAME_INDEX = (1 << 2), |
70 |
+ FLV_NO_METADATA = (1 << 3), |
|
70 | 71 |
} FLVFlags; |
71 | 72 |
|
72 | 73 |
typedef struct FLVFileposition { |
... | ... |
@@ -744,7 +745,11 @@ static int flv_write_header(AVFormatContext *s) |
744 | 744 |
flv->reserved = 5; |
745 | 745 |
} |
746 | 746 |
|
747 |
- write_metadata(s, 0); |
|
747 |
+ if (flv->flags & FLV_NO_METADATA) { |
|
748 |
+ pb->seekable = 0; |
|
749 |
+ } else { |
|
750 |
+ write_metadata(s, 0); |
|
751 |
+ } |
|
748 | 752 |
|
749 | 753 |
for (i = 0; i < s->nb_streams; i++) { |
750 | 754 |
flv_write_codec_header(s, s->streams[i]->codecpar); |
... | ... |
@@ -1055,6 +1060,7 @@ static const AVOption options[] = { |
1055 | 1055 |
{ "flvflags", "FLV muxer flags", offsetof(FLVContext, flags), AV_OPT_TYPE_FLAGS, {.i64 = 0}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "flvflags" }, |
1056 | 1056 |
{ "aac_seq_header_detect", "Put AAC sequence header based on stream data", 0, AV_OPT_TYPE_CONST, {.i64 = FLV_AAC_SEQ_HEADER_DETECT}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "flvflags" }, |
1057 | 1057 |
{ "no_sequence_end", "disable sequence end for FLV", 0, AV_OPT_TYPE_CONST, {.i64 = FLV_NO_SEQUENCE_END}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "flvflags" }, |
1058 |
+ { "no_metadata", "disable metadata for FLV", 0, AV_OPT_TYPE_CONST, {.i64 = FLV_NO_METADATA}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "flvflags" }, |
|
1058 | 1059 |
{ "add_keyframe_index", "Add keyframe index metadata", 0, AV_OPT_TYPE_CONST, {.i64 = FLV_ADD_KEYFRAME_INDEX}, INT_MIN, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM, "flvflags" }, |
1059 | 1060 |
{ NULL }, |
1060 | 1061 |
}; |