【STM32MP135F-DK】流媒体功能评估
<div class='showpostmsg'> 本帖最后由 fangkaixin 于 2024-1-15 09:14 编辑## 1. 概述
在STM32MP135F-DK开发套件上,有一块640*360的屏幕,默认开发包OpenSTLinux中也集成有流媒体GStreamer框架的工具,所以在开发套件上是支持播放视频的,可以作为一个视频播放器使用。本期我们就尝试使用这一部分功能,并且播放远程电脑主机上的视频!
## 2. 工具
主要用到的工具有两个,一个是`gst-play`(gst-play-1.0),另一个是`gst-discoverer`(gst-discoverer-1.0)。`gst-play`和`gst-discoverer`都是 GStreamer 框架中的一个命令行实用程序。该框架下还有好几个其他好用的工具,不过本例未使用到,就不过多介绍了。`gst-play` 允许用户通过命令行播放各种媒体文件,包括音频和视频。`gst-discoverer` 则用于发现媒体文件的信息。
## 3.基本使用方法
### 3.1 gst-play使用方法
`gst-play` 接受以下选项:
```bash
gst-play-1.0 FILE1|URI1
```
### 3.1.1 常见选项
- `-v, --verbose`: 输出状态信息和属性通知。
- `--videosink`: 指定视频输出插件,默认为 autovideosink。
- `--audiosink`: 指定音频输出插件,默认为 autoaudiosink。
- `--volume`: 设置音量。
- `--gapless`: 启用无缝播放。
- `--shuffle`: 随机播放列表。
- `--no-interactive`: 禁用通过键盘的交互控制。
- `-q, --quiet`: 不输出任何信息(除了错误)。
### 3.1.2 主要特性和使用方法
- **播放多媒体内容:** 支持播放单个文件、URL,或者整个目录(包括递归子目录)。
- **命令行控制:** 提供了多个命令行选项,用于设置音频输出、视频输出、音量、无缝播放等。
- **交互式控制:** 用户可以通过键盘进行交互,控制播放器的暂停、音量调整、快进后退等操作。
- **支持播放列表:** 可以指定多个媒体文件,支持播放列表的操作。
### 3.2 gst-discoverer使用方法
以下是 `gst-discoverer` 的基本使用方法:
```bash
gst-discoverer-1.0 FILE1
```
### 3.2.1 主要用途和使用方法
- **媒体信息发现:** 通过分析媒体文件,`gst-discoverer` 可以提供关于该文件的详细信息,帮助用户了解媒体的属性和特征。
- **命令行使用:** 用户可以通过命令行输入文件路径,获取媒体文件的信息。例如:`gst-discoverer-1.0 video.mp4`。
- **详细信息输出:** `gst-discoverer` 输出的信息包括但不限于媒体类型、时长、编码格式、音频和视频流信息等,以便用户更好地了解媒体文件的特性。
## 4. GStreamer播放本地视频测试
### 4.1 基本音视频播放
developer package中默认带了一个ST宣传视频,可以直接播放
```bash
gst-play-1.0 /usr/local/demo/media/ST2297_visionv3.webm
```
### 4.2 仅视频播放
```bash
gst-play-1.0 /usr/local/demo/media/ST2297_visionv3.webm --audiosink=fakesink
# (音频解码继续,但音频渲染被禁用)
```
### 4.3 播放多个文件
```bash
gst-play-1.0 /usr/local/demo/media/file1 /usr/local/demo/media/file2 /usr/local/demo/media/file3
```
### 4.4 循环播放相同视频
```bash
for i in `seq 1 1000`; do gst-play-1.0 /usr/local/demo/media/ST2297_visionv3.webm; done
```
### 4.5 快进和后退
```
gst-play-1.0 /usr/local/demo/media/ST2297_visionv3.webm
# 按右箭头键前进,按左箭头键后退
```
### 4.6 调整播放速度
```bash
gst-play-1.0 /usr/local/demo/media/ST2297_visionv3.webm
# 按"+"键增加速度,按"-"键减小速度
```
### 4.7 本地播放效果展示
## 5. HTTP流媒体播放远端PC主机上的视频
我的主机IP地址是192.168.1.12,开放的http服务端口为8013,文件路径是F%3A/Temp/apple_out.mp4
### 5.1 查找HTTP流媒体
为了确认是否能找到我们远程主机上的视频文件,先用`gst-discoverer`工具查看一下
```bash
gst-discoverer-1.0 http://192.168.1.12:8013/F%3A/Temp/apple_out.mp4
```
### 5.2 播放远端视频
```bash
gst-play-1.0 http://192.168.1.12:8013/F%3A/Temp/apple_out.mp4
```
### 5.3 效果展示
## 总结
ST的软件包集成了许多类似的强大而且好用的工具(框架),在不同设备和网络条件下,均提供了相应的播放示例。使得在流媒体方面,不同场景下的音视频播放更加灵活。可以通过键盘进行交互控制,并且支持多种播放控制操作,包括音视频切换、快进后退、音量调整等。
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <p>还是有点卡呢?是gif的问题还是视频本来就卡?</p>
freebsder 发表于 2024-1-15 19:42
还是有点卡呢?是gif的问题还是视频本来就卡?
<p>确实有点卡,不是gif问题,播放不够流畅</p>
页:
[1]