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 <[email protected]> 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 <[email protected]> wrote: > >> On Mon, May 4, 2015 at 7:15 PM, En Figureo Canal <[email protected] >> > >> 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 <[email protected]> wrote: >> > >> > > On Mon, May 4, 2015 at 3:32 PM, En Figureo Canal < >> > [email protected]> >> > > 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@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 >> > > > >> > > >> > > Is it somehow possible that I can test with david-diaz.mp4 as I think >> it >> > is >> > > a file? >> > > 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 >> > >> >> >> 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 >> [email protected] >> http://ffmpeg.org/mailman/listinfo/ffmpeg-user >> > > _______________________________________________ ffmpeg-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-user
