<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.9.2">Jekyll</generator><link href="http://heuripedes.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="http://heuripedes.github.io/" rel="alternate" type="text/html" /><updated>2022-09-23T19:16:16+00:00</updated><id>http://heuripedes.github.io/feed.xml</id><title type="html">heuripedes</title><subtitle>My homepage source files</subtitle><author><name>Higor Eurípedes</name></author><entry><title type="html">Callbacks, threads and thead-local storage on pybind11 2.2.4</title><link href="http://heuripedes.github.io/2022/06/24/tls-problems-in-pybind-2.2.4.html" rel="alternate" type="text/html" title="Callbacks, threads and thead-local storage on pybind11 2.2.4" /><published>2022-06-24T00:00:00+00:00</published><updated>2022-06-24T00:00:00+00:00</updated><id>http://heuripedes.github.io/2022/06/24/tls-problems-in-pybind-2.2.4</id><content type="html" xml:base="http://heuripedes.github.io/2022/06/24/tls-problems-in-pybind-2.2.4.html">&lt;p&gt;&lt;em&gt;Disclaimer: This was also posted in the &lt;a href=&quot;https://github.com/pybind/pybind11/discussions/4029&quot;&gt;pybind discussion board&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In pybind11 2.2.4, invoking a Python callback from a C++ function running in a Python-created thread will result in a situation where the Python callback will not have access to thread-local storage initialised on the same thread that invoked the C++ function:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ pip install cppimport &quot;pybind11==2.2.4&quot; &amp;amp;&amp;gt;/dev/null &amp;amp;&amp;amp; rm cpp_module*cpython*so &amp;amp;&amp;amp; python tlstest.py 2&amp;gt;/dev/null
Current pybind11 version is 2.2.4
From module..........: tls.value = hello world
From thread (Python).: tls.value = hello world
From thread (C++)....: tls.value = &amp;lt;undefined&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The issue was probably resolved by &lt;a href=&quot;https://github.com/pybind/pybind11/pull/1211&quot;&gt;PR #1211&lt;/a&gt; (see &lt;a href=&quot;https://github.com/pybind/pybind11/pull/1211/files#diff-262299f8dc5f31a314eeee23329842134461b9524aa535a2860252dbf78c6033R20-R49&quot;&gt;this test code from the PR&lt;/a&gt;) which got merged into pybind 2.3.0:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ pip install cppimport &quot;pybind11==2.3.0&quot; &amp;amp;&amp;gt;/dev/null &amp;amp;&amp;amp; rm cpp_module*cpython*so &amp;amp;&amp;amp; python tlstest.py 2&amp;gt;/dev/null 
Current pybind11 version is 2.3.0
From module..........: tls.value = hello world
From thread (Python).: tls.value = hello world
From thread (C++)....: tls.value = hello world
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;commands-to-reproduce&quot;&gt;Commands to reproduce&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;For pybind 2.2.4: ` pip install cppimport “pybind11==2.2.4” &amp;amp;&amp;gt;/dev/null &amp;amp;&amp;amp; rm cpp_module&lt;em&gt;cpython&lt;/em&gt;so &amp;amp;&amp;amp; python tlstest.py 2&amp;gt;/dev/null`&lt;/li&gt;
  &lt;li&gt;For pybind 2.3.0: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pip install cppimport &quot;pybind11==2.3.0&quot; &amp;amp;&amp;gt;/dev/null &amp;amp;&amp;amp; rm cpp_module*cpython*so &amp;amp;&amp;amp; python tlstest.py 2&amp;gt;/dev/null &lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;code-to-reproduce&quot;&gt;Code to reproduce:&lt;/h2&gt;

&lt;p&gt;Note 1: make sure you have python-dev (I’m using 3.9) and a compiler.&lt;br /&gt;
Note 2: copy even the comments otherwise &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cppimports&lt;/code&gt; might not be able to correctly build the native module.&lt;/p&gt;

&lt;h3 id=&quot;cpp_modulecpp&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cpp_module.cpp&lt;/code&gt;&lt;/h3&gt;
&lt;div class=&quot;language-cpp highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;// cppimport&lt;/span&gt;
&lt;span class=&quot;cp&quot;&gt;#include &amp;lt;pybind11/pybind11.h&amp;gt;
#include &amp;lt;functional&amp;gt;
&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;namespace&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;py&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pybind11&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;std&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;g_cb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;PYBIND11_MODULE&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cpp_module&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;m&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;m&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;def&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;set_callback&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[](&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;py&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;object&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;g_cb&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;py&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;gil_scoped_acquire&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;_&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;cb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
        &lt;span class=&quot;p&quot;&gt;};&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;

    &lt;span class=&quot;n&quot;&gt;m&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;def&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;call_the_callback&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[]()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt; 
        &lt;span class=&quot;n&quot;&gt;py&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;gil_scoped_release&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;_&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;g_cb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;cm&quot;&gt;/*
&amp;lt;%
setup_pybind11(cfg)
%&amp;gt;
*/&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;tlstestpy&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tlstest.py&lt;/code&gt;&lt;/h3&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;functools&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sys&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;threading&lt;/span&gt;

&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;pybind11&lt;/span&gt;

&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;cppimport.import_hook&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;cpp_module&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;tls&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;threading&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;local&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;tls&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;value&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;hello world&quot;&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;run_in_thread&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;functools&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;wraps&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;thread_wrapper&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;args&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;**&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;kwargs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;wrapper&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;args&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;**&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;kwargs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;tls&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;value&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;hello world&quot;&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;

        &lt;span class=&quot;n&quot;&gt;t&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;threading&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Thread&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;target&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;wrapper&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;args&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;args&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;kwargs&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;kwargs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;t&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;start&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;t&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;

    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;thread_wrapper&lt;/span&gt;


&lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;print_tls_value&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;():&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sa&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;tls.value = &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;getattr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;tls&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;'value'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;'&amp;lt;undefined&amp;gt;'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;o&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;run_in_thread&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;called_from_python&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;():&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;print_tls_value&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;

&lt;span class=&quot;o&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;run_in_thread&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;called_from_cpp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;():&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;cpp_module&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;call_the_callback&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Current pybind11 version is&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pybind11&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;__version__&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;cpp_module&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_callback&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;print_tls_value&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;sys&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;stdout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;write&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;From module..........: &quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;print_tls_value&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;sys&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;stdout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;write&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;From thread (Python).: &quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;called_from_python&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;sys&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;stdout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;write&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;From thread (C++)....: &quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;called_from_cpp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</content><author><name>Higor Eurípedes</name></author><summary type="html">Disclaimer: This was also posted in the pybind discussion board</summary></entry><entry xml:lang="english"><title type="html">Surprise order sensitivity in Python</title><link href="http://heuripedes.github.io/2021/09/02/surprise-order-sensitivity.html" rel="alternate" type="text/html" title="Surprise order sensitivity in Python" /><published>2021-09-02T00:00:00+00:00</published><updated>2021-09-02T00:00:00+00:00</updated><id>http://heuripedes.github.io/2021/09/02/surprise-order-sensitivity</id><content type="html" xml:base="http://heuripedes.github.io/2021/09/02/surprise-order-sensitivity.html">&lt;p&gt;I’m in a research project that uses Python as the primary language for
implementations and I’ve run into a very weird problem twice now. The issue is
that some modules turn your code order sensitive for no apparent reason.&lt;/p&gt;

&lt;p&gt;Here’s some snippets from a script that declares Celery tasks. TO ME, identical
from a behavior standpoint. However, the first one doesn’t print anything. Why?
I don’t know.&lt;/p&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;    &lt;span class=&quot;o&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;shared_task&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;bind&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;start&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Hello world&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;navegador&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;webdriver&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Remote&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'http://firefox:4444/wd/hub'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;desired_capabilities&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DesiredCapabilities&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;FIREFOX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;c1&quot;&gt;# ...
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;    &lt;span class=&quot;o&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;shared_task&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;bind&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;start&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;self&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;navegador&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;webdriver&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Remote&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'http://firefox:4444/wd/hub'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;desired_capabilities&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;DesiredCapabilities&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;FIREFOX&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Hello world&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;c1&quot;&gt;# ...
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I ran into this issue earlier this year using OpenCV’s DNN module.
In this case, running a subprocess after forwarding the network led to
repeated results. I even posted a code to reproduce the problem in an
&lt;a href=&quot;https://github.com/opencv/opencv/issues/19643#issuecomment-875222766&quot;&gt;issue on the opencv repo&lt;/a&gt;,
but at the time of the writing this nobody has posted a definitive
explanation or solution.&lt;/p&gt;

&lt;p&gt;My guess is that this is related to how &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;subprocess&lt;/code&gt; is implemented on Linux or
perhaps how those subprocesses get started. It could also be a weird interaction
between Python subprocesses and native extension threads (OpenCV makes use of
OMP, TBB and plain threading).&lt;/p&gt;</content><author><name>Higor Eurípedes</name></author><summary type="html">I’m in a research project that uses Python as the primary language for implementations and I’ve run into a very weird problem twice now. The issue is that some modules turn your code order sensitive for no apparent reason.</summary></entry><entry xml:lang="english"><title type="html">Project idea: ‘Feet First C: The worse guide ever’</title><link href="http://heuripedes.github.io/2021/03/14/idea-feet-first-c.html" rel="alternate" type="text/html" title="Project idea: ‘Feet First C: The worse guide ever’" /><published>2021-03-14T00:00:00+00:00</published><updated>2021-03-14T00:00:00+00:00</updated><id>http://heuripedes.github.io/2021/03/14/idea-feet-first-c</id><content type="html" xml:base="http://heuripedes.github.io/2021/03/14/idea-feet-first-c.html">&lt;p&gt;Lately I’ve been thinking about writing a C guide of sorts. Perhaps the worse C
guide ever, because I’d like to start from a really crude and unconventional
point: barely compilable C code with plenty of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;goto&lt;/code&gt;s.&lt;/p&gt;

