File tree 2 files changed +19
-3
lines changed
2 files changed +19
-3
lines changed Original file line number Diff line number Diff line change @@ -11,6 +11,14 @@ int main(int argc, char **argv)
11
11
int stream_index = 0 ;
12
12
int * streams_list = NULL ;
13
13
int number_of_streams = 0 ;
14
+ int fragmented_mp4_options = 0 ;
15
+
16
+ if (argc < 3 ) {
17
+ printf ("You need to pass at least two parameters.\n" );
18
+ return -1 ;
19
+ } else if (argc == 4 ) {
20
+ fragmented_mp4_options = 1 ;
21
+ }
14
22
15
23
in_filename = argv [1 ];
16
24
out_filename = argv [2 ];
@@ -75,8 +83,14 @@ int main(int argc, char **argv)
75
83
goto end ;
76
84
}
77
85
}
86
+ AVDictionary * opts = NULL ;
87
+
88
+ if (fragmented_mp4_options ) {
89
+ // https://developer.mozilla.org/en-US/docs/Web/API/Media_Source_Extensions_API/Transcoding_assets_for_MSE
90
+ av_dict_set (& opts , "movflags" , "frag_keyframe+empty_moov+default_base_moof" , 0 );
91
+ }
78
92
// https://ffmpeg.org/doxygen/trunk/group__lavf__encoding.html#ga18b7b10bb5b94c4842de18166bc677cb
79
- ret = avformat_write_header (output_format_context , NULL );
93
+ ret = avformat_write_header (output_format_context , & opts );
80
94
if (ret < 0 ) {
81
95
fprintf (stderr , "Error occurred when opening output file\n" );
82
96
goto end ;
Original file line number Diff line number Diff line change @@ -12,10 +12,12 @@ run_hello: make_hello
12
12
13
13
make_remuxing : clean
14
14
docker run -w /files --rm -it -v ` pwd` :/files leandromoreira/ffmpeg-devel \
15
- gcc -L/opt/ffmpeg/lib -I/opt/ffmpeg/include/ /files/2_0_remuxing .c \
15
+ gcc -L/opt/ffmpeg/lib -I/opt/ffmpeg/include/ /files/2_remuxing .c \
16
16
-lavcodec -lavformat -lavfilter -lavdevice -lswresample -lswscale -lavutil \
17
17
-o /files/build/remuxing
18
18
19
- run_remuxing : make_remuxing
19
+ run_remuxing_ts : make_remuxing
20
20
docker run -w /files --rm -it -v ` pwd` :/files leandromoreira/ffmpeg-devel /files/build/remuxing /files/small_bunny_1080p_60fps.mp4 /files/remuxed_small_bunny_1080p_60fps.ts
21
21
22
+ run_remuxing_fragmented_mp4 : make_remuxing
23
+ docker run -w /files --rm -it -v ` pwd` :/files leandromoreira/ffmpeg-devel /files/build/remuxing /files/small_bunny_1080p_60fps.mp4 /files/fragmented_small_bunny_1080p_60fps.mp4 fragmented
You can’t perform that action at this time.
0 commit comments