我有一台运行CentOS 5.5的虚拟机,我用作stream媒体服务器。
如果我打开4个terminal并执行此操作:
1号航站楼:
# mkfifo pipe1.avi # mkfifo pipe2.avi # ffserver & # ffmpeg -probesize 164000 -i pipe1.avi -async 1 -r 25 http://localhost:8090/feed1.ffm
terminal2:
# ffmpeg -i pipe2.avi -async 1 -r 25 -vcodec flv -f flv somename.flv
terminal3:
# mplayer -dumpstream rtp://someIp:somePort -dumpfile pipe1.avi
terminal4:
# mplayer -dumpstream rtp://someIp:somePort -dumpfile pipe2.avi
一切都很好。 没有任何问题。
现在我正在试图制作一个脚本,并从一个cron运行它。 这是脚本:
ffserver & ffmpeg -probesize 164000 -i pipe1.avi -async 1 -r 25 http://localhost:8090/feed1.ffm & ffmpeg -i pipe2.avi -async 1 -r 25 -vcodec flv -f flv somename.flv & mplayer -dumpstream rtp://someIp:somePort -dumpfile pipe1.avi & mplayer -dumpstream rtp://someIp:somePort -dumpfile pipe2.avi & exit 0
crontab行是:
10 * * * * script.sh > /dev/null 1>&2
问题是,当cron运行时,系统崩溃实际上,它并没有真正崩溃从另一台计算机上看到的stream,并且运行正常。 但是,我无法在机器上做任何事情。 屏幕变黑,除非重新启动,否则我无法做任何事情。 我有一个脚本,杀死前面的过程。 如果我使用它,stream停止,但我仍然不能重新获得系统(无论我做什么相同的黑屏)。