<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Eyesee MPP &#96;sample_virvi2venc&#96;：VENC 首帧无码流、VE 无中断，求排查方向]]></title><description><![CDATA[<p dir="auto">使用 Eyesee MPP 的官方 <code>sample_virvi2venc</code> 调试 VI→VENC 编码时遇到问题，想请教排查方向。</p>
<h2>运行的样例</h2>
<ol>
<li><code>sample_virvi</code>：VI 可以正常启动并持续取帧。</li>
<li><code>sample_virvi2venc</code>：VI 到 VENC 的 Bind 成功，VENC 可以创建、初始化、启动。</li>
<li><code>sample_venc</code>：使用离线 NV21 输入，不经过 VI/Bind，同样没有码流输出。</li>
</ol>
<p dir="auto">为便于持续观察，<code>sample_virvi2venc</code> 的 <code>test_duration</code> 设为 <code>0</code>。同时将样例中 <code>AW_MPI_VENC_GetStream()</code> 超时后的处理改为记录 warning 后继续重试，不因一次超时退出。</p>
<h2>关键日志</h2>
<p dir="auto"><code>sample_virvi2venc</code>：</p>
<pre><code class="language-text">&lt;prepare&gt; bind vi[0-0] to venc[0] success
&lt;CedarvVideoEncInit&gt; Venc Init success
&lt;CedarvVideoEncInit&gt; Venc Start success
&lt;VideoEncEmptyThisBuffer&gt; VencChn[0]: first video frame ...
</code></pre>
<p dir="auto">在用户态 encoder 的首帧路径增加临时日志后：</p>
<pre><code class="language-text">venc-trace[0] before VE lock, channel=0, inputId=2
venc-trace[0] VE lock acquired
</code></pre>
<p dir="auto">之后没有看到 <code>device encode returned</code> 或 <code>VE lock released</code>。</p>
<p dir="auto"><code>AW_MPI_VENC_GetStream()</code> 连续超时：</p>
<pre><code class="language-text">venc[0] get stream timeout/fail[0xa008800e], retry
</code></pre>
<p dir="auto">其中 <code>0xa008800e</code> 是 <code>ERR_VENC_BUF_EMPTY</code>。</p>
<p dir="auto">同时 <code>cedar_dev</code> 的 IRQ 计数保持为 0，说明首帧没有产生 VE 硬件中断。</p>
<h2><code>mpp/ve</code> 调试信息</h2>
<p dir="auto">按驱动提示，在样例启动前执行：</p>
<pre><code class="language-sh">echo 1 &gt; /sys/kernel/debug/mpp/ve
</code></pre>
<p dir="auto">停止样例后执行：</p>
<pre><code class="language-sh">cat /sys/kernel/debug/mpp/ve
</code></pre>
<p dir="auto">内核输出：</p>
<pre><code class="language-text">VE: there is no any codec working currently.
VE: Please run app first.
</code></pre>
<h2>想请教</h2>
<ol>
<li><code>sample_virvi2venc</code> 已完成 Bind、<code>Venc Init success</code>、<code>Venc Start success</code>，首帧进入 <code>encode()</code> 后却没有 VE IRQ，通常优先检查什么？</li>
<li><code>sample_venc</code>（离线 NV21）也没有输出，是否有已知的 VENC/VE 初始化或库版本配套要求？</li>
<li><code>mpp/ve</code> 没有导出 proc 信息时，官方建议再抓取哪些日志、寄存器或 debugfs 节点？</li>
</ol>
<p dir="auto">完整运行日志作为附件提供<br />
<a href="/assets/uploads/files/1785637777764-eyesee_virvi2venc_full.log">eyesee_virvi2venc_full.log</a></p>
]]></description><link>https://bbs.aw-ol.com/topic/7090/eyesee-mpp-sample_virvi2venc-venc-首帧无码流-ve-无中断-求排查方向</link><generator>RSS for Node</generator><lastBuildDate>Tue, 04 Aug 2026 05:34:46 GMT</lastBuildDate><atom:link href="https://bbs.aw-ol.com/topic/7090.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 02 Aug 2026 02:30:07 GMT</pubDate><ttl>60</ttl></channel></rss>