我正在尝试将 IP 网络摄像头 ASF 实时流传输到 ffserver 以输出 OGG 格式。服务器成功启动,但用于向 ffserver 提供数据的 ffserver 命令因段错误而失败。
输入流
$ ffprobe http://account:password@webcam/videostream.asf
Input #0, asf, from 'http://account:password@webcam/videostream.asf':
Duration: N/A, start: 0.000000, bitrate: 32 kb/s
Stream #0:0: Video: mjpeg (MJPG / 0x47504A4D), yuvj422p(pc), 640x480, 25 tbr, 1k tbn, 1k tbc
Stream #0:1: Audio: adpcm_ima_wav ([17][0][0][0] / 0x0011), 8000 Hz, 1 channels, s16p, 32 kb/s
ffserver 配置
我的 ffserver 配置是:
Port 8091
RTSPPort 554
BindAddress 192.168.1.62
MaxHTTPConnections 1000
MaxClients 100
MaxBandwidth 1000
CustomLog -
<Feed webcam.ffm>
File /tmp/webcam.ffm
FileMaxSize 500M
ACL allow localhost
ACL allow 192.168.0.0 192.168.255.255
</Feed>
<Stream webcam.ogg>
Feed webcam.ffm
InputFormat asf
Format ogg
Preroll 15
VideoCodec libtheora
VideoFrameRate 7
VideoSize 640x480
PixelFormat yuv420p
Qscale 7
VideoBitRate 256
VideoBufferSize 40
AudioCodec libvorbis
AudioBitRate 64
StartSendOnKey
</Stream>
<Stream status.html>
Format status
# Only allow local people to get the status
ACL allow localhost
ACL allow 192.168.0.0 192.168.255.255
</Stream>
ffmpeg 提要
我运行以下命令失败
$ ffmpeg -i http://account:password@webcam/videostream.asf http://ffserver_ip:port/webcam.ffm
Input #0, asf, from 'http://account:password@webcam/videostream.asf':
Duration: N/A, start: 0.000000, bitrate: 32 kb/s
Stream #0:0: Video: mjpeg (MJPG / 0x47504A4D), yuvj422p(pc), 640x480, 25 tbr, 1k tbn, 1k tbc
Stream #0:1: Audio: adpcm_ima_wav ([17][0][0][0] / 0x0011), 8000 Hz, mono, s16p, 32 kb/s
[swscaler @ 0x36a80c0] deprecated pixel format used, make sure you did set range correctly
Segmentation fault
感谢您的帮助
答案1
这对我来说没有音频
<Feed cam1.ffm> File /tmp/cam1.ffm FileMaxSize 10000K ACL allow 127.0.0.1 </Feed>
<Stream vid.ogg> Feed cam1.ffm Format ogg VideoCodec libtheora VideoFrameRate 15 VideoSize vga VideoBitRate 320 VideoBufferSize 40 VideoGopSize 12 VideoQMin 1 VideoQMax 31 Preroll 0 AVOptionVideo flags +global_header NoAudio StartSendOnKey </Stream>
重新加载我的服务器
ffserver -f /etc/ffserver.conf reload
开始我的订阅
ffmpeg -f alsa -i default -f video4linux2 -i /dev/video0 http://localhost:8888/cam1.ffm
从 html 播放视频流
<video controls>
<source src="http://192.168.1.104:8888/vid.ogg" type="video/ogg">
Your browser does not support the <code>video</code> element.
</video>