简体   繁体   English

在 Raspberry Pi 3 B+ Bullseye 上不是 cec-ctl 就是 VLC

[英]It is either cec-ctl or VLC, not both on Raspberry Pi 3 B+ Bullseye

My Node.js project utilizes CEC control and VLC where the app turns on the TV and chooses the HDMI port that the VLC video stream will be viewed on at a scheduled time.我的 Node.js 项目使用 CEC 控制和 VLC,应用程序打开电视并选择 HDMI 端口,VLC 视频 stream 将在预定时间观看。 Everything worked on Buster except that too many indeterminate crashes with segmentation faults occur with cec-client.一切都在 Buster 上工作,除了 cec-client 发生太多不确定的崩溃和分段错误。 Since I am nearing a 'production' release, I thought it best to upgrade the OS to Bullseye and find a cec-client replacement.由于我接近“生产”版本,我认为最好将操作系统升级到 Bullseye 并找到一个 cec-client 替代品。 I found cec-ctl and made it asynchronous - ctl-cec works perfectly, everytime, no crashes.我找到了 cec-ctl 并使其异步 - ctl-cec 每次都完美运行,没有崩溃。 BUT, now VLC does not render anything, not even a black screen.但是,现在 VLC 不渲染任何东西,甚至不渲染黑屏。 Doing a 'ps' command during a time that a video should be playing, I can see that VLC is running.在应该播放视频的时间执行“ps”命令,我可以看到 VLC 正在运行。

What I tried: It turns out that changing the /boot/config.txt dtoverlay=vc4-fkms-v3d (Buster) to dtoverlay=vc4-kms-v3d (Bullseye) causes the problem.我尝试了什么:事实证明,将 /boot/config.txt dtoverlay=vc4-fkms-v3d (Buster) 更改为 dtoverlay=vc4-kms-v3d (Bullseye) 会导致问题。 The Buster version of dtoverlay seems to be required for VLC to run, and The Bullseye version of dtoverlay is required for a /dev/cec0 to be created and used by ctl-cec. VLC 运行似乎需要 dtoverlay 的 Buster 版本,ctl-cec 创建和使用 /dev/cec0 需要 dtoverlay 的 Bullseye 版本。 All I can see from my inexperienced view is mutual exclusivity, but this doesn't feel like this is the final answer.以我的经验不足的观点,我只能看到互斥性,但这并不是最终的答案。 Using both dtoverlay version (Buster/Bullseye) will brick the pi (speaking from the very recent experience of one not well-versed in dtoverlays).同时使用 dtoverlay 版本 (Buster/Bullseye) 会使 pi 变砖(根据一个不精通 dtoverlays 的人最近的经验)。 I also tried: I Googled this problem to the extent of my search skills and have not been able to resolve this problem.我也试过: 我用自己的搜索技巧google了这个问题,也没能解决这个问题。

Any help is greatly appreciated!任何帮助是极大的赞赏!

Raspbian OS: Bullseye (Desktop) Raspberry Pi 3 B+ App: Node.js based with ability to make config changes and set schedules via an external browser within the LAN. Raspbian 操作系统:Bullseye(桌面)Raspberry Pi 3 B+ 应用程序:Node.js,能够通过局域网内的外部浏览器更改配置和设置时间表。

The solution for my project, after days of Googling, turned out to be TOO simple (found here: https://www.reddit.com/r/archlinuxarm/comments/lg4z5u/no_hdmi_audio_via_alsa_on_raspberry_pi_400/ ):经过几天的谷歌搜索,我的项目的解决方案太简单了(在这里找到: https://www.reddit.com/r/archlinuxarm/comments/lg4z5u/no_hdmi_audio_via_alsa_on_raspberry_pi_400/ ):

  • sudo apt install pulseaudio sudo apt 安装 pulseaudio
    along with:随着:
  • dtoverlay=vc4-kms-v3d dtoverlay=vc4-kms-v3d
    VLC and cec-ctl now work together perfectly on Raspberry Pi 3B+/Bullseye VLC 和 cec-ctl 现在可以在 Raspberry Pi 3B+/Bullseye 上完美地协同工作

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM