[FFmpeg-user] No luck with live stream from ffmpeg to ffserver
En Figureo Canal
figureo56.com at gmail.com
Mon May 4 22:21:27 CEST 2015
One more thing, what are the things or configurations I need to focus on
before creating or sending a feed to ffserver, because I'm totally lost
after the config line W Jansen posted. I've read many documentation but,
I'm still puzzled. Where, other than the ffmpeg doc, can I study to become
better at this ffmpeg and ffserver thing.?????
On Mon, May 4, 2015 at 3:44 PM, En Figureo Canal <figureo56.com at gmail.com>
wrote:
> I have different mp4 files that seem not to work. I even tried converting
> it to flv but no luck but, how come does it work if feeding ustream or any
> other rtmp server?
>
> So, will that format work on all devices? Since, I would need to be
> display on different devices at a max rate of 1024kb/s .
>
> That's for a file input but, capturing from a device doesn't work, I'll
> experiment using ts format and see if it will work.
>
>
> Thanks a lot.
>
> On Mon, May 4, 2015 at 2:49 PM, W Jansen <widojansen at gmail.com> wrote:
>
>> On Mon, May 4, 2015 at 7:15 PM, En Figureo Canal <figureo56.com at gmail.com
>> >
>> wrote:
>>
>> > W Jansen.
>> >
>> > Definitely, I get the same problem with any file even capturing video
>> from
>> > capture card. But, here's the link to the file so you can download it
>> and
>> > test: http://www.figureo56.com/images/david-diaz.mp4
>> >
>> > I first tested with files in case that worked I would proceed to live
>> > stream with capture video.
>> >
>> >
>> > Thanks a lot for taking time to help me out on this. I really appreciate
>> > it.
>> >
>> > On Mon, May 4, 2015 at 10:44 AM, W Jansen <widojansen at gmail.com> wrote:
>> >
>> > > On Mon, May 4, 2015 at 3:32 PM, En Figureo Canal <
>> > figureo56.com at gmail.com>
>> > > wrote:
>> > >
>> > > > Thanks W Jansen for replying.
>> > > >
>> > > > I've done what you requested, I would like to do a live stream from
>> my
>> > pc
>> > > > to our network. My PC has a video capture card and would like to
>> send
>> > the
>> > > > feed to a server in our LAN so, others can watch certain videos
>> > during a
>> > > > seminar.
>> > > >
>> > > > I started with a simple configuration and still can't get it to
>> work.
>> > > >
>> > > > Here's the output of the command you requested, I'm still lost.
>> > > >
>> > > > root at optimum-pbx:~# ./bin/ffmpeg -v debug -i videos/david-diaz.mp4
>> > > -vcodec
>> > > > >> copy -bsf:v h264_mp4toannexb -acodec copy -override_ffserver -f
>> > mpegts
>> > > > >> http://172.16.0.3:8090/channel2.ffm
>> > > > >
>> > > > > ffmpeg version 2.6.git Copyright (c) 2000-2015 the FFmpeg
>> developers
>> > > > >
>> > > > > built with gcc 4.7 (Debian 4.7.2-5)
>> > > > >
>> > > > > configuration: --prefix=/root/ffmpeg_build
>> > > --pkg-config-flags=--static
>> > > > >> --extra-cflags=-I/root/ffmpeg_build/include
>> > > > >> --extra-ldflags=-L/root/ffmpeg_build/lib --bindir=/root/bin
>> > > --enable-gpl
>> > > > >> --enable-libass --enable-libfdk-aac --enable-libfreetype
>> > > > >> --enable-libmp3lame --enable-libopus --enable-libtheora
>> > > > --enable-libvorbis
>> > > > >> --enable-libvpx --enable-libx264 --enable-libx265
>> --enable-nonfree
>> > > > >
>> > > > > libavutil 54. 23.101 / 54. 23.101
>> > > > >
>> > > > > libavcodec 56. 35.101 / 56. 35.101
>> > > > >
>> > > > > libavformat 56. 31.100 / 56. 31.100
>> > > > >
>> > > > > libavdevice 56. 4.100 / 56. 4.100
>> > > > >
>> > > > > libavfilter 5. 14.100 / 5. 14.100
>> > > > >
>> > > > > libswscale 3. 1.101 / 3. 1.101
>> > > > >
>> > > > > libswresample 1. 1.100 / 1. 1.100
>> > > > >
>> > > > > libpostproc 53. 3.100 / 53. 3.100
>> > > > >
>> > > > > Splitting the commandline.
>> > > > >
>> > > > > Reading option '-v' ... matched as option 'v' (set logging level)
>> > with
>> > > > >> argument 'debug'.
>> > > > >
>> > > > > Reading option '-i' ... matched as input file with argument
>> > > > >> 'videos/david-diaz.mp4'.
>> > > > >
>> > > > > Reading option '-vcodec' ... matched as option 'vcodec' (force
>> video
>> > > > codec
>> > > > >> ('copy' to copy stream)) with argument 'copy'.
>> > > > >
>> > > > > Reading option '-bsf:v' ... matched as option 'bsf' (A
>> > comma-separated
>> > > > >> list of bitstream filters) with argument 'h264_mp4toannexb'.
>> > > > >
>> > > > > Reading option '-acodec' ... matched as option 'acodec' (force
>> audio
>> > > > codec
>> > > > >> ('copy' to copy stream)) with argument 'copy'.
>> > > > >
>> > > > > Reading option '-override_ffserver' ... matched as option
>> > > > >> 'override_ffserver' (override the options from ffserver) with
>> > argument
>> > > > '1'.
>> > > > >
>> > > > > Reading option '-f' ... matched as option 'f' (force format) with
>> > > > argument
>> > > > >> 'mpegts'.
>> > > > >
>> > > > > Reading option 'http://172.16.0.3:8090/channel2.ffm' ... matched
>> as
>> > > > >> output file.
>> > > > >
>> > > > > Finished splitting the commandline.
>> > > > >
>> > > > > Parsing a group of options: global .
>> > > > >
>> > > > > Applying option v (set logging level) with argument debug.
>> > > > >
>> > > > > Applying option override_ffserver (override the options from
>> > ffserver)
>> > > > >> with argument 1.
>> > > > >
>> > > > > Successfully parsed a group of options.
>> > > > >
>> > > > > Parsing a group of options: input file videos/david-diaz.mp4.
>> > > > >
>> > > > > Successfully parsed a group of options.
>> > > > >
>> > > > > Opening an input file: videos/david-diaz.mp4.
>> > > > >
>> > > > > [mov,mp4,m4a,3gp,3g2,mj2 @ 0xacb99c0] Format
>> mov,mp4,m4a,3gp,3g2,mj2
>> > > > >> probed with size=2048 and score=100
>> > > > >
>> > > > > [mov,mp4,m4a,3gp,3g2,mj2 @ 0xacb99c0] ISO: File Type Major Brand:
>> M4V
>> > > > >
>> > > > > [mov,mp4,m4a,3gp,3g2,mj2 @ 0xacb99c0] Before
>> > > avformat_find_stream_info()
>> > > > >> pos: 53738 bytes read:65536 seeks:0
>> > > > >
>> > > > > [mov,mp4,m4a,3gp,3g2,mj2 @ 0xacb99c0] All info found
>> > > > >
>> > > > > [mov,mp4,m4a,3gp,3g2,mj2 @ 0xacb99c0] After
>> > avformat_find_stream_info()
>> > > > >> pos: 366677 bytes read:373112 seeks:0 frames:11
>> > > > >
>> > > > > Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'videos/david-diaz.mp4':
>> > > > >
>> > > > > Metadata:
>> > > > >
>> > > > > major_brand : M4V
>> > > > >
>> > > > > minor_version : 1
>> > > > >
>> > > > > compatible_brands: M4V mp42isom
>> > > > >
>> > > > > creation_time : 2014-05-01 02:41:00
>> > > > >
>> > > > > Duration: 00:02:08.38, start: 0.000000, bitrate: 4153 kb/s
>> > > > >
>> > > > > Stream #0:0(eng), 10, 1/24000: Video: h264 (Baseline), 2
>> > reference
>> > > > >> frames (avc1 / 0x31637661), yuv420p(tv, left), 1280x720 [SAR 1:1
>> DAR
>> > > > 16:9],
>> > > > >> 1001/48000, 3994 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc
>> > > > (default)
>> > > > >
>> > > > > Metadata:
>> > > > >
>> > > > > creation_time : 2014-05-01 02:41:00
>> > > > >
>> > > > > handler_name : Mainconcept MP4 Video Media Handler
>> > > > >
>> > > > > encoder : AVC Coding
>> > > > >
>> > > > > Stream #0:1(eng), 1, 1/48000: Audio: aac (LC) (mp4a /
>> > 0x6134706D),
>> > > > >> 48000 Hz, stereo, fltp, 157 kb/s (default)
>> > > > >
>> > > > > Metadata:
>> > > > >
>> > > > > creation_time : 2014-05-01 02:41:00
>> > > > >
>> > > > > handler_name : Mainconcept MP4 Sound Media Handler
>> > > > >
>> > > > > Successfully opened the file.
>> > > > >
>> > > > > Parsing a group of options: output file
>> > > > >> http://172.16.0.3:8090/channel2.ffm.
>> > > > >
>> > > > > Applying option vcodec (force video codec ('copy' to copy stream))
>> > with
>> > > > >> argument copy.
>> > > > >
>> > > > > Applying option bsf:v (A comma-separated list of bitstream
>> filters)
>> > > with
>> > > > >> argument h264_mp4toannexb.
>> > > > >
>> > > > > Applying option acodec (force audio codec ('copy' to copy stream))
>> > with
>> > > > >> argument copy.
>> > > > >
>> > > > > Applying option f (force format) with argument mpegts.
>> > > > >
>> > > > > Successfully parsed a group of options.
>> > > > >
>> > > > > Opening an output file: http://172.16.0.3:8090/channel2.ffm.
>> > > > >
>> > > > > Using network protocols without global network initialization.
>> Please
>> > > use
>> > > > >> avformat_network_init(), this will become mandatory later.
>> > > > >
>> > > > > Last message repeated 1 times
>> > > > >
>> > > > > [http @ 0xae878c0] request: POST /channel2.ffm HTTP/1.1
>> > > > >
>> > > > > Transfer-Encoding: chunked
>> > > > >
>> > > > > User-Agent: Lavf/56.31.100
>> > > > >
>> > > > > Accept: */*
>> > > > >
>> > > > > Connection: close
>> > > > >
>> > > > > Host: 172.16.0.3:8090
>> > > > >
>> > > > > Icy-MetaData: 1
>> > > > >
>> > > > >
>> > > > >>
>> > > > >> Successfully opened the file.
>> > > > >
>> > > > > [mpegts @ 0xae864c0] muxrate VBR, pcr every 2 pkts, sdt every 200,
>> > > > pat/pmt
>> > > > >> every 40 pkts
>> > > > >
>> > > > > Output #0, mpegts, to 'http://172.16.0.3:8090/channel2.ffm':
>> > > > >
>> > > > > Metadata:
>> > > > >
>> > > > > major_brand : M4V
>> > > > >
>> > > > > minor_version : 1
>> > > > >
>> > > > > compatible_brands: M4V mp42isom
>> > > > >
>> > > > > encoder : Lavf56.31.100
>> > > > >
>> > > > > Stream #0:0(eng), 0, 1/90000: Video: h264, 1 reference frame
>> > (avc1
>> > > /
>> > > > >> 0x31637661), yuv420p(left), 1280x720 (0x0) [SAR 1:1 DAR 16:9],
>> > > > 1001/24000,
>> > > > >> q=2-31, 3994 kb/s, 23.98 fps, 23.98 tbr, 90k tbn, 23.98 tbc
>> > (default)
>> > > > >
>> > > > > Metadata:
>> > > > >
>> > > > > creation_time : 2014-05-01 02:41:00
>> > > > >
>> > > > > handler_name : Mainconcept MP4 Video Media Handler
>> > > > >
>> > > > > encoder : AVC Coding
>> > > > >
>> > > > > Stream #0:1(eng), 0, 1/90000: Audio: aac (mp4a / 0x6134706D),
>> > 48000
>> > > > >> Hz, stereo, 157 kb/s (default)
>> > > > >
>> > > > > Metadata:
>> > > > >
>> > > > > creation_time : 2014-05-01 02:41:00
>> > > > >
>> > > > > handler_name : Mainconcept MP4 Sound Media Handler
>> > > > >
>> > > > > Stream mapping:
>> > > > >
>> > > > > Stream #0:0 -> #0:0 (copy)
>> > > > >
>> > > > > Stream #0:1 -> #0:1 (copy)
>> > > > >
>> > > > > Press [q] to stop, [?] for help
>> > > > >
>> > > > > av_interleaved_write_frame(): Connection reset by peer
>> > > > >
>> > > > > No more output streams to write to, finishing.
>> > > > >
>> > > > > frame= 10 fps=0.0 q=-1.0 Lsize= 165kB time=00:00:00.41
>> > > > >> bitrate=3238.1kbits/s
>> > > > >
>> > > > > video:305kB audio:0kB subtitle:0kB other streams:0kB global
>> > headers:0kB
>> > > > >> muxing overhead: unknown
>> > > > >
>> > > > > Input file #0 (videos/david-diaz.mp4):
>> > > > >
>> > > > > Input stream #0:0 (video): 10 packets read (312519 bytes);
>> > > > >
>> > > > > Input stream #0:1 (audio): 1 packets read (420 bytes);
>> > > > >
>> > > > > Total: 11 packets (312939 bytes) demuxed
>> > > > >
>> > > > > Output file #0 (http://172.16.0.3:8090/channel2.ffm):
>> > > > >
>> > > > > Output stream #0:0 (video): 10 packets muxed (312555 bytes);
>> > > > >
>> > > > > Output stream #0:1 (audio): 1 packets muxed (420 bytes);
>> > > > >
>> > > > > Total: 11 packets (312975 bytes) muxed
>> > > > >
>> > > > > 0 frames successfully decoded, 0 decoding errors
>> > > > >
>> > > > > [AVIOContext @ 0xb06bf20] Statistics: 0 seeks, 7 writeouts
>> > > > >
>> > > > > [AVIOContext @ 0xacc1f60] Statistics: 373112 bytes read, 0 seeks
>> > > > >
>> > > > > Conversion failed!
>> > > > >
>> > > > >
>> > > > >
>> > > > Thanks again for replying.
>> > > >
>> > > >
>> > > > On Mon, May 4, 2015 at 3:09 AM, W Jansen <widojansen at gmail.com>
>> wrote:
>> > > >
>> > > > > On Sun, May 3, 2015 at 9:47 PM, En Figureo Canal <
>> > > > figureo56.com at gmail.com>
>> > > > > wrote:
>> > > > >
>> > > > > > Can someone please guide me to get this working.
>> > > > > >
>> > > > > > I can easily stream to rtmp server: ustream and even nginx but
>> > can't
>> > > > > really
>> > > > > > feed ffserver and get
>> > > > > >
>> > > > > > av_interleaved_write_frame(): Unknown error
>> > > > > >
>> > > > > >
>> > > > > > and have run out of patience trying to get this working. I'll
>> > really
>> > > > > > appreciate if someone can please help me out with this problem.
>> > > > > >
>> > > > > > Thanks in advanced for your time.
>> > > > > >
>> > > > > > On Sat, May 2, 2015 at 6:50 PM, En Figureo Canal <
>> > > > > figureo56.com at gmail.com>
>> > > > > > wrote:
>> > > > > >
>> > > > > > > I haven’t had much luck deploying ffserver, nothing works out
>> for
>> > > me
>> > > > > > > streaming live from ffmpeg to ffserver. Had different
>> problems, I
>> > > > don’t
>> > > > > > > know if my configuration is correct but, can’t really get
>> ffsever
>> > > to
>> > > > do
>> > > > > > > what I need and things are just frustrating me.
>> > > > > > >
>> > > > > > > The last error message I’m getting is
>> > av_interleaved_write_frame():
>> > > > > > > Unknown error along with Past duration too large. I’ve read
>> > > somewhere
>> > > > > > > saying that it might be incompatible versions of ffmpeg,
>> which I
>> > > > found
>> > > > > > odd
>> > > > > > > and stupid.
>> > > > > > >
>> > > > > > > I believed ffmpeg should work with any current version.
>> > > > > > >
>> > > > > > > First, I’m trying to do a live stream using a capture card
>> I’ve
>> > > > > installed
>> > > > > > > and/or using VidBlaster but, haven’t been able. Audio can be
>> done
>> > > > > easily
>> > > > > > > but not Video.
>> > > > > > >
>> > > > > > > Here’s my ffmpeg conf:
>> > > > > > >
>> > > > > > >
>> > > > > > > <Feed channel2.ffm>
>> > > > > > >> File /root/channel2.ffm
>> > > > > > >> FileMaxSize 64M
>> > > > > > >> </Feed>
>> > > > > > >>
>> > > > > > >> <Stream channel2.sdp>
>> > > > > > >> Feed channel2.ffm
>> > > > > > >>
>> > > > > > >> Format rtp
>> > > > > > >>
>> > > > > > >> VideoCodec libx264
>> > > > > > >> # VideoFrameRate 30
>> > > > > > >> # VideoSize 640x360
>> > > > > > >> VideoBitRate 1000
>> > > > > > >>
>> > > > > > >> # Audio settings
>> > > > > > >> AudioCodec libmp3lame #libfdk_aac
>> > > > > > >> AudioSampleRate 41000
>> > > > > > >> AudioBitRate 96
>> > > > > > >> AudioChannels 2 #this is creating problem
>> > > > > > >> # AVOptionAudio flags +global_header
>> > > > > > >>
>> > > > > > >> MaxTime 0
>> > > > > > >> AVOptionVideo me_range 16
>> > > > > > >> AVOptionVideo qdiff 4
>> > > > > > >> AVOptionVideo qmin 4
>> > > > > > >> AVOptionVideo qmax 40
>> > > > > > >> #AVOptionVideo good
>> > > > > > >> # AVOptionVideo flags +global_header
>> > > > > > >>
>> > > > > > >> # Streaming settings
>> > > > > > >> PreRoll 10
>> > > > > > >> StartSendOnKey
>> > > > > > >>
>> > > > > > >> NoDefaults
>> > > > > > >>
>> > > > > > >> </Stream>
>> > > > > > >
>> > > > > > >
>> > > > > > > When I send the feed to the server I get the previous
>> mentioned
>> > > > error.
>> > > > > > > What exactly am I doing wrong? I’ve tried different
>> combinations
>> > to
>> > > > > send
>> > > > > > > the feed but nothing works, this is the last conf to send to
>> the
>> > > > > server:
>> > > > > > >
>> > > > > > >
>> > > > > > >
>> > > > > > > Ffmpeg –re –rtbufsize 1500M –f dshow –I
>> > video=”input”:audio=”input”
>> > > > > > > –acodec libmp3lame –ar 44100 –ab 96k –vcodec libx264 –f flv
>> > > > > > > http://ip:8090/channel2.ffm
>> > > > > > >
>> > > > > > >
>> > > > > > > I've even tried feeding a video from my pc to the server, and
>> > still
>> > > > no
>> > > > > > > luck.
>> > > > > > >
>> > > > > > >
>> > > > > > > Please guide me to the correct path to get this working,
>> thanks.
>> > > > > > >
>> > > > > > _______________________________________________
>> > > > > > ffmpeg-user mailing list
>> > > > > > ffmpeg-user at ffmpeg.org
>> > > > > > http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>> > > > > >
>> > > > >
>> > > > > Hi,
>> > > > >
>> > > > > My suggestion would be a minimum ffserver config and put all
>> > transcode
>> > > > > parameters in ffmpeg with -override_ffserver.
>> > > > > That way it is easier to find out what goes wrong while ffserver
>> > keeps
>> > > > > running.
>> > > > >
>> > > > > I assume your input stream is ok as you say you stream to other
>> > > servers.
>> > > > > Otherwise test with 'ffprobe <input stream>'.
>> > > > >
>> > > > > Setup ffserver.conf like this:
>> > > > > HTTPPort xxxxx
>> > > > > HTTPBindAddress 0.0.0.0
>> > > > >
>> > > > > <Feed channel2.ffm>
>> > > > > File /tmp/channel2.ffm
>> > > > > FileMaxSize 64M
>> > > > > </Feed>
>> > > > >
>> > > > > <Stream channel.ts>
>> > > > > Feed channel2.ffm
>> > > > > </Feed>
>> > > > >
>> > > > > <Stream status,html>
>> > > > > Format status
>> > > > > </Stream>
>> > > > >
>> > > > > Run ffserver in daemon mode and see what is going on on the status
>> > page
>> > > > > <serverip:port/status.html>
>> > > > >
>> > > > > Then start to feed it with ffmpeg command like
>> > > > >
>> > > > > ffmpeg -v debug -i <input stream> -c:v copy -c:a copy
>> > > -override_ffserver
>> > > > -f
>> > > > > mpegts <ffserver ip:port/channel2.ffm>
>> > > > >
>> > > > > You can easily change the transcode settings. I am not sure what
>> you
>> > > want
>> > > > > to do.
>> > > > > From your previous email I assume your input is RTMP and you want
>> > > change
>> > > > it
>> > > > > to RTSP. My example has a MPEG-TS output.
>> > > > >
>> > > > > This way you isolate what goes wrong. FFserver keeps running and
>> > ffmpeg
>> > > > > will give you some clue.
>> > > > >
>> > > > > Wido
>> > > > > _______________________________________________
>> > > > > ffmpeg-user mailing list
>> > > > > ffmpeg-user at ffmpeg.org
>> > > > > http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>> > > > >
>> > > > _______________________________________________
>> > > > ffmpeg-user mailing list
>> > > > ffmpeg-user at ffmpeg.org
>> > > > http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>> > > >
>> > >
>> > > Is it somehow possible that I can test with david-diaz.mp4 as I think
>> it
>> > is
>> > > a file?
>> > > Wido
>> > > _______________________________________________
>> > > ffmpeg-user mailing list
>> > > ffmpeg-user at ffmpeg.org
>> > > http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>> > >
>> > _______________________________________________
>> > ffmpeg-user mailing list
>> > ffmpeg-user at ffmpeg.org
>> > http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>> >
>>
>>
>> Hi,
>>
>> The mp4 file is the problem. I did not follow up on that but I can stream
>> it with following steps:
>>
>> I converted it to mpegts with
>> ffmpeg -v debug -i ./david-diaz.mp4 -c:v copy -c:a copy out2.ts
>>
>> Then I could stream out2.ts without any problem with
>> ffmpeg -v debug -i ./out2.ts -c:v libx264 -bsf:v h264_mp4toannexb -c:a
>> copy
>> -override_ffserver http://127.0.0.1:12000/ch1.ffm
>>
>> My ffserver config is:
>>
>> HTTPPort 12000
>> HTTPBindAddress 0.0.0.0
>>
>> <Feed ch1.ffm>
>> File /tmp/ch1.ffm
>> FileMaxSize 64M
>> ACL allow 0.0.0.0 255.255.255.255
>> </Feed>
>>
>> <Stream ch1.ts>
>> Feed ch1.ffm
>> </Stream>
>>
>> <Stream status.html>
>> Format status
>> ACL allow 0.0.0.0 255.255.255.255
>> </Stream>
>>
>> Wido
>> _______________________________________________
>> ffmpeg-user mailing list
>> ffmpeg-user at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>>
>
>
More information about the ffmpeg-user
mailing list