我目前正在尝试播放实时视频。我配备了闭路电视摄像机和通用麦克风。我正在使用最新的FFMPEG 1.0(从源代码编译)。不幸的是,我的相机只提供视频流,所以我必须手动加入音频。这是我的代码:
#!/bin/bash
# record mic input to wav file
arecord -f dat -D hw:0,0 mic.wav &
# record camera stream to avi file
cvlc rtsp://192.168.0.11:554/VideoInput/1/h264/1 --sout "#standard{access=file,mux=avi,dst=camera.avi}" &
# wait few seconds for both sources to stabilize
sleep 5
# join avi and wav to one flv file, then stram it to tcp socket (which is received by crtmpserver and transmitted forward to the website)
ffmpeg -i camera.avi -vcodec flv -i mic.wav -acodec mp3 -s 1280x720 -ar 44100 -ab 192k -vb 3000k -f flv - | ffmpeg -re -i - -codec copy -metadata streamName=streamhd tcp://127.0.0.1:6666 &
此代码正常工作,流的接收时间不到5秒。如果我增加睡眠时间,播放持续时间更长。 FFMPEG似乎只转换了它在开始时收到的数据。
如何强制进一步转换?
我尝试过命名管道。 FFMPEG无法识别输入格式。