2016-04-06 26 views
5

CCTVからストリームを録画するためのバッチファイルの作成に取り掛かりました。 は、これまでは、このようなコードではUbuntuのサーバ上で動作します:VLCストリームをファイルに保存

cvlc -d --sout "#transcode{vcodec=FLV1,vb=512,fps=3,acodec=none,sfilter=marq{marquee='АБК %d.%m.%Y %H.%M.%S',opacity=200,size=20}}:std{access=file,mux=ffmpeg{mux=flv},dst=/storage/surveillance/$date/${name[$i]}/$curdate.flv}" --ttl=127 "http://[email protected]@cam_ip/cgi-bin/cmd/encoder?&${analog[$i]}&GET_STREAM" --http-reconnect --http-continuous --sout-mux-caching=1500 --udp-caching=6000 --tcp-caching=6000 

私はこの

vlc.exe "http://[email protected]@cam_ip/cgi-bin/cmd/encoder?&$CHANNEL=1&GET_STREAM" 

を使用してCMDから開くことができMJPG、カメラからのHTTPストリームを得た。しかし、私がしようとしたとき、私は立ち往生

--sout "#transcode{vcodec=FLV1,vb=512,fps=3,acodec=none,sfilter=marq{marquee='АБК %date% %time%',opacity=200,size=20}}:std{access=file,mux=ffmpeg{mux=flv},dst=%archive%\%name%\%date%\%time%.flv}" 

VLCはオープンされていますが、ビデオ出力とファイルがパスされていません。ディスクFはローカルHDDで、ログインとパスワードはカムに適しています。バッチはローカル管理者から開きます。

完全なファイルは次のようになります。

:: Set encoding for cyrillyc symvols 
@chcp 866 

:: Some vars for easy edit in future 
:: Choosing cam 
:: set analog=CHANNEL=1 
set analog=CHANNEL=2 
:: set analog=CHANNEL=3 
:: set analog=CHANNEL=4 

:: Choose folder to save 
:: set name="2 этаж" 
set name="1 этаж" 
:: set name="Главный_вход" 
:: set name="1 этаж 2" 

:: Path to archive 
set archive="F:\Archive\Охрана" 

:: Move to vlc.exe folder 
cd "c:\Program Files (x86)\VideoLAN\VLC" 

:: Record Video 
vlc.exe --sout "#transcode{vcodec=FLV1,vb=512,fps=3,acodec=none,sfilter=marq{marquee='АБК %date% %time%',opacity=200,size=20}}:std{access=file,mux=ffmpeg{mux=flv},dst=%archive%\%name%\%date%\%time%.flv}" --ttl=127 "http://[email protected]@cam_ip/cgi-bin/cmd/encoder?&$%analog%&GET_STREAM" --http-reconnect --http-continuous --sout-mux-caching=1500 --udp-caching=6000 --tcp-caching=6000 
+1

ですから、現時点では、これを行うにはWindows PCを使用していますか? – Jonas

+1

CCTVだけでなく、ウィンドウを使用する理由はたくさんあります。そう、はい - Windows Server 2k8 r2。 –

答えて

1

あなたのVLCコマンドが正しくありません:それは、「ソースのキャプチャ - トランスコード」であるべきではない、その逆、フォーマット。 PlsはStreaming HowTo/Command Line Examplesに従います。FLV supportも参照してください。同様に、コマンドの出力は使用されるVLCのバージョンによって異なります。古いバージョンのVLC2.2.2はCmdからうまく動作し、出力エラーなしでVLM Config fileを使用することができます。

一般に、バッチからVLCを起動する前に、WindowsでVLC GUI経由で同じトランスコードオプションを使用して、出力を適切にキャプチャしてトランスコードできるかどうか、CPU負荷は何かを確認してください。 transcodeコマンドの例を、より具体的にはhereに従ってください。より小さなファイルサイズのためのH264またはより新しいコーデック形式へのトランスコードを検討してください。

CPU負荷が高い場合は、最新のFFMpeg Zeranoe VLCと比較して、CPU負荷が低く、トランスコード品質が高いため、Windows用に最新のものを試してください。適切なトランスコードコマンドexamplesについては、フォーラムを参照してください。 VLCはFFMPEGパッケージも使用していますが、古いバージョンです。 Windows FFMPEGビルドはDirectShowを使用してUSBウェブカメラの入力をキャプチャするので、典型的なコマンドはLinuxビルドとは異なるように見えますが、IPカメラと同様に見えるかもしれません。

あなたの特定のIPCAMモデルの場合FFMPEG \ binフォルダからの非常に基本的なストリームキャプチャバッチファイルの実行が(未テストが、変更URL文字列で私のIPCAMモデルのために動作します)次のようになります。

@echo off 
ffmpeg -f mjpeg -i^
"http://login:[email protected]_ip/cgi-bin/cmd/encoder?&$CHANNEL=1&GET_STREAM"^
-vcodec flv -q:v 1 -an K:\Videos\output.flv 
exit /b 

別FOSCAM MJPEG IPCAMキャプチャのための典型的なコマンド例:お使いのIPCAMモデルに応じて、正しいURLキャプチャ文字列の

ffmpeg -f mjpeg -i "http://Cam_IP:8080/videostream.cgi?user=[login]&pwd=[password]"^
-vcodec flv -q:v 1 -an K:\Videos\output.flv 

チェックCamera Connection DatabaseTranscoding MJPEG to FLV or MP4も参照してください。

関連する問題