问题标签 [vlc-android]

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 回答
221 浏览

libvlc - 在 Android 中将程序 ID (sid) 动态设置为 LibVLC

在我的 Android 应用程序中,我使用 libvlc 3.1.1 来读取 DVB 流。因此,我构建了我的 LibVLC 指定参数,构建了 MediaPlayer,并从对应于我的 DVB 流的 URI 构建了媒体。

那是有效的。现在我想在创建 VLCLib 后动态设置 SID(“--program=769”),以避免加载繁重的库。任何想法 ?

我阅读了这份文档: https ://wiki.videolan.org/Documentation:Advanced_Use_of_VLC/

0 投票
0 回答
3095 浏览

android - 适用于 Android (3.0+) 的 VLC 的规范低延迟设置

我最近开始在 Android 应用程序中使用 libVLC,目的是替换我们付出很多代价但没有看到我们希望的结果的商业 SDK。该应用程序需要尽可能接近实时地查看 RTSP 流。理想情况下为 500 毫秒或更好(取决于平板电脑),而延迟不会随着时间的推移而漂移。

为 libVLC 切换商业 SDK 的过程几乎是无缝的,并且可以立即运行,除了延迟为几秒钟(没有触及任何默认设置)。它连接到 RTSP 流的速度非常快,并且不会断开连接。

我花了几天时间调整各种设置,以尽量减少延迟。在某些情况下,我得到 300 毫秒的延迟,最终会漂移到几秒钟的延迟,然后流下降并重新启动(并且延迟舞蹈再次开始)。在其他情况下(我猜是当我将网络缓存设置得太低时),我会得到一个充满错误的日志并且永远不会得到图片。

我目前的设置是:

如果我设置network-caching为小于 200,我永远看不到图像(我在某处读到这可能是因为平板电脑的解码器延迟高于 200 毫秒)。

无论如何,我在十年间找到了几十个潜在的答案,有些是相似的,有些是相互矛盾的,有些使用了已弃用的标志。一些值得注意的:

2019:https ://forum.videolan.org/viewtopic.php?t=149511

2018:Android LibVLC 选项不起作用

2017:在 Android 上使用 libvlc 播放 rtp 流时减少延迟

2015:https ://forum.videolan.org/viewtopic.php?f=35&t=124932&p=420020&hilit=latency#p420020

2015:减少流媒体和实时流媒体方法的延迟

2013:使用 VLC 以尽可能低的延迟通过 RTP 流式传输桌面

当然,我们在这里有大量的 VLC 标志列表:https ://wiki.videolan.org/VLC_commaand-line_help/

所以,总而言之,Android 上的 libVLC 3+ 是否有一个规范的方法,我们应该共同将其用于实时流应用程序?

在我的例子中,为了尽可能接近实时,零缓存和丢弃延迟帧是理想的(即使是 janky 帧)。但是,我也明白,对于大多数人来说,稳定的流媒体(偶尔会出现零星的丢帧)会更受欢迎。

我最初在3 天前发布在VideoLAN 论坛上。

0 投票
1 回答
113 浏览

java - Java 中的 libvlc 是否与 C 中的 libvlc 一样完整?

我想在Android平台上开发一个Android程序,我也编译了一些库(例如libvlc.so,libvlcjni.so……)。但是在我构建了这些库之后,我还找到了一些 Java 代码,一个名为 libvlc 的包,它是用 Java 编写的。我已经阅读了 videolan.org 提供的一些 API,还阅读了一些 java 版本的代码。现在我有一个问题,如果我只使用Java api,是否足够?(首先,我只是想开发一个简单的播放器)。还是C库不完整?如果没有,谁能告诉我主要区别?我住在一个我们不会说英语的国家,也许我的英语很差。希望你能明白我的想法。谢谢!

0 投票
1 回答
147 浏览

docker - Docker - 挂载目录的所有者和组

我运行了一个将主机目录绑定到容器目录的 docker 容器,但是容器目录及其文件的权限因主机而异。

Mac OS 10.14.6(Docker 桌面版本 2.1.0.3)上的结果

drwxr-xr-x 2 videolan videolan 64 Sep 27 04:34 /vlc-android

Ubuntu 服务器 18.04.3 上的结果

drwxr-xr-x 2 root root 4096 Sep 27 06:11 /vlc-android

我正在尝试构建 VLC 播放器 android 应用程序。从源代码通过vlc-android 构建环境的 docker 映像或以下...

并像下面那样构建它

我希望用户 id“videolan”是容器目录“/vlc-android”的所有者 id,容器中的所有文件在 Ubuntu 服务器 18.04.3 上运行,如“Mac OS 10.14.6 上的结果(Docker 桌面版本 2.1.0.3)"。