&lt;p&gt;I can already imagine the reaction of some people when they see something like:&lt;/p&gt;

&lt;div class=&quot;language-c highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;main&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;input&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;read_int&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
    &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;result&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;input&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;goto&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;input_0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;input&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;goto&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;input_1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    
    &lt;span class=&quot;cm&quot;&gt;/* bad input */&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;result&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;goto&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;end&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;nl&quot;&gt;input_1:&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;result&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;goto&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;end&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;nl&quot;&gt;input_2:&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;result&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;goto&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;end&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;nl&quot;&gt;end:&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;result&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;From that the reader would be guided into higher and higher level constructs
like if/else blocks, loops and all:&lt;/p&gt;

&lt;div class=&quot;language-c highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;cm&quot;&gt;/* this: */&lt;/span&gt;
    &lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;start&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;goto&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;end&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    &lt;span class=&quot;cm&quot;&gt;/* ... */&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;next&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;cm&quot;&gt;/* becomes this: */&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;int&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;cm&quot;&gt;/* ... */&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The idea is to not only teach C but also teach a general idea of how the
computer runs our code. My hope is that this somehow smoothens the learning
curve as the reader will be presented with very few language constructs
(variables, goto, if, functions). And yes, I intend to present functions before
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;while&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;for&lt;/code&gt; etc…&lt;/p&gt;</content><author><name>Higor Eurípedes</name></author><summary type="html">Lately I’ve been thinking about writing a C guide of sorts. Perhaps the worse C guide ever, because I’d like to start from a really crude and unconventional point: barely compilable C code with plenty of gotos.</summary></entry><entry xml:lang="english"><title type="html">Setting up ROCm 4.0 and tensorflow-rocm on Ubuntu 20.04</title><link href="http://heuripedes.github.io/2021/03/01/tensorflow-rocm-ubuntu.html" rel="alternate" type="text/html" title="Setting up ROCm 4.0 and tensorflow-rocm on Ubuntu 20.04" /><published>2021-03-01T00:00:00+00:00</published><updated>2021-03-01T00:00:00+00:00</updated><id>http://heuripedes.github.io/2021/03/01/tensorflow-rocm-ubuntu</id><content type="html" xml:base="http://heuripedes.github.io/2021/03/01/tensorflow-rocm-ubuntu.html">&lt;p&gt;ROCm 4.0 and Ubuntu Desktop 20.04 don’t play well together out of the box so &lt;a href=&quot;https://github.com/RadeonOpenCompute/ROCm/issues/1307#issuecomment-787671933&quot;&gt;while ROCm 4.1 isn’t available&lt;/a&gt;, we’ll have to make do with what we have. I hope you enjoy this guide.&lt;/p&gt;

&lt;h2 id=&quot;1-the-right-kernel&quot;&gt;1. The right kernel&lt;/h2&gt;
&lt;p&gt;The first step in the process is to check your kernel version as ROCm doesn’t yet support kernels newer than 5.4. Ubuntu Server installs are usually fine in this department as they ship with the GA (General Availability) stack, but Ubuntu Desktop from 20.04 onwards will ship with the &lt;a href=&quot;https://wiki.ubuntu.com/Kernel/LTSEnablementStack#Ubuntu_20.04_LTS_-_Focal_Fossa&quot;&gt;Hardware Enablement Stack&lt;/a&gt; unless you’re using one of those HP/Dell/etc prebuilts, in which case Ubuntu will try to use the OEM flavour.&lt;/p&gt;

&lt;p&gt;Check your kernel version with&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ uname -a
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;If the version reported starts with 5.4 then you can jump to step #2. Otherwise, run the following commands to downgrade to the general availability kernel but first read this note from Ubuntu wiki:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;It is advised to keep Ubuntu Desktop 20.04 LTS with the kernel flavour picked during installation. It can be either HWE or OEM flavour. Changing to track GA [General Availability] kernel may result in regressions of performance, hardware support, and certified features.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;sudo apt install --install-recommends linux-generic
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Reboot, interrupt grub, go into &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Advanced options&lt;/code&gt; and boot the 5.4 kernel. Check that everything works as expected.&lt;/p&gt;

&lt;p&gt;If everything is fine, get rid of the HWE/OEM kernel:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;sudo apt remove --purge linux-generic-hwe-20.04 linux-oem-20.04 linux-hwe-* linux-oem-* linux-modules-5.1* linux-modules-5.8.0-* linux-modules-5.6.0-* 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;2-rocm-setup&quot;&gt;2. ROCm Setup&lt;/h2&gt;

&lt;p&gt;ROCm is only available from AMD’s ROCm repository so you’ll have to add it’s PGP keys and make the repository url visible to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;apt&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;First download and verify the key:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;wget -q -O /tmp/rocm.gpg.key https://repo.radeon.com/rocm/rocm.gpg.key
echo 'e85a40d1a43453fe37d63aa6899bc96e08f2817a /tmp/rocm.gpg.key' | sha1sum -c
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;If the check failed, please consult the &lt;a href=&quot;https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html&quot;&gt;official installation guide&lt;/a&gt; or comment on the post (no promises). If everything went right, proceed with these commands to configure &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;apt&lt;/code&gt; and install the ROCm driver and libraries:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;sudo apt-key add /tmp/rocm.gpg.key
echo 'deb [arch=amd64] https://repo.radeon.com/rocm/apt/debian/ xenial main' | sudo tee /etc/apt/sources.list.d/rocm.list
sudo apt update
sudo apt install rocm-dkms rocm-libs
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;If the install succeeded, add the rocm executable paths to your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$PATH&lt;/code&gt; and add yourself to the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;video&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;render&lt;/code&gt; groups:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;echo 'export PATH=$PATH:/opt/rocm/bin:/opt/rocm/rocprofiler/bin:/opt/rocm/opencl/bin' | sudo tee -a /etc/profile.d/rocm.sh
sudo gpasswd -a $LOGNAME render
sudo gpasswd -a $LOGNAME video
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Reboot your system.&lt;/p&gt;

&lt;p&gt;After the reboot, check if ROCm is working by runnning &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rocm-smi&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;clinfo&lt;/code&gt;. Your GPU should be listed in them. If you can’t see your GPU, consult the &lt;a href=&quot;https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html&quot;&gt;official installation guide&lt;/a&gt; for more information.&lt;/p&gt;

&lt;h2 id=&quot;3-tensorflow&quot;&gt;3. Tensorflow&lt;/h2&gt;

&lt;p&gt;Tensorflow is available under two packages, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tensorflow-rocm&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tensorflow-rocm-enhanced&lt;/code&gt;. From a programming standpoint they are identical as far as I can tell so pick whatever you want:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;# preferrably from a virtualenv
pip install tensorflow-rocm-enhanced
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The following command will show the devices recognized by tensorflow:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;python -c 'from tensorflow.python.client import device_lib; print(device_lib.list_local_devices())'
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</content><author><name>Higor Eurípedes</name></author><summary type="html">ROCm 4.0 and Ubuntu Desktop 20.04 don’t play well together out of the box so while ROCm 4.1 isn’t available, we’ll have to make do with what we have. I hope you enjoy this guide.</summary></entry><entry xml:lang="english"><title type="html">Big Blue Button: webcam, chat and presentation in one video</title><link href="http://heuripedes.github.io/2020/05/01/big-blue-button-webcam-chat-and-presentation-in-one-video.html" rel="alternate" type="text/html" title="Big Blue Button: webcam, chat and presentation in one video" /><published>2020-05-01T00:00:00+00:00</published><updated>2020-05-01T00:00:00+00:00</updated><id>http://heuripedes.github.io/2020/05/01/big-blue-button-webcam-chat-and-presentation-in-one-video</id><content type="html" xml:base="http://heuripedes.github.io/2020/05/01/big-blue-button-webcam-chat-and-presentation-in-one-video.html">&lt;p&gt;It is &lt;a href=&quot;https://github.com/bigbluebutton/bigbluebutton/issues/1969&quot;&gt;known&lt;/a&gt; BBB doesn’t support downloading a recording as a single file. The main reason for this is that it ruins the experience (no jumping to specific slides) and is not flexible (can’t rearrange or resize content); the other reason is that this kind of content and usability requirements increase complexity and this is the reason the playback page exists.&lt;/p&gt;

&lt;p&gt;While I personally really enjoy the playback page, I’m constantly bombarded with &lt;em&gt;can you send me the recording?&lt;/em&gt; questions all the time. I’m tired of having to say no or giving lengthy explanations on why I can’t give the users a single video file they can download or store on portable storage. This motivated me to take a look on how 2.0 BBB’s published recordings work and this post is my solution to the problem. It only handles basic usage (no pan/zoom, no cursor and no deskshare), but it covers the most common use case in my experience and I hope it’ll be useful to someone else as much as it has been to me.&lt;/p&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;xml.etree.ElementTree&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ET&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;cairocffi&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;pangocffi&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;pangocairocffi&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;os.path&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;shlex&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;subprocess&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;sys&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;the-shapes&quot;&gt;The shapes&lt;/h2&gt;

