问题标签 [mplayer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4998 浏览

audio - MPlayer:独立改变音高和速度

我花了一些时间试验MPlayer 从模式协议:在一个自定义应用程序中,我有两个控件:一个用于改变音高,一个用于改变速度。

使用 MPlayer API 中的scaletempo过滤器和 *speed_set* / *speed_mult* 命令很容易实现。

但是,如果我尝试独立修改音高和速度,则会出现问题。举个例子:我希望能够将速度降低 20%,同时将音高调高两个或三个半音。

我尝试通过添加两个 scaletempo 过滤器来做到这一点,但没有成功:

此方法改变速度,保留原始音高。

是否有任何其他解决方案可以使用 MPlayer 或任何其他媒体播放器来做到这一点?

提前致谢!

0 投票
2 回答
10925 浏览

mplayer - mplayer slave:在开始播放之前设置音量

我知道这是关于一个特定的程序(mplayer 后端);但是它将用于对前端进行编程,所以我希望它仍然被认为是 Stack Overflow 上的主题。

我想运行两个 mplayer 从属实例,它们将用于在不同的音频流之间淡入淡出(webradio;平滑地改变频道)。为此,我设置了 mplayer 的“软件音量”,这样它就不会影响声卡的 PCM 输出通道,而是插入了一个软件音量混合器来调节音量。

但是,我遇到以下问题。

我使用以下命令启动 mplayer(可以在命令行上测试):

并向 mplayer 发送以下命令:

它开始(短时间)以 100% 的音量播放文件,然后跳到 0% 的音量。如果我交换这两个命令,mplayer 会告诉我无法调节音量:

显然,尚未加载音频过滤器/尚未设置音频输出或类似的东西,因此 mplayer 无法更改不存在的音频输出的音量。

我可以强制 mplayer 提前初始化所有内容,以便我可以将音量设置为 0%,加载文件,然后增加音量以淡入播放吗?

我已经检查了我是否可以在播放某些文件(例如静音虚拟文件)后设置音量;mplayer 抱怨同样的错误。目前,我能想到的唯一选择是启动这样一个虚拟文件,调整音量,停止虚拟文件,加载正确的文件来播放,它会以刚刚设置的音量开始。但我不敢相信这是最好的选择。

0 投票
5 回答
5209 浏览

mplayer - 在 MPlayer slave 模式下获取当前正在播放的文件

问题:我找不到任何方法来可靠地获取 MPlayer 播放列表中的当前播放文件。

这是我已经走了多远。这个工作的 ash 脚本监视一个带有当前播放列表路径的文本文件。当我更新文件时,脚本会关闭 MPlayer 的旧实例并使用新播放列表打开一个新实例:

我最初的计划只是使用“-identify”标志并解析日志文件。这实际上非常有效,直到我需要截断日志文件以防止它变得太大。一旦我的截断脚本运行,MPlayer 就会停止写入日志文件:

我已经搜索和搜索,但无法找到任何其他方式来获取当前正在播放的文件。

我尝试将输出通过管道传输到另一个命名管道,然后对其进行监视,但只能工作几秒钟,然后 MPlayer 完全冻结。

我也尝试过使用 bash(而不是 ash)并将输出传递到如下函数,但遇到了同样的冻结问题:

我怀疑我在这里遗漏了一些非常明显的东西,所以任何帮助、想法、正确方向的观点都将不胜感激。

饲料

0 投票
1 回答
317 浏览

bash - Bash 中的音量逐渐增加

我正在制作一个闹钟,并希望从基本上没有音量开始,并每 2 秒将声音增加一个“等级”/值,直到某个预定义的点不再增加。

截至目前我正在使用mplayer(它是一个广播电台,所以我正在运行mplayer http://66.225.205.192:80),但我不在乎我使用什么(VLC等))

我的完整代码是

0 投票
2 回答
6578 浏览

python - Python:从模式下向mplayer发送命令

在从属模式下运行时,我试图通过管道向 mplayer 发送命令,如下所示:

但输出什么都没有。

我从这个问题中举了一个例子。

在终端中运行相同的 mplayer 命令可以正常工作。我在这里想念什么?

更新:

我将 cmd 从“get_meta_artist”更改为“get_meta_artist\n”,以便将换行符也发送到管道,但输出中仍然没有任何内容。

更新2:

我把 cmd 改成“\npause\n”,音乐就暂停了。所以这意味着通过标准输入发送命令有效。这意味着“\nget_meta_artist\n”命令的输出字符串没有按预期返回......

0 投票
1 回答
1435 浏览

linux - 具有多个 fifo 的 Linux tee 命令。fifo 块三通

我正在尝试开发一个程序来播放和录制一些 rtmp 流。该程序是在 Qt 中开发的。

我正在使用 rtmpdump 和 mplayer。因为两者都在单独的进程中运行,所以我使用 fifo 将流从 rtmpdump 传递到 mplayer。我需要单独的过程,因为 mplayer 需要由用户控制。所以 mplayer 在从属模式下运行。

这对于播放流效果很好。

现在我想将流录制到另一个文件中。我知道我可以使用 mplayer 来做到这一点。但是使用单个 mplayer 是不可能的,因为它只支持播放或录制。于是想到用tee命令分流,使用2个mplayer进程,一个用于录制,一个用于播放。

现在溪流像这样流动

一个 mplayer 正在读取 fifo_for_playing,另一个正在读取 fifo_for_recording。

现在的问题是,由于应该记录的 mplayer 只有在用户按下记录按钮时才会启动,所以 fifo_for_recording 将阻止 tee,因为它没有打开。所以玩也不会开始。

有人可以提出解决方案或更好的方法来实现这一目标吗?我想要做的是与非阻塞先进先出的发球台。所以即使一个fifo没有打开读取,它也不会阻塞发球台..

0 投票
2 回答
1531 浏览

fullscreen - mplayer全屏播放gif动画?

我对 mplayer 不熟悉,而且大量的选项对我来说似乎是一片丛林,而我只想在运行 raspbian 的 RPi 上全屏显示无限循环的 gif 动画。

任何人都可以帮助我吗?

0 投票
2 回答
1654 浏览

linux - 保持 mplayer 窗口打开,链接顺序视频文件

我有一个脚本,它从给定的电影文件中解析一堆事件,并使用-ss-endpos标志来播放文件的特定部分。假设有一个文件可用。我想要做的是运行一个链式命令,如:

mplayer vidfile.mp4 -ss 110 -endpos 5 -fs;mplayer vidfile.mp4 -ss 130 -endpos 9

这个想法是让视频的两个部分按顺序全屏播放。但是,当两个视频短暂退出到桌面时,两个视频之间会出现明显的闪烁。(Ubuntu 12.04。)

我怎样才能让 mplayer 保持打开状态或让开关不那么刺耳?用 30 个剪辑来做这件事会让人头疼,我想看看是否可以这样做,而无需编写脚本来剪辑电影并将它们放在一起(这听起来像是一场噩梦,但如果有人有想法,请在评论中发布)。

0 投票
1 回答
1634 浏览

python - 使用python将视频文件拆分为一组部分

我使用以下python代码将FLV视频文件拆分为一组部分,完成后,只能播放第一部分视频,其他部分已损坏。我想知道为什么以及是否有一些正确的方法来分割视频文件

这里的代码格式很乱,请看这里的格式化代码

0 投票
1 回答
405 浏览

linux - 用于网络播放的链式视频(与 mplayer 等效的 flash/html5?)

我有一个大型视频存储库和一个 MySQL 数据库来描述/组织它们(以及有关视频的元数据)。我目前拥有的是一个 php 前端,它可以使用system()调用来执行以下操作:

这让我可以以链式方式播放同一视频(或多个视频)的片段。这很好用。

但是,很明显,这仅在您在服务器上时才有效。如果您通过网络将此文件提供给客户端,那将无法正常工作。

因此,假设我将所有视频都放在一个名为 的文件夹中/home/videos,是否有一种简单的方法可以使用 flash 容器、HTML5 容器或其他方法进行类似的调用?(将标准输出重定向到某个东西?)

编辑:如果重要的话,视频都是 h.264/mp​​4 格式,我不愿意转换它们。