[FFmpeg-user] Using FFMpeg to produce LL-HLS

Simon Brown simon.k.brown at gmail.com
Mon Feb 17 16:26:22 EET 2020


On Mon, 17 Feb 2020 at 12:06, Dennis Mungai <dmngaie at gmail.com> wrote:

> On Mon, 17 Feb 2020, 14:50 Simon Brown, <simon.k.brown at gmail.com> wrote:
>
> > I'm trying to reduce the latency of streaming video to a web page.
> > I have tried a few options:
> > 1) WebRTC - great, but doesn't support interlaced video
> > 2) fMP4 - couldn't get a working solution
> > 3) HLS - great, plays interlaced video as well, but latency is appalling
> > 4) LL-HLS - can't find anything that produces it.
> >
> > Does FFMpeg support generating LL-HLS?
> >
> > Regards,
> > Simon
> >
>
> Yes, though at the moment you'll have to use the dash muxer.
>
> See ffmpeg -h muxer=dash
>
> For usage.
>
> >
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".


Thanks Dennis,
I've read through the options and looked at some examples and have
downloaded the latest FFMpeg build from zeranoe (nightly build).  That
produces this result:

C:\ffmpeg-20200216-8578433-win64-static\bin>ffmpeg.exe -i udp://
127.0.0.1:9034 -codec copy -f dash -seg_duration 1 -frag_duration 0.1
-window_size 5 -extra_window_size 5 -single_file 0 -lhls 1 -hls_playlist 1
-strict experimental -streaming 1 -adaptation_sets "id=0,streams=v
id=1,streams=a" c:\xampp\htdocs\video.m3u8
ffmpeg version git-2020-02-16-8578433 Copyright (c) 2000-2020 the FFmpeg
developers
  built with gcc 9.2.1 (GCC) 20200122
  configuration: --enable-gpl --enable-version3 --enable-sdl2
--enable-fontconfig --enable-gnutls --enable-iconv --enable-libass
--enable-libdav1d --enable-libbluray --enable-libfreetype
--enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb
--enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy
--enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx
--enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265
--enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp
--enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc
--enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom
--enable-libmfx --enable-ffnvcodec --enable-cuvid --enable-d3d11va
--enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth
--enable-libopenmpt --enable-amf
  libavutil      56. 41.100 / 56. 41.100
  libavcodec     58. 70.100 / 58. 70.100
  libavformat    58. 38.101 / 58. 38.101
  libavdevice    58.  9.103 / 58.  9.103
  libavfilter     7. 76.100 /  7. 76.100
  libswscale      5.  6.100 /  5.  6.100
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100
Input #0, mpegts, from 'udp://127.0.0.1:9034':
  Duration: N/A, start: 68873.648600, bitrate: N/A
  Program 1
    Stream #0:0[0x1100]: Video: h264 (Main) ([27][0][0][0] / 0x001B),
yuv420p(tv, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k
tbn, 100 tbc
    Stream #0:1[0x1110]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000
Hz, stereo, fltp, 192 kb/s
[dash @ 0000022f500c6a40] No bit rate set for stream 0
[dash @ 0000022f500c6a40] Opening 'init-stream0.m4s' for writing
[mp4 @ 0000022f4e21ac00] Could not find tag for codec h264 in stream #0,
codec not currently supported in container
Could not write header for output file #0 (incorrect codec parameters ?):
Invalid argument
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
    Last message repeated 1 times

What am I doing wrong?  I thought h264 was supported in HLS/Dash?

Regards,
Simon


More information about the ffmpeg-user mailing list