c++ - Live555 在一个 RTSP 流中流式传输实时视频和音频

标签 c++ live555

我已经能够单独使用 live555 流式传输视频以及单独使用 live555 流式传输音频。

但我想在同一个 VLC 上播放视频和音频。我的视频是 h264 编码的,音频是 AAC 编码的。我需要做什么才能将这些数据包传递到 FramedSource。

我要覆盖什么 MediaSubsession/DeviceSource,因为这不是固定文件,而是实时视频/实时音频?

提前致谢!

最佳答案

为了在同一个 RTSP 单播 session 中流式传输视频/H264 和音频/MPEG4-GENERIC,您应该执行如下操作:

#include "liveMedia.hh"
#include "BasicUsageEnvironment.hh"

int main()
{
   TaskScheduler* scheduler = BasicTaskScheduler::createNew();
   BasicUsageEnvironment* env = BasicUsageEnvironment::createNew(*scheduler);
   RTSPServer* rtspServer = RTSPServer::createNew(*env);
   ServerMediaSession* sms = ServerMediaSession::createNew(*env);
   sms->addSubsession(H264VideoFileServerMediaSubsession::createNew(*env, "test.264",false));
   sms->addSubsession(ADTSAudioFileServerMediaSubsession::createNew(*env, "test.aac",false));
   rtspServer->addServerMediaSession(sms);
}

关于c++ - Live555 在一个 RTSP 流中流式传输实时视频和音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26082837/

相关文章:

c++ - QFile 需要多个参数?

c++ - 将结构对象作为参数传递给 C++ 中的函数是一种好习惯吗?

c++ - LIVE555 如何使用 h264 成帧器类获取 ffmpeg 的最终单位

linux - 将 movflags 添加到 mp4 文件的顶部,而不使用 ffmpeg 进行实时 RTSP 流

ios - 如何使用 iOS8 的 VideoToolbox 解码 live555 rtsp 流 (h.264) MediaSink 数据?

c# - 什么样的随机数生成系统会为给定的 key 返回一个结果?

c++ - Qt:格式化QString中的整数

java - 让用户知道函数的非法输入

ffmpeg - 当 RTSP 服务器关闭时,尝试关闭 SDL_CloseAudio 已死锁

c++ - live555流媒体转发使用方法