我在Rpi上使用网络摄像头录制音频视频。我正在使用ffmpeg 这是我的命令:
ffmpeg -y -ac 1 -f alsa -i hw:1,0 -i /dev/video1 -r 10 -s 120*120 -async 1 -strict -2 -c:a aac -pix_fmt yuv420p -threads 0 -ar 44100 -f mpegts out.avi
这会生成带有视频和音频的.avi
文件,但是当我尝试使用ffserver进行流式传输时使用:
ffmpeg -y -ac 1 -f alsa -i hw:1,0 -i /dev/video1 -r 10 -s 120*120 -async 1 -strict -2 -c:a aac -pix_fmt yuv420p -threads 0 -ar 44100 -f mpegts http\\some_ip:someport\webcam.ffm
我得到av_interleaved_write_frame(): Broken pip
我如何解决这个问题?流音频视频的任何其他建议(请不要使用Motion)。
更新
这是我的ffserver配置文件
Port 8090
BindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 1000
CustomLog -
#NoDaemon
<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 200K
ACL allow 127.0.0.1
</Feed>
# if you want to use mpegts format instead of flv
# then change "live.flv" to "live.ts"
# and also change "Format flv" to "Format mpegts"
<Stream live.avi>
Format mpegts
Feed feed1.ffm
VideoCodec mjpeg
VideoFrameRate 30
VideoBitRate 512
VideoSize 320x240
AVOptionVideo crf 23
AVOptionVideo preset medium
# for more info on crf/preset options, type: x264 --help
AVOptionVideo flags +global_header
AudioCodec aac
Strict -2
AudioBitRate 128
AudioChannels 2
AudioSampleRate 44100
AVOptionAudio flags +global_header
</Stream>
当我将流保存到本地文件out.avi我可以看到视频和音频但是当我在我的Windows机器上使用ffserver vlc时甚至无法显示视频(黑屏随时会出现一些声音故障) 感谢。