ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

记录一次Linux音视频调试过程

2021-08-30 17:31:06  阅读:255  来源: 互联网

标签:输出设备 HDMI 音频 VGA 音视频 声卡 i915 Linux 调试


一、基本信息

1.CPU详情:Intel(R) Core(TM) i3-8100 CPU @ 3.60GHz 2.PCH详情:h310 3.系统信息:Linux buildroot 5.4.77 #4 SMP Sun Aug 29 19:39:59 PDT 2021 x86_64 GNU/Linux   二、背景 1.使用程序完成视频播放(也可以在文件系统构建中勾选vlc,使用vlc命令直接播放视频文件),VGA和HDMI视频播放画面正常,但是HDMI和耳机都没有声音。   三、调试过程 1.由于板子未接入存储设备,采用pxe启动 启动参数如下图所示 内核文件:bzImage 文件系统文件:rootfs.cpio.gz   2.检查声卡信息   3.检查声卡相关设备信息 缺少HDMI相关音频设备。   4.上一步中发现缺少HDMI相关音频设备,检查是否为驱动问题 根据驱动的打印信息可以看出,audio bind失败了。 查看内核源码,找到该错误信息打印的位置,发现驱动确实存在问题,尝试修改驱动源码等方式,经历了很多过程,这里不再赘述,但最终没能很好地解决该问题。   5.尝试另外一个方向 由于驱动中提到【i915】,因此联想到pxe启动参数【i915.modeset=0】。 由于该启动参数决定了后续内核中【i915】相关驱动的走向,因此尝试【i915.modeset】的另一个值【1】,这里不赘述这个参数值的具体含义和区别,有兴趣的可以自行百度一下。 采用【i915.modeset=1】pxe启动,如图所示。 启动后检查驱动打印信息 这样来看,没有报错,那就继续检查其它项目。   6.检查声卡信息   7.检查声卡相关设备信息 没有什么异常。   8.根据上一步中的设备信息,使用【aplay】命令(使用其它可以指定声卡及设备的命令也可以),验证具体声音输出设备是其中的哪一个 【aplay -D plughw:0,0 /media/sda1/8ch.1k2k.wav】命令的意思是,使用【card 0】【device 0】播放【/media/sda1/8ch.1k2k.wav】。   9.经过上一步中一轮验证后,发现所有设备都不发声,因此使用【alsamixer -c 0】命令检查音频配置 【alsamixer -c 0】的意思是查看【card 0】的音频配置。 【alsamixer -c 0】命令后发现都是【MM】的状态,【MM】代表静音,因此改变该状态,如果不知道每个配置怎样修改才正确的话,可以考虑使用【alsactl init】命令直接将alsa配置初始化。 使用【alsactl init】初始化后,【alsamixer -c 0】的配置如下图所示   10.音频配置修改后再次验证【步骤8】中内容,使用【aplay】命令(使用其它可以指定声卡及设备的命令也可以),验证具体声音输出设备是其中的哪一个 最终验证发现: 耳机输出设备:card 0,device 0 HDMI输出设备:card 0,device 7   11.设定HDMI为默认音频输出设备 文件系统中,【/etc】目录下创建一个文件【asound.conf】,在文件中写入如下内容 内容的意思是将HDMI音频输出设备【card 0,device 7】指定为默认音频输出设备。   12.此时再次使用程序播放视频 视频播放有画面,有声音,因此声音方面问题解决了。 但是同时查看【VGA】和【HDMI】可以发现,两者显示不同,并且同时接入时【VGA】会出现只显示画面的一部分的现象,如果只接入【VGA】,画面似乎是正常的。   13.根据上一步中发现的问题,正式开始从解决声音问题转向解决视频问题 对于上一步的现象,经过研究发现 同时接入【VGA】和【HDMI】时,使用的显示模式为【克隆模式】。 【i915.modeset=1】时,如果将【VGA】和【HDMI】同时接入的话,分辨率会以【HDMI】的分辨率为准,但是如果只接入【VGA】自己的话,就以【VGA】的为准。 【i915.modeset=0】时,如果将【VGA】和【HDMI】同时接入的话,【VGA】和【HDMI】各自以自己的分辨率为准,互不影响。   14.在与Intel技术支持沟通的途中得到启发,尝试修改X(Xorg)服务的分辨率 执行命令【xrandr --output HDMI1 --mode "1024x768"】。 命令很好理解,分辨率修改为【1024*768】。 最终【VGA】和【HDMI】显示均正常。   四、结语 其实这里记录的很多东西都做了一定的简化,实际探索过程比这里描述的要复杂的多太多,现在将探索过程留在这里,希望以后遇到类似问题时可以更快地解决,毕竟探索过程很多时候真的很让人绝望。

标签:输出设备,HDMI,音频,VGA,音视频,声卡,i915,Linux,调试
来源: https://www.cnblogs.com/J-YANG/p/15206996.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有