&lt;p&gt;In the published recording folder, BBB stores when and what slide was displayed in the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;shapes.svg&lt;/code&gt; file. This file  has a bunch of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;image&amp;gt;&lt;/code&gt; tags that describe when and what file should be displayed (fields &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;file&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;in&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;out&lt;/code&gt;). Here we’ll parse &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;shapes.svg&lt;/code&gt; and generate an appropriate input file for FFmpeg’s &lt;a href=&quot;https://ffmpeg.org/ffmpeg-formats.html#concat&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;concat&lt;/code&gt;&lt;/a&gt; demuxer which we’ll be using later to generate a video out of the presentation.&lt;/p&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;parse_shapes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;directory&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;tree&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ET&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;parse&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;directory&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;shapes.svg&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;root&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tree&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;getroot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
    
    &lt;span class=&quot;n&quot;&gt;shapes&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[]&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;root&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;findall&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'{http://www.w3.org/2000/svg}image'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;shapes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;({&lt;/span&gt;
            &lt;span class=&quot;s&quot;&gt;'start'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;float&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;attrib&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;in&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]),&lt;/span&gt;
            &lt;span class=&quot;s&quot;&gt;'end'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;float&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;attrib&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;out&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]),&lt;/span&gt;
            &lt;span class=&quot;s&quot;&gt;'file'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;realpath&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;directory&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;attrib&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;{http://www.w3.org/1999/xlink}href&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])),&lt;/span&gt;
        &lt;span class=&quot;p&quot;&gt;})&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;shapes&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;concat&lt;/code&gt; expects a file with the syntax bellow. The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;duration&lt;/code&gt; field is optional but we have to use it or else the slides will just flick for a frame or two.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;file 'file1'
duration 2
file 'file2'
duration 15
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;write_shape_inputs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;directory&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;shapes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;try&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mkdir&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;directory&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;temp&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;except&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;FileExistsError&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;pass&lt;/span&gt;
    
    &lt;span class=&quot;k&quot;&gt;with&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;directory&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;temp&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;shapes.in&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;w&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;shape&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;shapes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;shape&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;file&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;].&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;replace&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;'&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;sa&quot;&gt;r&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;\'&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
            &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sa&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;file '&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;file&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
            &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sa&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;duration &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;shape&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'end'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;shape&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'start'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;file&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;the-chat-problem&quot;&gt;The chat problem&lt;/h2&gt;

&lt;p&gt;BBB stores the chat contents in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;slides_new.xml&lt;/code&gt; as a series of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;chattimeline&amp;gt;&lt;/code&gt; tags containing information about who said what and when (fields &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;name&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;text&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;in&lt;/code&gt;). My guess by looking at the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;target&lt;/code&gt; field of those tags is that this file is also used for other things, such as questions, but we don’t care about them here so we’ll just make sure we only parse entries targeting &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;chat&lt;/code&gt;.&lt;/p&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;parse_chat&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;directory&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;tree&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ET&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;parse&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;directory&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;slides_new.xml&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;root&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;tree&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;getroot&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;

    &lt;span class=&quot;n&quot;&gt;messages&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[]&lt;/span&gt;
    
    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;root&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;findall&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;chattimeline&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;attrib&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;target&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;chat&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;messages&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;({&lt;/span&gt;
                &lt;span class=&quot;s&quot;&gt;'timestamp'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;attrib&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;in&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]),&lt;/span&gt;
                &lt;span class=&quot;s&quot;&gt;'name'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;attrib&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;name&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;],&lt;/span&gt;
                &lt;span class=&quot;s&quot;&gt;'text'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;x&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;attrib&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;message&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
            &lt;span class=&quot;p&quot;&gt;})&lt;/span&gt;
    
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;messages&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;So far so good, but how do we display this text on the video? FFmpeg’s &lt;a href=&quot;https://ffmpeg.org/ffmpeg-filters.html#drawtext-1&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;drawtext&lt;/code&gt;&lt;/a&gt; seemed like a good idea at first, but getting hundreds of messages to display at specific times proved challenging even using the &lt;a href=&quot;https://ffmpeg.org/ffmpeg-filters.html#Timeline-editing&quot;&gt;timeline editing&lt;/a&gt; feature and I don’t want to get into how to get text scrolling.&lt;/p&gt;

&lt;p&gt;I worked around the issue by rendering the messages to png files and then generating a file that the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;concat&lt;/code&gt; demuxer could use to give us a video we could use later.&lt;/p&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;write_chat_frames&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;directory&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;messages&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;try&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mkdir&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;directory&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;temp&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;except&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;FileExistsError&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;pass&lt;/span&gt;
    
    &lt;span class=&quot;n&quot;&gt;surf&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cairocffi&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;ImageSurface&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cairocffi&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;FORMAT_ARGB32&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;640&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;540&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;context&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cairocffi&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Context&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;surf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;layout&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pangocairocffi&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;create_layout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;context&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_width&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;pangocffi&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;units_from_double&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;636&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt; &lt;span class=&quot;c1&quot;&gt;# 2px before and after
