问题标签 [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 投票
0 回答
131 浏览

android - 在 Android 移动应用中播放直播延迟约 10 到 15 秒

我使用 StreamAxia SDK 进行直播。他们正在提供“rtmp” url 支持,并且它的工作非常好,在 1 或 2 秒内它将开始广播。

现在,对于 CDN,我使用了免费版本的 Red5,当我在 Android 的 VLC 播放器中播放此 URL 时,播放平均需要 10 到 12 秒。我尝试过许多播放器快速渲染,但在 2 或 3 秒内无法获得播放实时流的结果。

可能存在一些延迟问题,但无法确定确切的问题。请帮我解决这个问题或建议技术流程如何在 2.3 秒内成功渲染直播。

0 投票
1 回答
140 浏览

android - 在 Android 上使用带有 libVLC 的特定网络

我在我的 Android 应用程序中使用 libVLC 从我通过 WiFi 连接的相机通过 rtsp 流式传输视频。

一般来说,流媒体工作正常,但如果我通过 WiFi(不提供互联网)连接相机并且还打开了移动数据,则似乎存在流媒体问题。我bindProcessToNetwork用来确保流媒体是通过我的 WiFi 网络完成的。在某些设备(如搭载 Android 9 的华为 Mate 10)上,流媒体工作正常(似乎使用 WiFi 并忽略开启移动数据),但在其他设备(如搭载 Android 10 的三星 Note 10)上,当我使用新的网络 API 时似乎 VLC 正在尝试通过移动数据进行连接,并且只有在失败一段时间后,它才决定使用我相机的 WiFi(尽管我使用了bindProcessToNetwork)。我收到错误日志

令人惊讶的是,如果我从系统设置连接到我的 WiFi,它工作正常......

我发现一些评论说媒体流是在一个单独的过程中完成的,它忽略了调用,bindProcessToNetwork但在某些设备(和 Android 版本)上似乎可以工作,而在其他设备上则不行。

我已经在 Videolan 论坛上问过这个问题,但没有运气。

有没有办法强制 libVLC 使用指定的网络进行流式传输?

0 投票
1 回答
230 浏览

android - 如何在 Android 上旋转 SurfaceView?

我正在使用 VLCAndroid 库。在开始时,我使用了 TextureView,因此我可以将播放器旋转到任何我想要的方向。但是 TextureView 在一些旧设备中表现不佳并且 FPS 下降,然后我必须切换回 SurfaceView。但我不能再旋转播放器了

我尝试将活动的方向设置为requestOrientation(),但我使用的设备无法将其方向设置为REVERSE_LANDSCAPE

我试图设置 VLC 选项,但它也不起作用:

所以我剩下的唯一选择就是旋转 VLCLayout 的 SurfaceView。但是我尝试将其方向设置为 180f,但它也不起作用。

你知道如何旋转 SurfaceView 吗?谢谢你。

0 投票
1 回答
541 浏览

android - 在Android中旋转HDMI屏幕的方法

我正在为运行 Android 7.1.2 的 TVBox 制作媒体播放器应用程序。我想旋转 HDMI 输出,但盒子的旋转被锁定为横向,所以我无法使用setRequestedOrientation. 我使用的库是带有 SurfaceView 的 VLC Android。我不能使用 TextureView,因为它是如此滞后并丢弃 FPS。

要旋转 HDMI 输出,我尝试了以下方法:

  • 修改 build.prop 文件但没有运气。
  • 安装一堆屏幕旋转应用程序,但它也没有工作。
  • 我已经尝试过这个和一些相关的教程,但它没有用:

https://android.stackexchange.com/questions/117003/allow-rotate-into-portrait-mode-but-do-not-rotate-external-display

  • 我尝试使用 MediaRouter,但盒子将 HDMI 识别为主屏幕而不是外部屏幕。
  • 我尝试使用 VLC 过滤器:video-filter=rotate, :video-filter=transform,但它仅在 4.0 中可用。
  • 我还修改了 VLC 源代码,但遗憾的是它只旋转图片,而不是视频。

那么有没有其他方法可以尝试旋转 HDMI 输出的屏幕方向?我们是否有机会通过 OpenGL ES 或本机代码旋转屏幕?

谢谢你。

0 投票
0 回答
57 浏览

android - 视频未遵循 Android 应用方向

我正在使用 VLC 在运行 Android 7.1.2 的 TVBox 上播放图像和视频。它具有横向作为默认方向并锁定应用程序旋转,所以我使用了adb shell settings put system user_rotation 1.

应用程序已旋转,但盒子的默认启动器未旋转。

应用程序正确旋转

但是在播放视频时,它仍然显示,就好像它仍然处于横向模式一样。下面的视频是垂直的。

视频仍然是横向的

仅当播放视频、图像和其他应用程序布局正确显示时才会发生这种情况。

这是特定于硬件的问题吗?您知道如何以正确的方向显示视频吗?

谢谢你。

更新: args.add("--vout=android-display") 当我将此选项与 VLC 一起使用时,视频可以正确显示,但会出现丢帧和颜色错误。

在此处输入图像描述

0 投票
0 回答
45 浏览

android - 解码 mainprofile h264 帧流 Android

我在解码 h264 帧时遇到问题。我通过 tcp(我知道 udp 会更好,但我不认为这是问题)从我的电脑接收帧,h264 的级别是主要配置文件,并将其显示在我的 android 智能手机上。流是 1280x720。

这是我收到的帧:

  1. [ 0 0 0 1 101 184 37 255 254 195 219 84 167 139 253 126 67 184 139 84 33 74 112 0 0 3 0 0 3 0 0 3 0 0 3 1 93 68 88 125 52 0 376 329 0 10 232 0 35 96 0 157 0 3 96 0 17 192 0 95 0 2 240 0 17 0 0 136 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 2 2]
  2. [0 0 0 1 65 154 17 4 43 254 167 132 0 0 3 0 3 0 3 0 3 0 3 0 3 0 3 3 75 194 241 40 121 173 242 242 242 242 242 250 5 232 246 119 186 165 226 165 226 214 105 130 124 105 130 124 150 124 150 166 166 166 166 176 176 176 176 222 222 249 232 186 171 158 167 186 37 201 119 63 249 101 164 225 213 28 185 165 15 247 100 32 63 209 61 50 129 254 90 137 105 132 29 185 202 12 32 229 158 23 138 189 39 230 169 197 208 74 0 65 64 200 182 233 162 252 184 56 186 60 239 30 60 60 4 138 73 149 61 155 29 31 4 116 234 48 197 0 0 3 0 3 0 227 14 18 114 18 114 0 166 128 0 166 128 0 12 224 0 1 1177 0 1 117 0 0 58 128 0 58 128 0 58 128 0 58 128 0 58 128 0 0 58 128 0 9 208 0 1 226 0 0 105 128 0 29 64 0 7 72 0 2 40 0 0 159 0 0 62 192 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 941]
  3. [0 0 0 1 65 154 33 4 43 254 167 132 0 0 3 0 3 0 3 0 0 3 0 0 3 0 3 75 199 167 167 157 255 212 255 21 243 68 18 228 228 133 189 253 161 160 46 160 46 152 253 126 253 126 254 64 64 64 64 77 214 214 214 214 214 214 214 214 214 215 211 188 241 138 70 122 224 198 10 180 220 72 72 73 229 191 109 180 242 159 155 155 155 166 157 160 167 167 127 127 227 227 227 4 240 50 50 194 50 194 198 236 0 0 3 0 3 0 3 0 5 200 0 5 200 0 0 0 0 0 0 0 234 0 239 64 0 39 64 0 39 64 0 7 136 7 136 7 136 0 1 166 0 0 117 0 0 29 32 0 8 160 0 2 124 0 0 251 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 3 0 0 9 184]
  4. [0 0 0 1 65 154 49 4 43 254 167 132 0 0 3 0 3 0 3 0 0 3 0 0 3 0 3 3 75 190 67 197 160 41 174 120 242 242 242 241 153 255 255 215 109 82 241 107 52 193 52 193 62 193 62 75 83 83 83 88 111 126 137 34 245 240 31 16 136 11 36 60 69 58 176 201 178 91 191 68 188 188 92 254 5 218 35 222 138 247 207 207 207 137 10 79 221 2321 23 21 21 109 181 109 181 136 46 120 57 1347 1347 13 194 13 194 13 194 0 49 96 1 254 96 1 254 96 1 254 183 95 16 0 218 255 0 13 179 144 1 110 210 0 52 35 0 10 221 48 2 238 238 248 0 254 76 0 133 160 0 83 0 83 0 57 224 0 57 224 0 53 32 32 0 62 32 32 0 81 64 0 176 128 1 1770 1770 0 177 0 177 0 177 0 177 0 177 0 0 4 152 0 17 16 0 85 0 1 243 0 12 144 0 114 89 129]
  5. [ 0 0 0 1 65 155 1 4 43 254 167 132 0 0 3 0 0 3 0 0 3 0 0 3 3 75 153 91 143 188 69 187 41 76 149 169 31 253 221 37 190 220 0 232 8 270 220 1 232 8 102 107 205 25 148 156 198 65 222 128 45 143 59 209 255 244 162 70 24 255 72 88 21 170 238 206 194 145 1 90 126 117 60 232 176 71 239 64 21 68 165 0 2 148 229 49 39 56 0 198 74 0 211 59 143 240 2 216 60 130 245 37 59 44 232 247 56 229 176 176 25 131 171 8 215 91 172 0 103 1 165 9 64 71 130 222 47 35 216 119 179] 104 [0 0 0 0 0 0 0 0 1 65 155 17 4 43 254 167 132 0 0 3 0 0 3 0 0 3 0 0 3 3 75 190 122 165 86 136 78 249 48 41 252 79 117 154 96 159 37 169 172 55 190 122 46 170 231 169 238 137 114 94 14 43 252 140 23 97 29 0 0 3 0 0 3 3 53 190 7 239 180 31 119167 128 67 244 16 102 179 32 65 175 255 18 231 67 28 51 228 84 147 153 70 98 133 128 75 153 144 97]

我的问题是我找不到第 5 个字节(分别为 103 或 104)的 sps 和 pps nalu。我在缓冲区中存储 10000 个字节,然后将其传递给我的函数以查找 sps、pps 和 iframe:

传递给我的媒体编解码器:

解码帧任务:

}

我使用由kirkify制作的解码器对其进行修改。

有人可以帮我理解如何解码吗?(我愿意接受从我的电脑接收和播放流的新方法)谢谢

0 投票
1 回答
139 浏览

c# - Libvlcsharp 将在任何平台上播放特定视频时卡住

播放以下视频会卡住。任何平台都试过WinForm、WPF、xamarin.android、xamarin.ios下面两个视频卡在xamarin.forms、Android和IOS,播放不流畅,但是播放没有问题用浏览器。我不知道为什么?

https://bj.bcebos.com/kpy-organizations/U3017318/videos/2021091617080192065864213581.mp4 https://bj.bcebos.com/kpy-organizations/U12760068/videos/2021083110332897820349837654.mp4

0 投票
0 回答
39 浏览

vlc - VLC 媒体播放器中的时间跳过

我想要 VLC 媒体播放器中的一些东西,比如我们想要使用它时添加的字幕文件。但我想添加时间而不是字幕。

从跳到

例子

2:00-3:00

5:00-7:80 等

如果我们像字幕一样添加到视频中,VLC 媒体播放器会从那个时代跳出来。

我真的需要这个给孩子看电影。我可以把一些成人场景的时间跳过它们。

我非常感谢您的帮助。

0 投票
1 回答
15 浏览

android - VLC for Amazon Fire:从源代码编译

有人知道怎么做吗?我成功地将我想要的更改编译到 vlc-android 中,但我无法将它安装在 Fire Stick 上。我得到的一些错误是为了发布:这个包似乎已损坏。好吧,这很奇怪,它适用于 android TV 模拟器。我尝试了调试版本,它克服了损坏的错误,但它说该应用程序不适用于我的电视。所以我假设需要一些特殊的步骤来设置所有内容,以便 android studio 可以编译为火。

我会喜欢一些关于如何做到这一点的说明。谢谢

0 投票
0 回答
26 浏览

libvlc - vlc-android 上的 libvlc 视频过滤器

当前的 vlc-android 应用没有设置亮度、色调和饱和度的选项。可以通过这个来实现。但是 vlc-android 加载 libvlc jni 作为远程存储库的依赖项。仅仅修改构建变体似乎不起作用。

如何构建修改后的 libvlc ,jni 并在应用程序中使用它。