gpt4 book ai didi

c++ - ffmpeg 问题

转载 作者:行者123 更新时间:2023-12-04 23:28:53 31 4
gpt4 key购买 nike

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

客户:

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

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

  • 我刚刚将客户端连接到服务器,他们可以一起聊天文本数据,我不知道如何制作实时视频。

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

    我使用 ffmpeg 从 wc 获取视频,但它保存到文件。我真的不想要。代码是:
    ffmpeg -f v4l2 -framerate 25 -video_size 640x480 -i /dev/video0 output.mkv
  • [客户端] 如何从客户端获取原始数据,解码并播放?

    我有一个想法通过在 MFC 中使用 directshow 来播放它。
  • 最佳答案

    如果必须,您可以使用 FFmpeg 在 C++ 中实现自己的播放器。图书馆或 libav图书馆。这使您可以支持各种编解码器和格式。

    在 Windows 上,您可以使用 c++ Windows Media Player Control ,但它只支持几种格式,并且不支持 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 DocumentationStreaming 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>

    Source .

    您可以使用 http://ffserver_address:port/stream_name.asf 检索流.

    关于c++ - ffmpeg 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29753003/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com