&lt;/span&gt;    
    &lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;format_msg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;msg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;sa&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&amp;lt;b&amp;gt;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;msg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'name'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;lt;/b&amp;gt;: &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;msg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'text'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\r\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;
    
    &lt;span class=&quot;n&quot;&gt;last_timestamp&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;markup&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;&quot;&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;chat_frames&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[]&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;range&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;messages&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)):&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;cur_timestamp&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;messages&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;][&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'timestamp'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;last_timestamp&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cur_timestamp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;context&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rectangle&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;640&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;540&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;context&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_source_rgb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;context&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;fill&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;

            &lt;span class=&quot;n&quot;&gt;context&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_source_rgb&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;set_markup&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;markup&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

            &lt;span class=&quot;n&quot;&gt;height&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;pangocffi&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;units_to_double&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;get_extents&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;].&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;height&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;context&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;move_to&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;540&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;height&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;pangocairocffi&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show_layout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;context&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

            &lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;realpath&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;directory&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;temp&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;sa&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;chat_&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;.png&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;chat_frames&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;append&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;((&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cur_timestamp&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;last_timestamp&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;

            &lt;span class=&quot;k&quot;&gt;with&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;wb&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;image_file&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
                &lt;span class=&quot;n&quot;&gt;surf&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;write_to_png&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;image_file&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

        &lt;span class=&quot;n&quot;&gt;markup&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;format_msg&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;messages&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;

        &lt;span class=&quot;n&quot;&gt;last_timestamp&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cur_timestamp&lt;/span&gt;
    
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;chat_frames&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;write_chat_input&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;directory&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;chat_frames&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;try&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;mkdir&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;directory&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;temp&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;except&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;FileExistsError&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;pass&lt;/span&gt;
    
    &lt;span class=&quot;k&quot;&gt;with&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;directory&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;temp&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;chat.in&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;w&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;duration&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;chat_frames&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;replace&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;'&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;sa&quot;&gt;r&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;\'&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
            &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sa&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;file '&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;file&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
            &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sa&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;duration &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;duration&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;file&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;    
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;wrapping-it-up&quot;&gt;Wrapping it up&lt;/h2&gt;

&lt;p&gt;Time to put the code to work for us now. All functions assume you’ll be passing a path to a folder generated by BBB’s publishing process, this means the webcam video will get encoded twice but that’s a price I’m willing to pay – that video is tiny anyways. You’ll probably find those folders inside &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/var/bigbluebutton/published/presentation&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;We’ll start by generating the chat frames and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;concat&lt;/code&gt; demuxer files for both chat and slides:&lt;/p&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c1&quot;&gt;# directory where the published presentation is
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;PRESENTATION_DIR&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;977d4a145cd70f8b013d723cedbab0ba4b8bba74-1585911377811&quot;&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;# for education purposes, only encode the first 10 minutes. make it [] for the real thing
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;EXTRA_OPTS&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;-t&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;600&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Generating shape.in....&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;shapes&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;parse_shapes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;PRESENTATION_DIR&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;write_shape_inputs&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;PRESENTATION_DIR&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;shapes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sa&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Processed &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;shapes&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s&quot;&gt; frames&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Generating chat frames and chat.in...&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;messages&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;parse_chat&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;PRESENTATION_DIR&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;chat_frames&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;write_chat_frames&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;PRESENTATION_DIR&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;messages&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;write_chat_input&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;PRESENTATION_DIR&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;chat_frames&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sa&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Processed &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;len&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;chat_frames&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s&quot;&gt; frames&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Generating shape.in....
Processed 41 frames
Generating chat frames and chat.in...
Processed 102 frames
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Now what’s left to do is to convert all the pictures to videos. The chat frames are all ready to go but we’ll need to use the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;scale&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pad&lt;/code&gt; FFmpeg filters during the encode in order to fit the slides in 1280x1080.&lt;/p&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;shapes_in&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;PRESENTATION_DIR&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;temp&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;shapes.in&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;shapes_mp4&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;PRESENTATION_DIR&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;temp&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;shapes.mp4&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Generating shapes.mp4... (this might take a while)&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;with&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;PRESENTATION_DIR&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;temp&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;shapes_mp4.log&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;w&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;logfile&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;cmd&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;ffmpeg&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-y&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-hide_banner&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
           &lt;span class=&quot;s&quot;&gt;&quot;-f&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;concat&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-safe&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;0&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-i&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;shlex&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;quote&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;shapes_in&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
           &lt;span class=&quot;s&quot;&gt;&quot;-vf&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;scale='min(1280,iw)':min'(1080,ih)':force_original_aspect_ratio=decrease,pad=1280:1080:(ow-iw)/2:(oh-ih)/2&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
           &lt;span class=&quot;s&quot;&gt;&quot;-preset&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;veryfast&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-tune&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;stillimage&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-pix_fmt&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;yuv420p&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;cmd&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cmd&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;EXTRA_OPTS&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;shlex&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;quote&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;shapes_mp4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)]&lt;/span&gt;
          
    
    &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sa&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;    &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;' '&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;([&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;shlex&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;quote&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;c&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cmd&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;proc&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;subprocess&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cmd&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;stdout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;logfile&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;stderr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;logfile&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;universal_newlines&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Done&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Generating shapes.mp4... (this might take a while)
    ffmpeg -y -hide_banner -f concat -safe 0 -i 977d4a145cd70f8b013d723cedbab0ba4b8bba74-1585911377811/temp/shapes.in -vf 'scale='&quot;'&quot;'min(1280,iw)'&quot;'&quot;':min'&quot;'&quot;'(1080,ih)'&quot;'&quot;':force_original_aspect_ratio=decrease,pad=1280:1080:(ow-iw)/2:(oh-ih)/2' -preset veryfast -tune stillimage -pix_fmt yuv420p -t 600 977d4a145cd70f8b013d723cedbab0ba4b8bba74-1585911377811/temp/shapes.mp4
Done
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;chat_in&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;PRESENTATION_DIR&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;temp&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;chat.in&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;chat_mp4&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;PRESENTATION_DIR&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;temp&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;chat.mp4&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Generating chat.mp4... (this might take a while)&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;with&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;PRESENTATION_DIR&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;temp&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;chat_mp4.log&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;w&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;logfile&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;cmd&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;ffmpeg&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-y&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-hide_banner&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-f&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;concat&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-safe&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;0&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-i&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;shlex&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;quote&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;chat_in&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
           &lt;span class=&quot;s&quot;&gt;&quot;-preset&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;veryfast&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-tune&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;stillimage&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-pix_fmt&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;yuv420p&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;cmd&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cmd&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;EXTRA_OPTS&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;shlex&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;quote&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;chat_mp4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)]&lt;/span&gt;
    
    &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sa&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;    &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;' '&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;([&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;shlex&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;quote&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;c&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cmd&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;proc&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;subprocess&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cmd&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;stdout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;logfile&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;stderr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;logfile&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;universal_newlines&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Done&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Generating chat.mp4... (this might take a while)
    ffmpeg -y -hide_banner -f concat -safe 0 -i 977d4a145cd70f8b013d723cedbab0ba4b8bba74-1585911377811/temp/chat.in -preset veryfast -tune stillimage -pix_fmt yuv420p -t 600 977d4a145cd70f8b013d723cedbab0ba4b8bba74-1585911377811/temp/chat.mp4
Done
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;BBB’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;webcams.webm&lt;/code&gt; file has a resolution of 640x480 and the sole reason to pick 640x540 for the chat and 1280x1080 for the shapes is to be able to lay all three out in the following configuration while outputting a 1920x1080 video:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;######################
#             # cams #
#             #      #
#  slides     ########
#             # chat #
#             #      #
#             #      #
######################
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The command to do so will follow soon but first I want to explain the value I passed in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-filter_complex&lt;/code&gt;. I split it up in separate filter chains so it’s a little easier to read:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;[0:v]pad=1920:1080:x=0:y=-1[padded];&lt;/code&gt;: pick the video stream from input #0 (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;shapes.mp4&lt;/code&gt;), pad it to 1920x1080 and keep it centerd vertically. Name the output as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;[padded]&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;[padded][1:v]overlay=x=1280:y=480[overlaid];&lt;/code&gt;: Take &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;[padded]&lt;/code&gt; and lay the video stream from input #1 (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;chat.mp4&lt;/code&gt;) over it at the coordinates (1280, 480). Name the output of this operation as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;[overlaid]&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;[overlaid][2:v]overlay=x=1280[out]&lt;/code&gt;: Take &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;[overlaid]&lt;/code&gt; and lay the video stream from input #2 (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;webcams.webm&lt;/code&gt;) over it at the coordinates (1280, 0). Name the output as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;[out]&lt;/code&gt; (this will end up in the output file with the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-map&lt;/code&gt; argument).&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;n&quot;&gt;webcams_webm&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;PRESENTATION_DIR&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;video&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;webcams.webm&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;conference_mp4&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;basename&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;PRESENTATION_DIR&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;_output.mp4&quot;&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sa&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Generating &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;conference_mp4&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;... (this might take even longer than the previous two)&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;with&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;open&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;PRESENTATION_DIR&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;temp&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;output_mp4.log&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;wb&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;logfile&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;cmd&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;ffmpeg&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-y&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-i&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;shlex&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;quote&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;shapes_mp4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-i&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;shlex&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;quote&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;chat_mp4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
           &lt;span class=&quot;s&quot;&gt;&quot;-i&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;shlex&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;quote&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;webcams_webm&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;
           &lt;span class=&quot;s&quot;&gt;&quot;-filter_complex&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;[0:v]pad=1920:1080:x=0:y=-1[padded];[padded][1:v]overlay=x=1280:y=480[overlaid];[overlaid][2:v]overlay=x=1280[out]&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
           &lt;span class=&quot;s&quot;&gt;&quot;-map&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;[out]&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-c:v&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;libx264&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-preset&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;slow&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-profile:v&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;high&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-level&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;4.0&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-movflags&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;+faststart&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
           &lt;span class=&quot;s&quot;&gt;&quot;-crf&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;18&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-bf&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;2&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-coder&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;1&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
           &lt;span class=&quot;s&quot;&gt;&quot;-map&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;2:a&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-c:a&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;aac&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-ac&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;2&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;-cpu-used&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;0&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;cmd&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cmd&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;EXTRA_OPTS&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;shlex&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;quote&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;conference_mp4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)]&lt;/span&gt;
    
    &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sa&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;    &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;' '&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;([&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;shlex&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;quote&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;c&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cmd&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;])&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;proc&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;subprocess&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;run&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cmd&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;stdout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;logfile&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;stderr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;logfile&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;universal_newlines&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;All done!&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Generating 977d4a145cd70f8b013d723cedbab0ba4b8bba74-1585911377811_output.mp4... (this might take even longer than the previous two)
    ffmpeg -y -i 977d4a145cd70f8b013d723cedbab0ba4b8bba74-1585911377811/temp/shapes.mp4 -i 977d4a145cd70f8b013d723cedbab0ba4b8bba74-1585911377811/temp/chat.mp4 -i 977d4a145cd70f8b013d723cedbab0ba4b8bba74-1585911377811/video/webcams.webm -filter_complex '[0:v]pad=1920:1080:x=0:y=-1[padded];[padded][1:v]overlay=x=1280:y=480[overlaid];[overlaid][2:v]overlay=x=1280[out]' -map '[out]' -c:v libx264 -preset slow -profile:v high -level 4.0 -movflags +faststart -crf 18 -bf 2 -coder 1 -map 2:a -c:a aac -ac 2 -cpu-used 0 -t 600 977d4a145cd70f8b013d723cedbab0ba4b8bba74-1585911377811_output.mp4
All done!
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The output file will be named after the published directory name (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;directory&amp;gt;_output.mp4&lt;/code&gt;) and stored in the current working directory. All other files we created are in the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;temp&lt;/code&gt; folder inside the published recording directory. It’s safe to delete this folder and if you ever need to debug FFmpeg invocation issues check the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.log&lt;/code&gt; files inside.&lt;/p&gt;

&lt;p&gt;If you want to turn this into an script, just copy and paste all the code snippets into a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.py&lt;/code&gt; file and change the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;PRESENTATION_DIR&lt;/code&gt; to something more appropriate (perhaps &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sys.argv[1]&lt;/code&gt;?).&lt;/p&gt;

