使用 ffmpeg 和 ffserver 将音频和视频流式传输到 VLC

使用 ffmpeg 和 ffserver 将音频和视频流式传输到 VLC

我正在尝试使用 Raspberry Pi 2 设置网络摄像头,以便通过另一台计算机上的 VLC 媒体播放器观看。我按照这里的教程才能让视频正常工作,但他的其他涉及音频的教程对我没用。

以下是对我而言有效的视频设置ffserver -f webcam.conf

HTTPPort 80
HTTPBindAddress 0.0.0.0
MaxClients 10
MaxBandwidth 50000

<Feed webcam.ffm>

File /tmp/web.ffm
FileMaxSize 10M

</Feed>

<Stream webcam.mjpeg>

Feed webcam.ffm
Format mjpeg
VideoSize 320x240
VideoFrameRate 10
VideoBitRate 20000
VideoQMin 1
VideoQMax 10

</Stream>

<Stream stat.html>
Format status
</Stream>

然后我可以用以下命令运行它:

ffserver -f webcam.conf & ffmpeg -v verbose -r 5 -s 320x240 \
-f video4linux2 -i /dev/video0 http://0.0.0.0/webcam.ffm

我尝试了几种不同的文件格式来播放音频,教程建议使用 avi,但是没有用,ffmpeg 文档解释了为什么不应该这样做。所以我尝试了asfrmmpegasf使用 VLC 我可以看到灰屏,但没有真正的视频或音频。以下是配置更改:

<Stream test.asf>
Feed webcam.ffm
Format asf
VideoCodec msmpeg4v2
VideoFrameRate 15
VideoSize vga
VideoBitRate 320
VideoBufferSize 40
VideoGopSize 15
AudioBitRate 64
# StartSendOnKey
</Stream>

我尝试运行的命令是:

ffmpeg -thread_queue_size 512 -v verbose -f video4linux2 -r 3 \
-i /dev/video0 -f alsa -ac 1 -i hw:1 http:/0.0.0.0/webcam.ffm

我读过一些提到延迟的文章,但我让它运行了至少 30 分钟,结果什么都没有,只有灰色。我觉得我的 ffserver 配置和我运行的用于流式传输的 ffmpeg 命令之间的设置组合不正确。我错过了什么?或者,我是否应该使用其他媒体播放器来查看我的流?

相关内容