[FFmpeg-user] Using ffmpeg to create hls manifest

kumar vikram vikramforu at gmail.com
Wed May 30 07:30:54 EEST 2018


Hi,
I need to create a hls manifest using ffmpeg. What's important is I need to
insert webvtt subtitles into the manifest.

I need to create a vod content. So I am having a MP4 movie file and webvtt
file having subtitles for full movie.

Can someone tell me if ffmpeg can do the job? If yes, can you please let me
know what is the command that I need to use?

Regards,
Vikram

On 29-May-2018 11:42 PM, "Felix Ă–sth" <felix.osth at insupport.se> wrote:

I'm using C# to initiate ffmpeg. I've a onvif bridge server for a CCTV VMS
and I'm building a application to enable the user to livestream any CCTV
camera to YouTube.

The rtsp stream to the camera looks like this:

rtsp://onvif:bridge@localhost:554/live/xxxxx-xxxguidtocameraxxx-xxxxx

I'm new to ffmpeg and I'm using this arg:

-f lavfi -i anullsrc -rtsp_transport udp -i {camerastreamurl} -tune
zerolatency -vcodec libx264 -pix_fmt + -c:v copy -c:a aac -strict
experimental -f flv rtmp://x.rtmp.youtube.com/live2/{streamkey}
<http://x.rtmp.youtube.com/live2/%7Bstreamkey%7D> -loglevel debug

It seems like ffmpeg isn't finding the camera stream, only the fake audio
one. It just freezes.

This is the result of the debug log:

ffmpeg version N-91172-gebf85d3190 Copyright (c) 2000-2018 the FFmpeg
developers
  built with gcc 7.3.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-sdl2
--enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv
--enable-libass --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-amf --enable-ffnvcodec --enable-cuvid
--enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2
--enable-avisynth
  libavutil      56. 18.102 / 56. 18.102
  libavcodec     58. 19.104 / 58. 19.104
  libavformat    58. 17.100 / 58. 17.100
  libavdevice    58.  4.100 / 58.  4.100
  libavfilter     7. 24.100 /  7. 24.100
  libswscale      5.  2.100 /  5.  2.100
  libswresample   3.  2.100 /  3.  2.100
  libpostproc    55.  2.100 / 55.  2.100
Splitting the commandline.
Reading option '-f' ... matched as option 'f' (force format) with argument
'lavfi'.
Reading option '-i' ... matched as input url with argument 'anullsrc'.
Reading option '-rtsp_transport' ... matched as AVOption 'rtsp_transport'
with argument 'udp'.
Reading option '-i' ... matched as input url with argument
'rtsp://onvif:bridge@localhost
:554/live/41cf4f34-e137-4559-8278-47d912c64c5b'.
Reading option '-tune' ... matched as AVOption 'tune' with argument
'zerolatency'.
Reading option '-vcodec' ... matched as option 'vcodec' (force video codec
('copy' to copy stream)) with argument 'libx264'.
Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel
format) with argument '+'.
Reading option '-c:v' ... matched as option 'c' (codec name) with argument
'copy'.
Reading option '-c:a' ... matched as option 'c' (codec name) with argument
'aac'.
Reading option '-strict' ...Routing option strict to both codec and muxer
layer
matched as AVOption 'strict' with argument 'experimental'.
Reading option '-f' ... matched as option 'f' (force format) with argument
'flv'.
Reading option 'rtmp://x.rtmp.youtube.com/live2/xxxxxxxx' ... matched as
output url.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging
level) with argument 'debug'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url anullsrc.
Applying option f (force format) with argument lavfi.
Successfully parsed a group of options.
Opening an input file: anullsrc.
detected 8 logical cores
[AVFilterGraph @ 0000027a34bad7c0] query_formats: 2 queried, 3 merged, 0
already done, 0 delayed
[Parsed_anullsrc_0 @ 0000027a34badb80] sample_rate:44100
channel_layout:'stereo' nb_samples:1024
[lavfi @ 0000027a34babc80] All info found
Input #0, lavfi, from 'anullsrc':
  Duration: N/A, start: 0.000000, bitrate: 705 kb/s
    Stream #0:0, 1, 1/44100: Audio: pcm_u8, 44100 Hz, stereo, u8, 705 kb/s
Successfully opened the file.
Parsing a group of options: input url rtsp://onvif:bridge@localhost
:554/live/41cf4f34-e137-4559-8278-47d912c64c5b.
Successfully parsed a group of options.
Opening an input file: rtsp://onvif:bridge@localhost
:554/live/41cf4f34-e137-4559-8278-47d912c64c5b.
[tcp @ 0000027a34bb5980] No default whitelist set

I've no idea how to proceed or troubleshoot the input stream. Help?


// Felix
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user at ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-user mailing list