&lt;p&gt;I hope this post helped. Have a good worker’s day!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;data:image/jpeg;base64,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xoxJOXUor1sIJSqCQQepwYM0C2MFurjWAVblH6q2+4X7BTTUQSvuVO5qHpmx85nT5tieZi94PBtOImk20YZZG35n0/yQDM9eNEMmyRMy0Agg7HQqbiVChUQvKiCYUD1JGMR0B1VgBAWEQqFuETYQTdBOABgAOTcTUfkQFW5lJV16mGkp9LdUEbMIYI3m5xghARmjNVUUhmnzQhFBDUg0g7YRbVYCUIi+gQjqC0V3icFSdXLiyjLFFFAx7JhcGKroGppC7GGhTgvFdAeC/wCCrIgUNXIqUdQFVn4EogCQKtE4RaszB02KyscIjOBoiDgoEF12EMsiAJ3gk6yDIBET5lwjtAATBqBH5hltkj3EF4ABarrCSwRAroEM8ktFd/Eq4UXVy4vIyVpRQc2yfVflAVdB1NIX4w0Kf6leK6A8l8+7FRmCi2hFE1dAVWYIwgukmn8hs7I1rQmgaJQU8D6rDjxYFNyC+48SiIUzRTUGULMIRthBXCNW6L3hWvCBQUfATiknwK/qCn9oOiQAWgH+ZgAknoF0DCjZE4m5LhUhAmGfLj2AYEAdA/pDaZrIZ+pa1kKe13eMxPuV5zTfVH5zOn8SDrgIxxYIMXIL5IbIlzDE4E1BIqDt8PSdYqo4P41hwdPkhsiW5gKLFDCEySTufgFwcAQUNwB6j40g9/kgCNRAAIBD5UsoA6fwuFAWBdPghsiXHwVZC4+boAev8NAD3+SAIhjmAAQCHynLIAOn8EwoAKBfzeNoIqkumzfdpd4BMLJqmwI6B/cvZxAdCCpcNRuZTvE8w9AuoBCrLHQOPOpLSaQ80FAC5P8AAjOhrQNWiImUD/LHvP6nvP6nvP6nvP6nvP6nvP6nvP6nvP6nvP6nvP6nvP6nKuBie9/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qex/qe1/qAxCnAaKGsFocmNAGpgA3IRasqHd6g2hNwGXHiCEh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epgB/ufPduh5Hauz0lHArndd4cyqoxp2+0AmF2tlvrAUDQGvMzs6tno6eyJ7VPbErW82fzBrj/2aPp+YblnGPWO6+KmEb3C7wQ4dj5cHtQj1NPPFQxJg22vaVxqxmZtG68RRt6YlUOG5bauvaWGNlldjvCY2GEVga0K7WgxWDncPHALqOm62h4b5uUTCPQQbIadeAi8y3nvbzjgcN6N1T4yPhJPK655LZe4xm8tlttlihG6VmFCtW6yCrw3lOE9YmtSBV4NmhVW4+yMAcklIrh5lotP3K3ir3B1ay7btSLktVA59IgvePxTlM3JgIG6Uu/uCtKDTdmryFNVXeg1au6KCr10uTyZ7xXcrgGXRT9pm+yBLbDvQ5TyF1EQDLc0e43VUmNjcx3hFyopK7odAA7j7AOTD09CVTW3dwAktmtF+UAuzwZb7nN5K2DhtwboHxDyPeWuueQul73FTS2W22WgjdKzGbPWvgQyU3SnCYiSsgFvg4cCkFq/tErOT8zpVwaQ0GnjdNlVe47+F3bdqRclqoHPpPYfi63UFEdKXf3BWyXTdzKwVBu3AXtXbVBvUewYwEac11d16fSbnM2JfGhaLQRrmHjcAWHZIPNWofUJ2EFxM0P8AcV5lD+Sf+0/1Fivef6iF1+FfzULAERZ0PawfxU/9p/qU/Sty/wBddno+kJwsl6hXy6655lFlwgDXeW/Tbz9D9uvCn4libe7lgdAdhT8MS5bSdltfxqVLaq5Zgu41+I3YXlX8y2qWWmmJALffmUV9O6v5ltVctqhgpgYIEpOY7aXlX89M8dM9Ske3ZT8S28sxzuKu2WMnZbX8a6W1V4lug9xr8R+wvKv5lullppiFjffmUV9O6v5l0oZbVXBQoYgJSckVtLuq/mCmB+k3AkuIAkKISjQjbaziYKPEdaDUqjvOIpu/2/iM+Iz4jPiM+Iz4jPiM+Iz4jPiM+Iyo4arEX5e08r2nle08r2nle08r2nle08r2nle08r2nle08r2nle08r2nle08r2nle08r2nle08r2nle08r2nle08r2nle08r2nle08r2nle08r2nle08r2nle08r2nle08r2nle08r2nle08r2nle08r2nle08r2nle08r2nle08r2nle08r2nle08r2nle08r2nle08r2nle08r2nle08r2nle08r2nle08r2nle08r2n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U1vo/cORalto/qAxJgJbV5mNUqBdNAjPlHqpVrpeLbaIfjtDZrbt+VLs0gLg0qCih7rWHqgpzhKjDrwFiCFbg01xCfUU01pCy8Qsf3E8DgnXzCHhCnIP8hNAjWcQ7XhO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94S1HKFYQazDVHOK7xGdqmwYVyOzKN72qo6PH+UqWvPF2tA9Zc3JY+Ps3x1BsA0Al4ZiVN5qoZodBwwm1TJqv2dw2kvSZyVVKxHd/UFGO6MsJppreQ2viA8Js2oYy7wwYsqAgBVY+0MI5pm11Z5jCJLQLDl6eUJ+XsxgaLtlu1FTFVyDCsgoHDoa6qnVZVWFrRw69zRLOWIKuwVA27COyIWW0ny0RjMQY520LaTVzZpnxSwFMnGIVOjqnv8A4ncmBriMaxLHMIiEVBKFyi6w6WfQsCUYsxjkl8Zvh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5svh5syRdxzZiM0MqWplE6INttRnSUSrmyYhHj6fOhGUKwm/T1KmDa+vZ1NCCCI0BBJBam37wAAA2IfWsBG5oN7dRw3XDR4pUPWeTvKGkYudsTeS5sOMhKZ/MsVXMw3jSUEAAp1ADFDrq8xeMHjxQpL6OAlcRRrTKp4IjJa+6WP1GDaOahWoz9OARKEqkKkbMcQM2UpCai74jIKIRxk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HGCioRxfUEywdDTHUGhbW76qtGlG0VAtZcUwAAMQNoLBRaNihZxTgVFJkS0mKANo6NLuwQHDlap6VZeMSsjLat/FTlS1eyKNEtmZ5Y2FCklFJRXJMAQlCX3vlw2Riud4Mvm3lIo1SxcQvfJVW16ADxBEcqc23cAErAA1vQxvFPLBQGqHkAXCtFBWrVVpy87RigK01TnSZHZz10oKKpDkayKQSzLL5vIHBkpEERBht5kW6xpqle1igo/Sufgyufgyuf5Sufgyufgyufgyufgyufgyufgyufgyuf5Suf5Sufgyufgyufgyufgyuf5Sufgyufgyuf5Sufgyufgyufgyufgyufgyufgyufgyufgyufgyufgyufgyufgyuf5Sufgyufgyufgyufgyufgyuf5Sufgyufgyufgyufgyufgyufgyufgyuf5Sufgyufgyufgyufgyufgyufgyufgyufgyuf5Suf5Sufgyufgyufgyufgyufgyufgyuf5Sufgyufgyufgyufgyufgyufgyufgyufgyuf5Sufgyufgyufgyufgyuf5SufgyufgxBJoThCq2VxahirjQ2uMKzRxBA5DbYhFQGdZttAjlwXUIQjLy6bGNAUoJcNbAClCAJoFIAKyRm3pt4FJrk1ECqb5JEjMNcCgtaqgMtZgBZdb12IJEbgRtIhyiTkQoXaAwgwDS01al3Kc4sXMk9EzmhoAWt3dlVEIdM01f2uJSlqgsABGx/wCOsHaZo1VaJx/wre2ELq6DdoX/AJWAWpSkto1aP+zseE7vhO74Tu+E7vhO74Tu+E7vhO74Tu+E7vhO74Tu+E7vhO74Tu+E7vhO74Tu+E7vhO74Tu+E7vhO74Tu+E7vhO74Tu+E7vhOx4TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hO94TveE73hK93hO1HajtR2o7UdqO1HajtR2o7UdqO1HahO4H0C+FXJ542BUxdmn3NCWvJSkNCuVfMC1EsGxBEUvQWxdhh/ZMpnQgCS9bLUyck0i9dkskxUZ1h+VtRaEvvemfMwV9I/9y+I1dmepESmDyw8MxDVVQM9UphxVpYWCoU1ahqRZbErZxUbuun5wWoBYclbANihFci0BQWVoIVVYwr8ZGgCuIFG4KFK+YIMSWkibStYQaBTRjposg2KabIWY2sEG7ykKQ1YwVZbmZFLXmFwwJA/1kkoIXLDjkM2gWsClSQ6WY0IVVQ0U43JVjJ0l0YEgcNsQpLC1aaCmXZUrrKoVTUCZSIV54YhM/KA1OCosaKVrsaNLaFWZWhVQrHgTRW7ShqWFeEAQILKwq9lQTrGlqaiCcFTFlcZoeAF/+dG1atWrVq1atWrVq1atWrVq1atWrVq1atWrVq1atWrVq1atWrVq1atWrVq1atWrVq1atWrVq1atWrVq1atWrVq1atWrVq3YYYYbQKYRzzWAECdBSxO+txPioI6nXFLUOCsUYRQAnct7ljClLY//AL74YYYYYYYYYYYYYYYYYYYYYYYYYf8A/9k=&quot; /&gt;&lt;/p&gt;</content><author><name>Higor Eurípedes</name></author><summary type="html">It is known BBB doesn’t support downloading a recording as a single file. The main reason for this is that it ruins the experience (no jumping to specific slides) and is not flexible (can’t rearrange or resize content); the other reason is that this kind of content and usability requirements increase complexity and this is the reason the playback page exists.</summary></entry><entry xml:lang="english"><title type="html">Old pamphlet: A New Money for a New Age</title><link href="http://heuripedes.github.io/2019/11/24/old-pamphlet-a-new-money-for-a-new-age.html" rel="alternate" type="text/html" title="Old pamphlet: A New Money for a New Age" /><published>2019-11-24T00:00:00+00:00</published><updated>2019-11-24T00:00:00+00:00</updated><id>http://heuripedes.github.io/2019/11/24/old-pamphlet-a-new-money-for-a-new-age</id><content type="html" xml:base="http://heuripedes.github.io/2019/11/24/old-pamphlet-a-new-money-for-a-new-age.html">&lt;blockquote&gt;
  &lt;p&gt;Transcription of an old pamphlet I found on the internet in the night of 24/11/2019&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1 id=&quot;a-new-money-for-a-new-age&quot;&gt;A New Money for a New Age&lt;/h1&gt;

&lt;p&gt;Free on Application to E. W. ABRAHAM&lt;/p&gt;

&lt;p&gt;112 Faithful Street&lt;br /&gt;
Victoria, B.C.&lt;/p&gt;

&lt;h2 id=&quot;a-new-money-for-a-new-age-1&quot;&gt;A New Money for a New Age&lt;/h2&gt;

&lt;p&gt;In view of the world-wide search for a new Monetary System which will bring real Security, the following thoughts on the Economics of the Bible are submitted, not with the intention of being dogmatic, nor as hard as fast rules, but as suggestions for the ground-work of further study along these lines. If abundance and plenty are worth having, they are worth studying and working for.&lt;/p&gt;

&lt;p&gt;The subject will be discussed under nine headings, as follows:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;The Kind of Government we need to administer a Righteous Economic System.&lt;/li&gt;
  &lt;li&gt;The Form of Money we would require.&lt;/li&gt;
  &lt;li&gt;The Law against Usury.&lt;/li&gt;
  &lt;li&gt;The Sabbatic Law of Release.&lt;/li&gt;
  &lt;li&gt;Provision for the Poor, Sick, Young, Old, Widows, etc.&lt;/li&gt;
  &lt;li&gt;A Minimum Wage.&lt;/li&gt;
  &lt;li&gt;Pensions for ALL.&lt;/li&gt;
  &lt;li&gt;Taxes, or tithe.&lt;/li&gt;
  &lt;li&gt;Government Control.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;1-the-kind-of-government-we-need&quot;&gt;1. The Kind of Government We need…&lt;/h3&gt;

