繁体   English   中英

ffmpeg问题

[英]ffmpeg questions

我对ffmpeg有问题,不知道如何继续。 我有两台电脑:

客户:

  • 运行Ubuntu 14.04
  • FFmpeg已安装
  • 使用C ++语言
  • 功能:使用ffmpeg对来自客户端笔记本电脑的网络摄像头的h264视频数据进行编码,然后实时流式传输到服务器

服务器:

  • 运行Windows 7
  • FFmpeg已安装
  • 使用c ++语言(MFC)
  • 特点:从客户端获取实时数据并在屏幕上显示。

我刚刚将客户端连接到服务器,他们可以一起聊天文本数据,而且我不知道要进行实时视频工作。

我的问题是:

  1. [客户端]如何从笔记本电脑上的网络摄像头获取视频(使用ffmpeg代码),将其保存到缓冲区(原始数据),对其进行编码并发送到服务器?

    我使用ffmpeg从wc获取视频,但将其保存到文件中。 我真的不想要 代码是:

     ffmpeg -f v4l2 -framerate 25 -video_size 640x480 -i /dev/video0 output.mkv 
  2. [客户端]如何从客户端获取原始数据,对其进行解码和播放?

    我有一个在MFC中使用DirectShow播放的想法。

如果必须的话,可以使用FFmpeg库或libav库在c ++中实现自己的播放器。 这使您可以支持多种编解码器和格式。

在Windows上,可以使用c ++ Windows Media Player控件 ,但它仅支持几种格式,不支持H.264。

在原始服务器(您的Linux机器)上,您具有以下选项:

  • vlc转码

WMP似乎接受了ASF中具有MP3的DivX3:

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检索流。

  • ffmpegffserver

阅读ffserver的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检索流。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM