2

現在、ライブビデオをストリーミングしようとしています。私は CCTV カメラと一般的なマイクを装備しています。最新の 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