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@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 <[email protected]> wrote: > On Sun, May 3, 2015 at 9:47 PM, En Figureo Canal <[email protected]> > 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 < > [email protected]> > > 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 > > [email protected] > > 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 > [email protected] > http://ffmpeg.org/mailman/listinfo/ffmpeg-user > _______________________________________________ ffmpeg-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-user
