我有ffmpeg的问题,我不知道如何继续。我有2台电脑:
客户:
服务器
我刚刚将客户端连接到服务器,他们可以将文本数据一起聊天,我也不知道如何让实时视频工作。
我的问题是:
[客户]如何从笔记本电脑上的网络摄像头获取视频(使用ffmpeg代码),将其保存到缓冲区(原始数据),对其进行编码并发送到服务器?
我使用ffmpeg从wc获取视频,但保存到文件。我真的不想要它。代码是:
ffmpeg -f v4l2 -framerate 25 -video_size 640x480 -i /dev/video0 output.mkv
[客户端]如何从客户端获取原始数据,解码并播放?
我有想法在MFC中使用directshow来播放它。
答案 0 :(得分:0)
如果必须,您可以使用FFmpeg库或libav库在c ++中实现自己的播放器。这使您可以支持各种编解码器和格式。
在Windows上,您可以使用c ++ Windows Media Player Control,但它只支持几种格式,而且不支持H.264。
您在源服务器(Linux机器)上有以下选项:
vlc
转码在ASF中,带有MP3的DivX3似乎被WMP接受:
cvlc input.mp4 --sout="#transcode{vcodec=DIV3,scale=Auto,acodec=mp3,ab=128,channels=2,samplerate=44100}:http{mux=asf,dst=:8080/}" --sout-keep
在客户端上,您可以使用http://server_address:8080
检索流。
ffmpeg
与ffserver
阅读ffserver Documentation和Streaming media with ffserver以进行设置。
对于WMP,您将再次使用ASF:
# ASF compatible
<Stream test.asf>
Feed feed1.ffm
Format asf
VideoFrameRate 15
VideoSize 352x240
VideoBitRate 256
VideoBufferSize 40
VideoGopSize 30
AudioBitRate 64
StartSendOnKey
</Stream>
您可以使用http://ffserver_address:port/stream_name.asf
检索流。