我能怎么做?

0 投票
1 回答
2158 浏览

java - 如何使用 libvlc-all:3.2.0 在 android 应用程序中播放 youtube 视频?

我正在创建一个 android 播放器来播放 youtube 直播。我的要求是在 VLC 中播放流org.videolan.libvlc.util.VLCVideoLayout。我遵循了示例应用程序https://code.videolan.org/videolan/libvlc-android-samples。当我尝试播放 youtube 视频时,它没有播放,而只是空白屏幕。

我使用了以下代码。

1.在布局xml文件中

2.活动课上

  1. 分级文件
  1. 如果我们提供任何其他流 url (hls),它就可以工作。但 youtube 视频不走运。

任何人都可以帮助解决它吗?

0 投票
1 回答
477 浏览

android - 如何在 android studio 中为 Android 项目构建 VLC?

我正在关注这个 wiki:https : //wiki.videolan.org/AndroidCompile/ 为 android 构建 libvlc 本机库。到目前为止,我已经能够使用compile.shwiki 上描述的来编译和构建 apk。现在我正在尝试使用 android studio 构建和运行整个项目。我选择了构建变体dev来运行和构建apk。但是 android studio 制作的 apk 大小比using制作的apkcompile.sh要小。在分析了两个 apk 之后,我发现libvlc.soandroid studio 生成的apk中缺少该文件。如何使用 android studio 为 Android 项目构建和运行 VLC ?

0 投票
0 回答
785 浏览

android - vlc-android:音频过滤器音频标准化(normvol)不起作用

尝试使用 vlc-android 规范化音频(mov 文件)时,它似乎不起作用。以下是添加到选项的命令:|

options.add("--audio-filter=normvol") options.add("--norm-b​​uff-size=20") options.add("--norm-max-level=4")

使用相同的后,我们无法注意到任何差异。其他一些过滤器似乎也不起作用。

Git 链接:https ://github.com/videolan/vlc-android 使用链接:https ://wiki.videolan.org/Documentation:Advanced_Use_of_VLC/

如果我们在这里遗漏了什么,请告诉我们。上面提到的命令似乎在 linux 环境下工作。

任何帮助将不胜感激

0 投票
0 回答
680 浏览

android - 在 Android Kotlin 中通过 LibVLC 播放 UDP 流时视频滞后时如何跳过延迟帧

我尝试在 Android Box 中通过 LibVLC 播放 UDP 流,但我遇到了一些问题。在某些高清频道中,视频滞后并停止,但声音正常并继续。我尝试了很多选项,但没有奏效。

这是我的 Vlc 控制器类:

任何时候我想玩我都会使用它createPlayer

这是我的活动:

我尝试了很多选项,但没有成功,我也添加--skip-late-frames了选项。

感谢您的帮助

0 投票
1 回答
69 浏览

vlc - 为 Android 构建 libVLC - 使 libxml2 错误 77

构建命令:

最后的日志:

配置:警告:无法识别的选项:--with-minimal 检查是否启用 Makefile 的维护者特定部分...是检查构建系统类型... x86_64-pc-linux-gnu 检查主机系统类型... arm-unknown -linux-androideabi 检查与 BSD 兼容的安装... /usr/bin/install -c 检查构建环境是否健全... 是 检查 arm-linux-androideabi-strip... arm-linux-androideabi-剥离检查线程安全 mkdir -p... /bin/mkdir -p 检查 gawk... gawk 检查 make 是否设置 $(MAKE)... 是 检查 make 是否支持嵌套变量... 是 检查是否make 支持嵌套变量...(缓存)是检查 arm-linux-androideabi-gcc... /home/test/Android/Sdk/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux- androideabi17-clang 检查 C 编译器是否工作...没有配置:错误:在 /home/test/Downloads/vlc/vlc-android/vlc/contrib/contrib-android-arm-linux-androideabi/libxml2': configure: error: C compiler cannot create executables See config.log' 获取更多详细信息 make: *** [../src/libxml2/rules.mak:51: .libxml2] 错误 77

我该如何解决这个问题?

SDK最新30,NDK r21,最新克隆的vlc andorid git版本

0 投票
0 回答
113 浏览

libvlc - LibVLCSharp MediaPlayer 音频文件的字幕文本?

我一直在搞乱 LibVLCSharp 并注意到使用 MediaPlayer 时有一个显示文本的选项。您可以使用 SetMarqueeString(设置文本)和 SetMarqueeInt(启用要显示的文本)来执行此操作。

这适用于视频文件。我发现如果您正在播放音频文件,这根本不起作用。这是故意的,如果是这样,有没有办法在播放音频文件时显示文本?