2

我目前正在尝试流式传输实时视频。我配备了闭路电视摄像机和通用麦克风。我正在使用最新的 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 无法识别输入格式。

4

0 回答 0