&lt;p&gt;First and foremost, we MUST HAVE a Government we can RELY UPON. A government made up, as Moses instructed, of “able men, such as fear God, men of Truth, hating covetousness…” Such a Government’s duties would be not to MAKE its own laws, but to ADMINISTER the economic laws of the Bible, Ex. 18.21; Deut. 1, 15-17; and 16, 18.&lt;/p&gt;

&lt;h3 id=&quot;2-the-form-of-money-required&quot;&gt;2. The Form of Money Required&lt;/h3&gt;

&lt;p&gt;Money would be provided ONLY by the Government, and SOLELY as a MEANS OF EXCHANGE. The Banks would not be allowed to create money in ANY FORM WHATEVER. Money would be SERVANT of the people, instead of its MASTER; issued as required, by the Government, and backed by the needs and resources of the country, for the USE and BENEFIT of our own people. Surely that is not too much to ask in this land of plenty – ENOUGH TOKENS OF EXCHANGE to enable us to PROPERLY EMPLOY ALL our people, and to PROPERLY care for our children, old people, and the sick – that is only common-sense after all. We certainly have not been using common-sense when we have allowed our children to be undernourished, our sick and aged neglected, and thousands of our people unemployed, just because we have NOT ENOUGH MONEY; although no one will suggest for one moment that we have not enough resources to fill ALL our needs. All money issued would have to be in some UNHOARDABLE FORM, i.e. dated or limited in some way as to avoid any possibility of its being hoarded, or held off the market 1 Tim. 6:10.&lt;/p&gt;

&lt;h3 id=&quot;3-the-law-against-usury&quot;&gt;3. The Law Against Usury&lt;/h3&gt;

&lt;p&gt;USURY MUST BE ENTIRELY ABOLISHED. Under Bible economics, usury of ANY KIND is forbidden within the nation. With a Monetary System controlled by a RIGHTEOUS Government, with money for use PURELY as a MEANS OF EXCHANGE, there would be NO ROOM for usury or interest. The Bible makes NO DISTINCTION between usury and interest. Deut 23.19, reads: “Thous shalt not lend upon usury to thy brother; usury of money, usury of victuals, usury of ANYTHING THAT IS LENT UPON USURY…” and this injunction was confirmed again and again. Read Lev. 25.36; Ezekiel 18, 5 to 9; and many other passages.&lt;/p&gt;

&lt;p&gt;We might, perhaps, notice, in passing, that “no interest” does not mean “no dividends” upon legitimate investments. The difference between interest on a loan, and dividends on an investment, is that the latter is paid ONLY when there is a profit to pay with it, whereas interest is payable even if the business run at a loss.&lt;/p&gt;

&lt;h3 id=&quot;4-the-sabbatic-law-of-release&quot;&gt;4. The Sabbatic Law of Release&lt;/h3&gt;

&lt;p&gt;The Bible is authority for an economic Sabbath, called the Law of Release, (Lev. 25, 3/4: Deut. 15, 1) whereby ALL debts shall be canceled every seventh year. God states that He will assume any debt canceled under this clause. (The probability is that as God constantly uses human means for the fulfillment of His Purposes, there would be a Central Fund out of tax surplus, whereby any canceled debts would be paid by the State.) It seems obvious that this debt clause applies chiefly to the poor and needy, and is not intended as an escape for dishonest people.&lt;/p&gt;

&lt;h3 id=&quot;5-provision-for-the-sick-poor-aged-etc&quot;&gt;5. Provision For The Sick, Poor, Aged, Etc.&lt;/h3&gt;

&lt;p&gt;All hospitals, old peoples’ homes, asylums, etc., would be FREE and Government operated. Today our whole national economy, our health, our wealth, our moral standards, our very freedom, are all dependent upon “money.” There would be no suffering humanity as we see it today, if we lived up to Deut. 7, which reads: “Therefore shalt thou keep the Commandments, and the Statutes, and the Ordinances which I command thee this day… And it shall come to pass… that the Lord thy God will keep unto thee the Covenant and the Kindness which He hath shewn unto thy fathers… AND THE LORD WILL TAKE AWAY FROM THEE ALL SICKNESS…”&lt;/p&gt;

&lt;h3 id=&quot;6-a-minimum-wage&quot;&gt;6. A Minimum Wage&lt;/h3&gt;

&lt;p&gt;Our Lord’s Parable of the Labourers in the vineyard (Matt. 20) would appear to give full authority for a Minimum Wage. “Whatsoever is right, “ the Master of the vineyard said to the men hired at the eleventh hour, “that shall ye receive;” and He gave them THE SAME WAGE as those who had been working all day, showing plainly that He recognized that their “right” or “need” was equal with those who had been hired earlier, even though their opportunity for earning ta wage had not been so great. In this age of statistics, it should be a simple matter to determine the minimum wage NEEDED in any country – it should be SUFFICIENT to provide the worker with ALL the necessities of life. Thereafter, of course the wage would be determined by the natural law of supply and demand, together with the efficiency of the worker. The Bible age for workers appears to be from 20 years old to 55, and in some cases from 25 years old to 50.&lt;/p&gt;

&lt;p&gt;St. Paul clearly provided the answer to those who say that this system would be abused by the lazy, when he says in 2 Thess. 3, 10; “He that will not work, neither shall he eat.” There is also an age-old axiom, given by God Himself to Adam (Gen. 3, 19) “In the sweat of thy face shall thou eat bread, till thou return unto the ground.”&lt;/p&gt;

&lt;h3 id=&quot;7-pensions-for-all&quot;&gt;7. Pensions for All&lt;/h3&gt;

&lt;p&gt;Under a righteous SERVANT-MONEY SYSTEM, ALL citizens, upon reaching retiring age (generally 55), would automatically retire and receive their first pension cheque, and could then look forward to a happy and provided-for old age, without having to work right up to the edge of the grave, as so many do nowadays. Here again the Statistical Branch would be able to work out the amount of the ideal pension – based upon a supply of NECESSITIES for the rest of one’s life. (Probably it would be found to be a somewhat similar amount to the Minimum Wage). Proof of age and citizenship would be the ONLY REQUIREMENT for eligibility – the Bureau of Vital Statistics would keep in touch with every man, woman and child in the country, and would pay the pension for ALL, from the highest to the lowest in the land, as soon as it became due. There would be no need for property or means test. Deut. 10.10; 24.17; Ex. 22.22; Jer. 7, 5/6.&lt;/p&gt;

&lt;h3 id=&quot;8-taxes-or-tithe&quot;&gt;8. Taxes or Tithe&lt;/h3&gt;

&lt;p&gt;Only ONE TAX for everyone. 10% of ALL Income or increase. (In exceptional cases 20% may be expected of the wealthy). In the case of there being no increase, as with a farmer’s poor crop for instance, there would be no tax at all that year – or if the income were to cease for any reason, so would the tax. One-tenth of all taxes would go to the upkeep of the Church, the remaining nine-tenths to the State for all purposes, such as education, hospitals, pensions, etc. Mal. 3.8/11 etc.&lt;/p&gt;

&lt;h3 id=&quot;9-the-government-control-needed&quot;&gt;9. The Government Control NEEDED&lt;/h3&gt;

&lt;p&gt;All essential services, such as light, heat, water, transportation, should be run by the Government for the benefit of the people; though under the Bible Economic System, where no huge combines, monopolies and cartels could flourish, and where private enterprise could be better relied upon to serve the people at a reasonable rate, this may not be necessary. It does not require very much imagination to visualize the future, with atomic power harnessed for all sorts of BENEFICIAL USES; central heating and lighting for whole cities; unlimited power for farms and factories, or for transportation, etc. Today there is LITERALLY NOTHING standing in the way of these wonders, except finance, and our own sin and greed, and refusal to obey God’s Laws.&lt;/p&gt;

&lt;p&gt;Please do not toss this article on the side, with a shrug of the shoulders and the idea that we have been discussing Utopia. GOD DOES NOT MOCK HIS PEOPLE. A perfectly just and equitable Monetary System is both feasible and possible, and is, without a doubt to be found in the Bible. It is up to us to study it out, but above all to trust God, and to ask Him to raise up righteous men amongst us WHO WILL PUT IT INTO FORCE.&lt;/p&gt;

&lt;p&gt;E. W. ABRAHAM&lt;br /&gt;
Victoria, B.C., 1946&lt;/p&gt;</content><author><name>Higor Eurípedes</name></author><summary type="html">Transcription of an old pamphlet I found on the internet in the night of 24/11/2019</summary></entry><entry xml:lang="english"><title type="html">Old pamphlet: How To Increase Wages Without Raising Prices</title><link href="http://heuripedes.github.io/2019/11/24/old-pamphlet-how-to-increase-wages-without-raising-prices.html" rel="alternate" type="text/html" title="Old pamphlet: How To Increase Wages Without Raising Prices" /><published>2019-11-24T00:00:00+00:00</published><updated>2019-11-24T00:00:00+00:00</updated><id>http://heuripedes.github.io/2019/11/24/old-pamphlet-how-to-increase-wages-without-raising-prices</id><content type="html" xml:base="http://heuripedes.github.io/2019/11/24/old-pamphlet-how-to-increase-wages-without-raising-prices.html">&lt;blockquote&gt;
  &lt;p&gt;Transcription of an old pamphlet I found on the internet in the night of 24/11/2019&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1 id=&quot;how-to-increase-wages-without-raising-prices&quot;&gt;How To Increase Wages Without Raising Prices&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;THE BIBLE SOLUTION TO THE LABOR-MANAGEMENT DISPUTE&lt;/strong&gt;&lt;br /&gt;
by ALEXANDER SCHIFFNER&lt;/p&gt;

&lt;p&gt;When men are under subjection to another’s will and command without adequate compensation for services rendered it is slavery no matter by what name such service may be called, for slavery is the involuntary servitude of one human being to another.&lt;/p&gt;

