File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -11,6 +11,14 @@ int main(int argc, char **argv)
1111 int stream_index = 0 ;
1212 int * streams_list = NULL ;
1313 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+ }
1422
1523 in_filename = argv [1 ];
1624 out_filename = argv [2 ];
@@ -75,8 +83,14 @@ int main(int argc, char **argv)
7583 goto end ;
7684 }
7785 }
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+ }
7892 // 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 );
8094 if (ret < 0 ) {
8195 fprintf (stderr , "Error occurred when opening output file\n" );
8296 goto end ;
Original file line number Diff line number Diff line change @@ -12,10 +12,12 @@ run_hello: make_hello
1212
1313make_remuxing : clean
1414 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 \
1616 -lavcodec -lavformat -lavfilter -lavdevice -lswresample -lswscale -lavutil \
1717 -o /files/build/remuxing
1818
19- run_remuxing : make_remuxing
19+ run_remuxing_ts : make_remuxing
2020 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
2121
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