Here my goal :
1/ Capture video into a file when user wants
2/ At the same time, continuous stream the video source to several unicast ips
I try this :
Code: Select all
new stream broadcast enabled
setup stream input 'dshow:// :dshow-vdev="Hauppauge WinTV Capture" :dshow-adev="Realtek AC97 Audio" :dshow-size=""'
setup stream output #transcode{vcodec=mp1v,vb=1024,scale=1,acodec=mp3,ab=96,channels=2}:duplicate{dst=std{access=udp,mux=ts,url=192.168.0.1:1234}}
new live broadcast enabled
setup live input udp://@:1234
setup live output #transcode{vcodec=mp1v,vb=1024,scale=0.75,acodec=mp3,ab=96,channels=2}:duplicate{dst=std{access=udp,mux=ts,url=192.168.0.2:1234},dst=std{access=udp,mux=ts,url=192.168.0.3:1234},dst=std{access=udp,mux=ts,url=192.168.0.4:1234}}
new capture broadcast enabled
setup capture input udp://@:1234
setup capture output #transcode{vcodec=mp1v,vb=1024,scale=1,acodec=mp3,ab=96,channels=2}:duplicate{dst=std{access=file,mux=mpeg1,url="C:\capture.mpeg"}}
control stream play
control live play
192.168.0.1 -> users = 2.5 seconds of delay
thus : capture -> user = 5 seconds of delay.
This delay is too long for our need !
I can' put the dest ip directly in the "stream" channel because, it change all the time and I can't stop it when a capture is playing (channel "capture").
Thus, is it a "memory" stream ("fake" input ?) to replace the local (192.168.0.1) udp streaming ?
Code: Select all
capture -> memory +-> live +-> user1
| |-> user2
| +-> userX
+-> file
Fredoche