&lt;p&gt;No question has aroused so much interest as the present labor-management dispute. The failure to offer a solution satisfactory to both industry and labor has led to strife and bloodshed. But it is impossible to make an equitable adjustment of wages which will be satisfactory to both employer and employee until certain fundamental changes are made in our economy.&lt;/p&gt;

&lt;p&gt;Both employers and employees are under pressure today – the former endeavoring to remain in business; the latter to meet ever increasing living costs.&lt;/p&gt;

&lt;p&gt;The money needed by the employer to meet his payrolls and to purchase his stock is furnished by the money lenders to whom he must pay tribute. Too, he must pay dividends, earned by the employees, to the stockholders who through no labor on their part receive the fruits of another’s labor.&lt;/p&gt;

&lt;p&gt;Our national payroll is approximately 150 billion dollars annually. Another 75 billion dollars (approximate) is paid to non-producers in the form of dividends on their investments or to financiers in discounts or interest. Labor therefore produces 225 billion dollars worth of goods annually but receives only a part of what it produces.&lt;/p&gt;

&lt;p&gt;Why should a third party who contributes nothing, either in brains or brawn, receive the fruits of another’s labor? In collecting tribute for the financing of production, the producer is robbed of his profits and the laborer of his wages.&lt;/p&gt;

&lt;p&gt;When industry shakes itself loose from the present enslaving usury system, labor and management alike will receive the full fruitage of their labor. Money was never meant to be a producer. It is not a producer. Yet we permit it to produce for thousands at the expense of the workers. The Bible says “that if any would not work, neither should he eat.” 2 Thes. 3:10 Labor needs the employer who in turn needs labor and its services, yet neither actually needs the financial non-producers.&lt;/p&gt;

&lt;p&gt;Vested financial interests have been able to remain aloof from most labor disputes, making both management and labor assume that their difficulties are the result of the greed of the laborer or the selfishness of the employer, when in fact both are dupes and slaves of a financial system which reaps both ends and the middle.&lt;/p&gt;

&lt;p&gt;STOP PAYING TO THIS THIRD PARTY THAT FOR WHICH IT HAS NEVER WORKED OR LABORED AND WAGES CAN BE INCREASED WITHOUT RAISING PRICES.&lt;/p&gt;

&lt;p&gt;This parasite third party should be as much concerned about bringing about a change in our economy as in labor and management. Especially since we are witnessing the fulfillment of James 5:1-5. Read it.
Publication and distribution of this and similar tracts is made possible by your tithes and free-will offerings.
“This gospel of the Kingdom shall be preached.” – Matt. 24:13.&lt;/p&gt;

&lt;p&gt;ADDRESS&lt;br /&gt;
BETHEL TRACT SOCIETY&lt;br /&gt;
Box 7 – Spokane I, Wash.&lt;/p&gt;</content><author><name>Higor Eurípedes</name></author><summary type="html">Transcription of an old pamphlet I found on the internet in the night of 24/11/2019</summary></entry><entry xml:lang="pt"><title type="html">O que fazer quando passar de ano antes do ano acabar</title><link href="http://heuripedes.github.io/2019/11/13/o-que-fazer-quando-passar-de-ano-antes-do-ano-acabar.html" rel="alternate" type="text/html" title="O que fazer quando passar de ano antes do ano acabar" /><published>2019-11-13T00:00:00+00:00</published><updated>2019-11-13T00:00:00+00:00</updated><id>http://heuripedes.github.io/2019/11/13/o-que-fazer-quando-passar-de-ano-antes-do-ano-acabar</id><content type="html" xml:base="http://heuripedes.github.io/2019/11/13/o-que-fazer-quando-passar-de-ano-antes-do-ano-acabar.html">&lt;p&gt;Se passou antes do fim, ainda há o que aprender.&lt;br /&gt;
Faça valer a oportunidade,&lt;br /&gt;
já que muitos não a tem assim,&lt;br /&gt;
de estudar com tranquilidade&lt;br /&gt;
aquilo que ainda há de te render.&lt;/p&gt;

&lt;p&gt;Se passou antes do fim, não se gabe.&lt;br /&gt;
Ajude o colega que se debate&lt;br /&gt;
numa situação ruim.  &lt;br /&gt;
Pois o futuro ninguém sabe&lt;br /&gt;
e o colega, bem tradado,&lt;br /&gt;
mesmo terrivelmente cansado,&lt;br /&gt;
pode ser que salve&lt;br /&gt;
este teu umbiguim.&lt;/p&gt;</content><author><name>Higor Eurípedes</name></author><summary type="html">Se passou antes do fim, ainda há o que aprender. Faça valer a oportunidade, já que muitos não a tem assim, de estudar com tranquilidade aquilo que ainda há de te render.</summary></entry><entry xml:lang="en"><title type="html">CSCamp CTF 2013 Forensics2 Writeup</title><link href="http://heuripedes.github.io/2013/11/16/cscamp-ctf-2013-forensics2-writeup.html" rel="alternate" type="text/html" title="CSCamp CTF 2013 Forensics2 Writeup" /><published>2013-11-16T00:00:00+00:00</published><updated>2013-11-16T00:00:00+00:00</updated><id>http://heuripedes.github.io/2013/11/16/cscamp-ctf-2013-forensics2-writeup</id><content type="html" xml:base="http://heuripedes.github.io/2013/11/16/cscamp-ctf-2013-forensics2-writeup.html">&lt;blockquote&gt;
  &lt;p&gt;enygmata/fmul: Alright guys, first-off I want to say that this text does not
really show everything I did to beat this challenge. It took me about four
hours to figure everything out and I don’t remember most of the things i
tried.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&quot;forensics-2&quot;&gt;Forensics 2&lt;/h2&gt;
&lt;blockquote&gt;
  &lt;p&gt;We got a memory dump of a challenger accused of cheating, can you confirm that?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The challenge description provides a memory dump of a VMware machine (.vmem).
Googling around for memory analysers and related things I found the
&lt;a href=&quot;https://code.google.com/p/volatility/&quot;&gt;volatility&lt;/a&gt; project, which has a Python
script to analyse memory dumps and other stuff.&lt;/p&gt;

&lt;p&gt;Before doing any real work, vol.py (the volatility script) needs a profile that
describes the kind of data we are going to handle. Because of the filename, I
already knew it was a Windows XP machine but since it was the first time using
vol.py I just followed the &lt;a href=&quot;https://code.google.com/p/volatility/wiki/VolatilityUsage22&quot;&gt;instructions&lt;/a&gt;:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ vol.py -f Windows\ XP\ Professional-f67cc587.vmem imageinfo
Volatile Systems Volatility Framework 2.2
Determining profile based on KDBG search...

          Suggested Profile(s) : WinXPSP2x86, WinXPSP3x86 (Instantiated with WinXPSP2x86)
                     AS Layer1 : JKIA32PagedMemoryPae (Kernel AS)
                     AS Layer2 : FileAddressSpace (&amp;lt;edited&amp;gt;/Windows XP Professional-f67cc587.vmem)
                      PAE type : PAE
                           DTB : 0x34c000L
                          KDBG : 0x8054d2e0L
        Number of Processors : 2
     Image Type (Service Pack) : 3
                KPCR for CPU 0 : 0xffdff000L
                KPCR for CPU 1 : 0xf8942000L
             KUSER_SHARED_DATA : 0xffdf0000L
           Image date and time : 2013-10-17 23:19:02 UTC+0000
     Image local date and time : 2013-10-18 00:19:02 +0100
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Now we can take a look at the dump. Let’s see which processes the guy was
running:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ vol.py -f Windows\ XP\ Professional-f67cc587.vmem pslist
Volatile Systems Volatility Framework 2.2
Offset(V)  Name                    PID   PPID   Thds     Hnds   Sess  Wow64 Start                Exit
---------- -------------------- ------ ------ ------ -------- ------ ------ -------------------- --------------------
0x823c6660 System                    4      0     61      281 ------      0
0x81fcb020 smss.exe                548      4      3       19 ------      0 2013-06-30 09:22:16
0x81f3e020 csrss.exe               672    548     12      370      0      0 2013-06-30 09:22:23
0x820f3020 winlogon.exe            696    548     19      582      0      0 2013-06-30 09:22:23
0x8205c020 services.exe            740    696     15      294      0      0 2013-06-30 09:22:23
0x81fdc020 lsass.exe               752    696     20      359      0      0 2013-06-30 09:22:23
0x820e97f0 vmacthlp.exe            940    740      1       25      0      0 2013-06-30 09:22:25
0x8208d6e8 svchost.exe             956    740     16      207      0      0 2013-06-30 09:22:26
0x81e5e020 svchost.exe            1004    740      8      296      0      0 2013-06-30 09:22:26
0x82072da0 svchost.exe            1148    740     68     1388      0      0 2013-06-30 09:22:26
0x820137a8 svchost.exe            1340    740      5       78      0      0 2013-06-30 09:22:26
0x820e93c8 svchost.exe            1448    740     12      189      0      0 2013-06-30 09:22:28
0x81ee2620 spoolsv.exe            1780    740     10      140      0      0 2013-06-30 09:22:29
0x82164da0 explorer.exe           1828   1736     10      461      0      0 2013-06-30 09:22:29
0x81f3d3b8 rundll32.exe            128   1828      4       74      0      0 2013-06-30 09:22:32
0x81f3cc08 vmtoolsd.exe            140   1828      5      199      0      0 2013-06-30 09:22:32
0x81e6cda0 svchost.exe             360    740      5      111      0      0 2013-06-30 09:22:44
0x820f1c10 svchost.exe             396    740      5      105      0      0 2013-06-30 09:22:44
0x81fcf4b8 vmtoolsd.exe            592    740      7      278      0      0 2013-06-30 09:22:45
0x82230350 imapi.exe               516    740      4      118      0      0 2013-06-30 09:22:59
0x821efc10 alg.exe                1428    740      6      110      0      0 2013-06-30 09:22:59
0x821e7da0 wscntfy.exe            1572   1148      1       37      0      0 2013-06-30 09:23:00
0x822c5980 wuauclt.exe            2140   1148      3      110      0      0 2013-06-30 09:24:03
0x8215a648 rundll32.exe           3548   1828      0 --------      0      0 2013-10-17 21:58:10  2013-10-17 21:58:33
0x820a5c10 ctfmon.exe             2176    732      1       88      0      0 2013-10-17 22:42:46
0x820ac5a0 cmd.exe                2504   1828      1       33      0      0 2013-10-17 22:44:26
0x82101318 xchat.exe              3348   1828      3       92      0      0 2013-10-17 22:45:34
0x822bf4d8 decryptpastebin        3292   2504      1       90      0      0 2013-10-17 23:18:43
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The last process seems suspicious. I dumped it using the &lt;a href=&quot;https://code.google.com/p/volatility/wiki/CommandReference22#procmemdump&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;procmemdump&lt;/code&gt;&lt;/a&gt;
vol.py command and looking at it’s strings I noticed Python and py2exe
references. The next step would be analysing this executable but py2exe
executables are just garbage mixed with internal Python commands so I had to
find a decompiler. I found &lt;a href=&quot;https://code.google.com/p/py2exe-extract/&quot;&gt;py2exe-extract&lt;/a&gt;:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ py2exe-extract decryptpastebin
[*] extracting C:\Python27\lib\site-packages\py2exe\boot_common.py
[*] extracting decryptpastebin.py
[*] done!
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Unfortunately that output lies, py2exe-extract did not create a .py file. It
just extracted the compiled module (.pyc). Now it was time for some real
decompiling action, so I used &lt;a href=&quot;https://github.com/wibiti/uncompyle2&quot;&gt;uncompyle2&lt;/a&gt;,
but it was made for Python 2.7 and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;decryptpastebin.pyc&lt;/code&gt; had 2.6 bytecode.
Luckily, uncompyle2 worked fine after I shut it’s mouth by commenting the if
(lines 73 and 74 of uncompyle2/__init__.py) that checked for the bytecode
version.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ uncompyle2  decryptpastebin.pyc

