我在一台 Sony Bravia 电视 XBR-55X900F 上安装了 vlc 3.3.4(关于显示版本 9)。我在一台由该电视访问的媒体服务器上安装了 gerbera 1.1.0(来自 gerbera 版本)。
如果我让 vlc 播放一个文件,那么随后 vlc 的菜单会显示该文件已被重命名为file.mkv
或file.mp4
取决于该文件。我可以播放file.mkv
,也可以让 vlc 显示该文件的 URL,但 URL 不会指示该文件来自哪个文件。URL 如下所示:
http://ADDR/content/media/object_id/ID/res_id/0.ext/file.mkv
我怀疑我可以在某处找到非洲菊数据库并在 URL 中找到 ID 的名称,但我不认为我必须这样做。
当文件夹包含一个文件时,重命名文件不会成为大问题,因为我可以从文件夹中猜出文件名。但是当文件夹包含许多播放文件时,几乎不可能弄清楚任何文件的含义file.mkv
。谁会想创建一个注定只包含一个文件的文件夹来解决这样的问题?
为了看看是否能够修复该问题,我下载了 gerbera 和 vlc 源代码来查找字符串file.mkv
。我在以下 vlc 搜索中找到了唯一出现的字符串:
$ grep -R -i file\\.mkv .
./test/libvlc/media.c: { "file.mkv", libvlc_media_type_file },
我不认为这与我的问题有关,因为它似乎是一个与测试 vlc 相关的文件,而不是运行它。
如果我从电视设置(设置->应用程序->VLC)导航到 VLC 应用程序的设置,我可以看到两个菜单选项:Clear data
和Clear cache
。
如果我点击Clear cache
,则看不到 vlc 中的行为有任何变化。但如果我点击Clear data
,则看不到file.mkv
,但我也会丢失一些我不想丢失的东西(例如,其最喜欢的应用程序状态)。
在媒体服务器上,我查看了 /etc/gerbera/config.xml 并注意到转码元素的启用属性设置为“否”。
因为我可以让 vlc 清除其数据,问题就消失了,所以我怀疑我的下一步应该是去 github 提交 vlc 的问题,但因为它可能与 gerbera 有关,所以我想先在这里问一下。尤其如此,因为我怀疑为我的电视创建新的 vlc 版本是否容易。我希望我可以对 gerbera 配置做一些简单的操作。
电视的“关于”说得更多:
Version 9
Android security patch level March 5, 2021
Kernel version 4.9.125
Build BRAVIA_ATV3_4K_UC-user 9 PTT1.190515.001.S43 671651 release-keys
如果我使用 MacBook Pro 的原生 VLC 应用程序播放受影响的文件之一,媒体信息对话框中的相关(我的观点)编解码器详细信息会显示以下内容:
Stream 0
Codec A52 Audio
Channels Stereo
Sample rate 48000 Hz
Bits per sample 32
Stream 1
Codec MPEG-H Part2/HEVC (H.265)
Video Resolution 720x480
Buffer dimensions same as resolution
Frame rate 29.969696
这里是我认为是支持的文件格式列表的链接。几年前,我找到了一个更完整列表的链接。我再也看不到那个列表了。