第16课 播放rtsp流

在现实生活中有许多rtsp摄像头,这些摄像头如果能充分利用起来可以生成很多有趣、有用的应用:比如户外互动大屏等。在第4课,我们实现了一个播放器,当时来用它播放rtmp流和mp4时它好象工作的很好。这节课我们就用它来播放rtsp流试试。

1.复制demo4并改名为demo16.

2.将原rtmp地址修改为rtsp地址:

const char *inFileName = "rtsp://admin:passwd@192.168.0.100:554/h264/ch1/main/av_stream";

上述代码中的rtsp地址是海康摄像头通用的格式,admin指用户名,passwd指密码。

3.调试运行,可能会发现报错,错误一般出在音频转换部分,我们可以参与下面的代码尝试进行修正:

//将音频帧转换到数组
audioSwrCtx = swr_alloc_set_opts(audioSwrCtx, AV_CH_LAYOUT_MONO, AVSampleFormat::AV_SAMPLE_FMT_S16, frame->sample_rate, frame->channel_layout, (AVSampleFormat)frame->format, frame->sample_rate, NULL, NULL);

//扬声器设置
outWaveform.nChannels = 1;

4.再次运行,它可以正常工作了,声音也正常了。

RTSP摄像头分布广泛,成功播放了RTSP视频和音频就可以在下一步开发一些实用的应用程序了。

相关推荐

  1. 前端vue+xgVIdeo集成rstp播放

    2024-01-07 10:06:01       28 阅读
  2. VUE中直接播放海康威视RTSP/RTMP/ISC平台/NVR视频

    2024-01-07 10:06:01       126 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-07 10:06:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-07 10:06:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-07 10:06:01       82 阅读
  4. Python语言-面向对象

    2024-01-07 10:06:01       91 阅读

热门阅读

  1. K8S学习指南(62)-K8S源代码走读之Kube-Scheduler

    2024-01-07 10:06:01       71 阅读
  2. 纯虚函数和抽象类(C++)

    2024-01-07 10:06:01       62 阅读
  3. Binius:基于binary fields的SNARKs(Part 2)

    2024-01-07 10:06:01       72 阅读
  4. DOCKER镜像

    2024-01-07 10:06:01       59 阅读
  5. EF Core实体的五种不同的状态

    2024-01-07 10:06:01       81 阅读
  6. uniapp分包

    2024-01-07 10:06:01       54 阅读
  7. npm配置文件 .npmrc 加载优先级和使用示例

    2024-01-07 10:06:01       59 阅读
  8. Copilot在PyCharm的应用

    2024-01-07 10:06:01       80 阅读
  9. vue,小程序,uni-app的生命周期?

    2024-01-07 10:06:01       56 阅读