$ python2 decryptpastebin.py
Welcome to pastebin decryptor v0.1beta
======================================
ID:KEY=
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Looking inside &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;decryptpastebin.py&lt;/code&gt;, I saw that ID was a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pastebin.com&lt;/code&gt; paste
id:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-python&quot; data-lang=&quot;python&quot;&gt;&lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;decryptbin&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;idkey&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;id&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;idkey&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;':'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;key&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;idkey&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;':'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
    &lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;httplib&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;c&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;httplib&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;HTTPConnection&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'pastebin.com'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;request&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;'GET'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;'/raw.php?i='&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;id&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;response&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;getresponse&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;response&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;status&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;200&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;response&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;read&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;AESdecrypt&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;key&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;I looked at &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;decryptpastebin&lt;/code&gt;’s strings again but there was no compromising
pastebin.com string. There was nothing interesting on the other processes’
strings, so I decided to check the vmem image’s string. A couple HTTP requests
to pastebin.com came into view:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;GET /raw.php?i=V5BvcN64 HTTP/1.1
Host: pastebin.com
...
GET /raw.php?i=dpAtnvCB HTTP/1.1
Host: pastebin.com
...
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;So, now I had two pastebin ids, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;V5BvcN64&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;dpAtnvCB&lt;/code&gt;, but I needed the
keys to proceed. Again, I didn’t find a thing from the executable files and had
to check the .vmem file:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ strings Windows\ XP\ Professional-f67cc587.vmem | grep V5BvcN64 | sort -u
GET /raw.php?i=V5BvcN64 HTTP/1.1
:sp4nky!~sp4nky@41.227.151.248 PRIVMSG [DDS]ahmed :this one V5BvcN64:LtqK_tRU7YlF
this one V5BvcN64:LtqK_tRU7YlF
        this one V5BvcN64:LtqK_tRU7YlF
this one V5BvcN64:LtqK_tRU7YlF
V5BvcN64:LtqK_tRU7YlF
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The string &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;V5BvcN64:LtqK_tRU7YlF&lt;/code&gt; matches &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;decryptpastebin.py&lt;/code&gt;’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;KEY:ID&lt;/code&gt;
format so let’s try that:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ python2 decryptpastebin.py
Welcome to pastebin decryptor v0.1beta
======================================
ID:KEY= V5BvcN64:LtqK_tRU7YlF
+====================================&amp;gt;
The flag is: d99cbe01e4b0c0da0e4711e7c0114e79
+====================================&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;And there’s the flag.&lt;/p&gt;</content><author><name>Higor Eurípedes</name></author><summary type="html">enygmata/fmul: Alright guys, first-off I want to say that this text does not really show everything I did to beat this challenge. It took me about four hours to figure everything out and I don’t remember most of the things i tried.</summary></entry><entry><title type="html">Cuidado com o cabeçalho Host do HTTP</title><link href="http://heuripedes.github.io/2013/10/27/cuidado-com-o-cabecalho-host-do-http.html" rel="alternate" type="text/html" title="Cuidado com o cabeçalho Host do HTTP" /><published>2013-10-27T00:00:00+00:00</published><updated>2013-10-27T00:00:00+00:00</updated><id>http://heuripedes.github.io/2013/10/27/cuidado-com-o-cabecalho-host-do-http</id><content type="html" xml:base="http://heuripedes.github.io/2013/10/27/cuidado-com-o-cabecalho-host-do-http.html">&lt;p&gt;A especificação da versão 1.1 do protocolo HTTP descreve um cabeçalho chamado
Host, este cabeçalho contém o nome de host do site que o usuário deseja
acessar. O cabeçalho serve para que o servidor web possa identificar qual
recurso o usuário está requisitando quando o servidor atende múltiplos
nomes de host (sites).&lt;/p&gt;

&lt;p&gt;Apesar de exigir a presença do cabeçalho, a RFC do protocolo, no &lt;a href=&quot;http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.2&quot; title=&quot;RFC 2616 - 5.2 - The Resource Identified by a Request&quot;&gt;item 5.2&lt;/a&gt;,
autoriza que o mesmo seja ignorado caso o cliente HTTP faça a requisição
utilizando uma &lt;a href=&quot;http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html#sec5.1.2&quot; title=&quot;RFC 2616 - 5.1.2 - Request-URI&quot;&gt;URI absoluta&lt;/a&gt;. Abaixo você pode ver um exemplo de requisição
com URI relativa e outro com URI absoluta, respectivamente:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;GET /index.php HTTP/1.1
Host: exemplo.com.br


GET http://exemplo.com.br/index.php HTTP/1.1
Host: exemplo.com.br
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Ignorar o valor Host não representa um problema de segurança, exceto quando o
programador assume que ele sempre representa o servidor atual. Infelizmente
isso acontece bastante, muitos colocam códigos como o abaixo para diferenciar
entre modo de produção e modo de desenvolvimento em seus programas:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-php5&quot; data-lang=&quot;php5&quot;&gt;&lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;preg_match&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;'/^(localhost|127.0.0.1)(\:\d+)?/'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$_SERVER&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;'HTTP_HOST'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]))&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
	&lt;span class=&quot;nf&quot;&gt;imprime_algo_comprometedor&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;();&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Para explorar a falha de segurança, é necessário que você crie uma requisição
HTTP customizada que envia o host correto pela URI mas enviar &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;localhost&lt;/code&gt; no
cabeçalho &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Host&lt;/code&gt;. Podemos fazer isso usando telnet:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;[higor@whiterice tmp]$ telnet exemplo.com.br 80
Trying 127.0.0.1...
Connected to exemplo.com.br
Escape character is '^]'.
GET http://exemplo.com.br/index.php HTTP/1.1
Host: localhost

HTTP/1.1 200 OK
Date: Sun, 27 Oct 2013 16:11:42 GMT
Server: Apache
Connection: close
Transfer-Encoding: chunked
Content-Type: text/html

MODO DE DESENVOLVIMENTO. A SENHA DE admin É &quot;123tr0c4r!&quot;

Connection closed by foreign host.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;E assim nós descobrimos a senha de &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;admin&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Se você quer evitar este tipo de problema, você deve utilizar o nome do
servidor (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$_SERVER['SERVER_NAME'])&lt;/code&gt; em vez do valor de Host
(&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$_SERVER['HTTP_HOST']&lt;/code&gt;). Porém ainda existe algo fazer se você utiliza o
Apache para servir suas páginas, será necessário dizer ao Apache que você quer
que a variavel de ambiente &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;SERVER_NAME&lt;/code&gt; seja igual ao nome que você deu ao seu
servidor (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ServerName&lt;/code&gt;), pra isso você deve ativar a opção &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;UseCanonicalName&lt;/code&gt;:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-apacheconf&quot; data-lang=&quot;apacheconf&quot;&gt;&amp;lt;VirtualHost *&amp;gt;
	ServerName exemplo.com.br
	UseCanonicalName on
&amp;lt;/VirtualHost&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Se você utiliza PHP e/ou Apache, você pode ler mais sobre a solução e sobre o
problema &lt;a href=&quot;http://stackoverflow.com/a/2297421&quot;&gt;neste resposta do StackOverflow&lt;/a&gt;.&lt;/p&gt;</content><author><name>Higor Eurípedes</name></author><summary type="html">A especificação da versão 1.1 do protocolo HTTP descreve um cabeçalho chamado Host, este cabeçalho contém o nome de host do site que o usuário deseja acessar. O cabeçalho serve para que o servidor web possa identificar qual recurso o usuário está requisitando quando o servidor atende múltiplos nomes de host (sites).</summary></entry></feed>