No I’ll give it a try and let you know. Since this is just audio (no keyframes) I wouldn’t have thought this would have mattered.
Sent from my iPhone > On May 7, 2018, at 3:52 PM, Aman Gupta <ffm...@tmm1.net> wrote: > > On Wed, May 2, 2018 at 7:59 AM, Ronak Patel < > ronak2121-at-yahoo....@ffmpeg.org> wrote: > >> Hi all, >> >> So I’ve noticed that ffmpeg does not always properly follow the number we >> specify for hls_time when generating hls content. >> >> For example, if we have an MP4/AAC file at 44.1kHz sampling rate, we would >> expect that specifying 9.75238095238095 (420 frames) would return a >> manifest with the same exact amount of frames throughout. >> Instead, we see the AAC encoder vary the amount of frames without any real >> explanation. >> > > Did you try -hls_flags split_by_time ? > > Aman > > >> >> When we run the following command: >> >> /home/ronakp/bin/ffmpeg -i "${FILE}.mp4" -codec copy -hls_time >> 9.75238095238095 -hls_segment_type fmp4 -hls_flags single_file+append_list >> -hls_playlist_type vod "${FILE}_10sec_v7.m3u8" >> >> We get a manifest that looks like so: >> >> #EXTM3U >> #EXT-X-VERSION:7 >> #EXT-X-TARGETDURATION:10 >> #EXT-X-MEDIA-SEQUENCE:0 >> #EXT-X-PLAYLIST-TYPE:VOD >> #EXT-X-MAP:URI="bk_acx0_006556_22_32_10sec_v7.m4s",BYTERANGE="738@0" >> #EXT-X-DISCONTINUITY >> #EXTINF:9.798821, >> #EXT-X-BYTERANGE:38733@738 >> bk_acx0_006556_22_32_10sec_v7.m4s >> #EXTINF:9.752381, >> #EXT-X-BYTERANGE:38531@39471 >> bk_acx0_006556_22_32_10sec_v7.m4s >> #EXTINF:9.752381, >> #EXT-X-BYTERANGE:38616@78002 >> bk_acx0_006556_22_32_10sec_v7.m4s >> #EXTINF:9.752381, >> #EXT-X-BYTERANGE:38545@116618 >> bk_acx0_006556_22_32_10sec_v7.m4s >> >> Notice the first segment there contains 2 more AAC frames... >> >> Now, when we run the following command: >> >> /home/ronakp/bin/ffmpeg -i "${FILE}.mp4" -codec copy -hls_time >> 0.975238095238095 -hls_segment_type fmp4 -hls_flags single_file+append_list >> -hls_playlist_type vod "${FILE}_10sec_v7.m3u8" >> >> #EXTM3U >> #EXT-X-VERSION:7 >> #EXT-X-TARGETDURATION:1 >> #EXT-X-MEDIA-SEQUENCE:0 >> #EXT-X-PLAYLIST-TYPE:VOD >> #EXT-X-MAP:URI="bk_reco_004353_22_32_1sec_v7.m4s",BYTERANGE="738@0" >> #EXT-X-DISCONTINUITY >> #EXTINF:0.975238, >> #EXT-X-BYTERANGE:4110@738 >> bk_reco_004353_22_32_1sec_v7.m4s >> #EXTINF:0.975238, >> #EXT-X-BYTERANGE:3897@4848 >> bk_reco_004353_22_32_1sec_v7.m4s >> #EXTINF:0.975238, >> #EXT-X-BYTERANGE:4236@8745 >> bk_reco_004353_22_32_1sec_v7.m4s >> #EXTINF:0.975238, >> >> It seems to have the correct amount of frames everywhere. >> >> Even more bizarre is if we run this command: >> >> /home/ronakp/bin/ffmpeg -i "../${FILE}.mp4" -codec copy -hls_time >> 9.75238095238095 -hls_segment_filename 'file%03d.ts' -hls_segment_type >> mpegts -hls_playlist_type vod "${FILE}_10sec_v3.m3u8" >> >> The manifest looks like the following: >> >> #EXTM3U >> #EXT-X-VERSION:3 >> #EXT-X-TARGETDURATION:10 >> #EXT-X-MEDIA-SEQUENCE:0 >> #EXT-X-PLAYLIST-TYPE:VOD >> #EXTINF:9.799778, >> file000.ts >> #EXTINF:9.706889, >> file001.ts >> #EXTINF:9.753333, >> file002.ts >> #EXTINF:9.799778, >> file003.ts >> #EXTINF:9.753333, >> file004.ts >> #EXTINF:9.706889, >> file005.ts >> #EXTINF:9.799778, >> file006.ts >> >> The ts segments do not all have the same size, and seems like ffmpeg is >> unable to properly honor the supplied time. >> >> And finally, when I run the following command: >> >> /home/ronakp/bin/ffmpeg -i "${FILE}.mp4" -codec copy -f dash >> -single_file_name "${FILE}_1sec.m4s" -min_seg_duration 975238.095238095 >> -hls_playlist 1 "${FILE}_1sec.mpd" >> >> I get a manifest that looks like: >> >> #EXTM3U >> #EXT-X-VERSION:6 >> #EXT-X-TARGETDURATION:10 >> #EXT-X-MEDIA-SEQUENCE:1 >> #EXT-X-MAP:URI="bk_reco_004353_22_32_10sec.m4s",BYTERANGE="738@0" >> #EXTINF:9.798821, >> #EXT-X-BYTERANGE:38996@738 >> bk_reco_004353_22_32_10sec.m4s >> #EXTINF:9.798821, >> #EXT-X-BYTERANGE:38754@39734 >> bk_reco_004353_22_32_10sec.m4s >> #EXTINF:9.798821, >> #EXT-X-BYTERANGE:38765@78488 >> bk_reco_004353_22_32_10sec.m4s >> #EXTINF:9.798821, >> #EXT-X-BYTERANGE:38583@117253 >> bk_reco_004353_22_32_10sec.m4s >> #EXTINF:9.798821, >> #EXT-X-BYTERANGE:38752@155836 >> bk_reco_004353_22_32_10sec.m4s >> >> Where every fragment has 1 extra frame in it. >> >> Can someone please help get this fixed? The fragmentation should have been >> uniform throughout and exactly the same no matter which options I specify >> here. >> >> For reference, I'm using the following versions of ffmpeg: >> >> ffmpeg version N-90757-g2fc12f4 Copyright (c) 2000-2018 the FFmpeg >> developers >> built with gcc 4.4.6 (GCC) 20110731 (Red Hat 4.4.6-3) >> configuration: --prefix=/home/ronakp/ffmpeg_build >> --pkg-config-flags=--static >> --extra-cflags=-I/home/ronakp/ffmpeg_build/include >> --extra-ldflags=-L/home/ronakp/ffmpeg_build/lib --extra-libs=-lpthread >> --extra-libs=-lm --bindir=/home/ronakp/bin --enable-gpl --enable-avisynth >> --enable-libfdk_aac --enable-libmp3lame --enable-libopus --enable-libvorbis >> --enable-nonfree --enable-libvorbis --enable-version3 --disable-ffplay >> libavutil 56. 15.100 / 56. 15.100 >> libavcodec 58. 19.100 / 58. 19.100 >> libavformat 58. 13.100 / 58. 13.100 >> libavdevice 58. 4.100 / 58. 4.100 >> libavfilter 7. 18.100 / 7. 18.100 >> libswscale 5. 2.100 / 5. 2.100 >> libswresample 3. 2.100 / 3. 2.100 >> libpostproc 55. 2.100 / 55. 2.100 >> >> Thanks, >> >> Ronak >> >> _______________________________________________ >> ffmpeg-devel mailing list >> ffmpeg-devel@ffmpeg.org >> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >> > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel