强制 libvlc/libvlcsharp 为 chromecast 转码视频?

问题描述

我目前正在使用 libvlcsharp 并尝试使用流式传输到 chromecast 的功能。它适用于“大多数”情况,特别是它发送视频并且 chromecast 已经支持视频格式(例如 AVI)的情况。如果我执行诸如 x265 之类的更新操作,则会出现黑屏,因为 chromecast 不支持该格式。

在 VLC Android 应用程序中,它足够聪明地告诉您它将对视频进行转码,因为它以 chromecast 不支持的格式检测到它(这是一个弹出的对话框,表示电池可能已损坏)受到影响,因为它对其进行了转码)。在 libvlcsharp 中,我想总是转码。有没有办法从 libvlcsharp API 或我可以传递给 libvlc 的东西来做到这一点?

解决方法

查看 https://code.videolan.org/videolan/vlc-android/-/blob/master/application/resources/src/main/java/org/videolan/resources/VLCOptions.kt#L222 中的选项

if (hasRenderer) {
            media.addOption(":sout-chromecast-audio-passthrough=" + prefs.getBoolean("casting_passthrough",true))
            media.addOption(":sout-chromecast-conversion-quality=" + prefs.getString("casting_quality","2")!!)
        }

这可能应该默认添加到 libvlcsharp 中。随意贡献 PR。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...