Archive for November, 2025

    (…)

    En la máquina se originan uniones continuadas den forma de cadena; la máquina no puede llevar a cabo transiciones repentinas, por saltos, es decir que no puede modificar los principios originales.

    En cambio, el pensamiento humano realiza sus descubrimientos más significativos sobre la base de la fantasía creadora, la cual representa una ruptura de la continuidad en el proceso del conocimiento.

    Si consideramos, por ejemplo, la situación de la física hacia fines del siglo XIX, podremos decir que la máquina podría haber calculado, con una exactitud de un millonésimo, los datos de la irradiación y de la absorción del llamado corpúsculo negro, pero no habría llegado al importante descubrimiento de Max Planck sobre la discontinuidad del intercambio energético. En el mejor de los casos, la máquina puede comparar, sobre un mismo plano y sobre la base del método de “prueba y error”, las posibilidades, pero el mundo real y las informaciones sobre el mismo son polifacéticos y amplios, y no pueden ser reducidos a un plano. El traslado casual de la máquina a otro plano, a una clase de sucesos no contemplados en el programa, significa una catástrofe, una “psicosis” de la máquina, una “conspiración de las mónadas”, como lo expresara Norbert Wiener, basándose en Leibniz. En el hombre, en cambio, las asociaciones por saltos despiertan ideas inconscientes, que siempre se hallan presentes, en un plano posterior, en el cerebro. Para el hombre, tales saltos son necesarios para pasar de una teoría a otra.

    (…)

    En todo caso, todas las investifaciones sobre este problema de la relación entre el hombre y la máquina, deberán partir, en el futuro previsible, del hecho -determinate de toda la evolución posterior de la máquina- que los autómatas han surgido de la actividad espiritual del hombre.

    (…)

    La construcción de autómatas que se reproducen a sí mismos tuvo como consecuencia un progreso fundamental en el desarrollo de las máquinas cibernéticas: éstas logran la capacidad de una cierta autoevolución. Pero aún esta evolución independiente de los autómatas será muy relativa, puesto que la misma tendrá lugar sobre la base del “impulso inicial” dado al sistema autoreproductor por el hombre, el cual da un programa inicial al autómata. Por esta razón, todas las ideas de una “sociedad de máquinas” independiente, la cual incluso podríoa llegar a rebelarse contra el hombre, son utopías reaccionarias y carentes de fundamento. El reino de las máquinas, aún de las autoreproductoras, no puede llegar a ser independiente, autónomo, cerrado en sí mismo, respecto del hombre, en cuanto “primer motor” de las máquinas cibernéticas. En los primeros “autómatas” ajedrecistas se habían escondido hombres, para engañar a los espectadores. Actualmente se “esconde” al hombre, abiertamente, en la máquina cibernética, pero no su cuerpo sino sus informaciones y su despliegue de trabajo, gracias al cual se insufla vida en el metal muerto de las máquinas.

    Las máquinas no poseen -al igual que el satélite de la tierra, la luna- una fuente de luz propia, sino que resplandecen por la luz reflejada del espíritu humano.

    (…)

    El autómata es sólo un eslabón en la cadena cerrada “hombre-naturaleza”. Este eslabón puede hacerse cada vez más complicado y más largo, pero nunca se convertirá en la cadena íntegra. En el cosmos, el autómata no puede ocupar otro lugar que el situado entre el hombre y la naturaleza. La esfera de los autómatas puede ser más amplia, pero nunca podrá llegar a ser otra cosa que una esfera intermedia, y no puede absorber al hombre ni a la naturaleza. La naturaleza se hallará siempre por debajo y el hombre siempre por encima del autómata.

    La relación entre el hombre y la máquina posee carácter histórico y depende de las relaciones sociales.

    En la sociedad antagónica, en la cual todos los vínculos naturales han sido desfigurados, puestos cabeza abajo, los órganos artificiales del hombre, los instrumentos de producción, subyugan al trabajador. Incluso la transmisión de funciones del trabajador a las máquinas lleva en sí un carácter antagónico, llegando hasta el completo desplazamiento del trabajador de la producción, hasta la desocupación.

    En la sociedad que reposa sobre la propiedad privada, no puede haber una relación razonable entre el hombre y la máquina: mientras el hombre trabaja es esclavo de la máquina, se convierte en su apéndice, y cuando no tiene trabajo es aislado por la máquina.

    En la época actual, la máquina, que es un arma de los capitalistas en su lucha contra los trabajadores, se convierte en una herramienta contra el sojuzgamiento cada vez mayor de los creadores espirituales. No es casual que Norbert Wiener plantee una sombría perspectiva y diga que a un hombre de capacidad media pronto no se le ofrecerá nada, en la sociedad capitalista, con lo cual pudiera ganar dinero. En la sociedad burguesa, la inteligencia activa se encuentra entre la Escila del sojuzgamiento por medio de la máquina, de la transformación en un apéndice del sistema cibernético, y la Caribdis del desplazamiento por la máquina.

    La contradicción entre trabajo intelecual y trabajo manual adopta, en la sociedad capitalista actual, un carácter particularmente distorsionado: el trabajo intelectual -al igual que el manual- se deprime al nivel de una subordinación a la máquina. La salida radica en que, en la sociedad burguesa, el intelectual no se refugie en una fantástica “torre de marfil”, sino que se dirija hacia los verdaderos trabajadores. Cuando más estrechamente se una la inteligencia con la clase trabajadora y su partido, tanto más rápidamente será relevada la sociedad del insensible pago al contado.

    En una organización planificada de la sociedad que se funda en la propiedad colectiva, la transmisión de un número cada vez mayor de tareas de la producción del hombre a la máquina, no conduce a contradicciones antagónicas entre ambos. Por el contrario, una liberación tal del hombre, de numerosas operaciones de la producción, es la condición inexcusable para una correlación razonable entre el hombre y la máquina, en la cual se da “a la máquina, lo que es de la máquina” y “al hombre, lo que es del hombre”. Cuanto más se transfieran a las máquinas las tareas de la producción, tanto más flocererá, de acuerdo a una frase de Marx, “lo humano en el hombre”. Esto se alcanza con la ayuda de la automatización, la cuál representa la línea general de la evolución de las fuerzas productivas en el camino hacia el comunismo para prolongar el medio principal, el “tiempo libre” de los obreros. Pero este “tiempo libre” no es, en ningún caso, un tiempo no utilizado, vacío, socialmente insignificante. El “tiempo libre” es un resultado y al mismo tiempo una condición inexcusable del aselanto social. Para mantener las posiciones claves en el proceso de dirección, el hombre debe perfeccionarse para poder aventajar, en todo momento, la evolución de las máquinas. Para este perfeccionamiento tampoco puede renunciar al “tiempo libre”. Pero si el hombre lo emplea jugando al dominó, no acelerará el adelanto social. De acuerdo a nuestro punto de vista, resulta adecuado decir que la “productividad del empleo del tiempo libre” es una condición escencial para la elevación de la productividad en el trabajo.

    (…)

I. B. Novik, Acerca de algunos problemas metodológicos de la cibernética.
Publicado en Cibernética: ciencia y práctica, editorial Lautaro, 1964.

    Some months ago I started some ffmpeg experiments I would like to slowly note here in my blog.

    It’s not the first time I’ve tinkering with ffmpeg. But this time I was trying to fix a problem I like call “the VOD bias”. So allow me to start from there.

    There are lots of multimedia FLOSS out there, from libraries to complete tools suites, being ffmpeg by far -and by merit- the most recognized of them all. However, it’s pretty common that all those tools and libraries are often designed with files use cases in mind. Which is about common sense, and it usually works great for most people. But since I work in the Live Streaming field, that means trouble, and it actually bites me quite often.

    In Live Streaming, your challenge is to generate a constant, non-interrupted multimedia stream: the output of your work must have no gaps, no stops, no discontinuities. There are many reasons for that, only visible when you’re already working in this field -like a usual absolute disregard of responsability from players when anything happens with the stream, too sensible hardware, too anxious multimedia consumers, synthetic metrics that exaggerate any glitch consequences and turn it into a business problem, the draconic 24/7/365 uptime regime, etc-. But very, very rarely such reasons are part of the rationale behind multimedia software. And there are of course many examples, but a paradigmatic one is the ffmpeg behaviour when its job it to produce a stream -NOT a file-.

    You see, ffmpeg is able to create mostly anything multimedia related. You can, for example, feed ffmpeg with an input multimedia stream, and do stuff with it. You can also convert an input file into an output stream -looped or not-, and you can even create a stream from several multimedia sources ffmpeg allows you to use -like hardware inputs, or “source filters” that creates media on-the-fly-. It calls itself quite acuratelly “media converter”. But surprisingly for the people who doesn’t work in live streaming, ffmpeg always works with a file rationale -not “streams”-, even when it allows you to do so many things with streams.

    The consequences of this are quite a few. For example, if you tell ffmpeg to create an output stream with x and y characteristics, let’s say using another stream as input, and you set parameters like “constant bitrate”, “constant framerate”, “x frames per seconds”, etc, it will gladly do all of that with excellent performance and allowing you to do lots and lots of stuff with your multimedia pipeline… while the input stream is coming. If your input streams has a gap, or whoever is transmiting that stream to your ffmpeg instance loses his/her network connection, or there’s some glitch somewhere in the network and your input pays the price, then ffmpeg will do no output: sometimes will just write garbage -input in, input out-, but often will just not write anything at all. It usually also just stops working, notifying you about some error. But it will not honor all those parameters stated before like “constant framerate” or “x frames per second”: it will only honor it while there’s constant input to work with. It DOES have the ability to forge video and audio frames, and COULD do it in such cases to honor those asked output regime parameters, but it will never do it. And that’s actually by design.

    If you think about it, it’s of course -again- common sense: “Media converter”, remember? Not “stream generator”, not “live streamer”, even when it can be used for those tasks. “why would I output something if I have no input?”. But even when common sense may win you lots of battles, it’s actually always contextual, and in the context of Live Streaming the output regime is at least as important as the input one.

    This is not a writting against ffmpeg, of course. We’re all blessed by projects like that. I’m using ffmpeg as a representation of a bigger problem: most multimedia tools are designed with similar rationales. Their canonical inputs and outputs are files, “streaming” today also means “a video available online, in a format you can consume it with any web player in any device” -think about podcasts or youtube videos-, and the common name such thing has today is “Video On Demand” or “VOD”. Live Streaming has different problems than VOD, and most FLOSS multimedia tools are biased towards VOD use cases. That’s my point, and my experience. The consequence is that professional Live Streaming tools become all privative, very expensive, and usually even done as hardware appliances instead of software.

   So, with that in mind, a few months ago I actually made some experiments trying to modify ffmpeg so it can solve more Live Streaming use cases. And in particular, I started with the continuity problem: I wanted that my ffmpeg output stream kept working even when its input stream could have gaps or disconnections.

   So I tried some hacks here and there, but ffmpeg code is actually quite complex -because multimedia inner workings often are, and ffmpeg is so powerful that it also comes with a complexity price-, so I had to lower my expectations: since I was already familiar with filters creation, I made another filter called “clockfiller”, intended to fill the output with cloned frames while there’s no input video. This is what I would expect from the “fps” filter -and, I believe, what it actually does in some cases-, but sadly the VOD bias makes it stop while there’s no input. So my filter would have it’s own clock, and with its clock ticks would be able to detect “input down” situation, so it could start filling the output with copies of the last frame at a regular pace. The consequence would be: when the input is down, the output is a video with a static image, and that continues that way until the input comes back.

    So my first step was to create an unstable input. I did it with a simple oneliner bash loop and ffmpeg itself:


while true ; do \
timeout 16 ffmpeg -hide_banner -y \
-f lavfi -re -i 'testsrc=s=640x360:r=30,format=yuv420p,fps=fps=30' \
-f lavfi -re -i "anullsrc" \
-c:v h264 -g 10 -strict_gop 1 -b:v 8M -r:v 30 \
-c:a aac -ar 48k -ac 2 -b:a 64k -t 15 -f mpegts \
'udp://127.0.0.1:12345?overrun_nonfatal=1&fifo_size=1000000000&buffer_size=1000000000' ; \
echo "[$(date)] - sleeping 15 secs" ; \
sleep 15 ; \
echo "[$(date)] - running again"; \
done

    Then I recorded that input also with ffmpeg -as a reference of the problem I want to solve-, like this:


ffmpeg -hide_banner -y -re -i \
'udp://127.0.0.1:12345?overrun_nonfatal=1&fifo_size=10M&buffer_size=10M&listen=1' \
-map 0 -c:v h264 -preset slow -pix_fmt yuv420p -t 30 test_no_clockfiller_360.mp4

    Here’s the video:

    Note how the number immediately jumps back to zero after 14. The bash loop waits for 15 seconds, but during that time ffmpeg was not generating any output. That was part of the problems I described before while talking about the VOD bias.

    So then I tested my “clockfiller” filter -in a custom built ffmpeg-, like this:


./ffmpeg -hide_banner -y -re -i \
'udp://127.0.0.1:12345?overrun_nonfatal=1&fifo_size=10M&buffer_size=10M&listen=1' \
-map 0:v -vf "format=yuv420p,clockfiller" \
-c:v h264 -preset slow -pix_fmt yuv420p -t 30 \
test_clockfiller_360.mp4

    And here’s the video:

    This time, while the input is stopped, there’s still output frames. That’s exactly the proof of concept of what I wanted to achieve.

    However, it’s not an entire success. I was very happy with the recorded result. But then tested it live -instead of saving to a file and then play that later- and could see that ffmpeg doesn’t output anything while the input is down: my filter just buffers frames until ffmpeg decides to start outputting them again. This has to do with the ffmpeg inner workings and its pipeline of tasks and events, which a filter submits to and can’t escape from.

    So my next target will be to just not use ffmpeg, but its inner libraries in a different, custom program that does what I need. This was a cool experiment with some degree of success, and wanted to share it in case someone may be working in similar stuff.

    Siempre se ha intentado inventar máquinas. Pero la cibernética es una reflexión sobre la invención de las máquinas. Ella introduce en éstas el cálculo y la razón, confiando plenamente en el poder de acopio y de memoria del trabajo razonable. Puesto que no se trata más que de aplicaciones prácticas (encontrar la mejor máquina en vistas a un objetivo dado y con la ayuda de medios bien definidos), el razonamiento debería, a la larga, sobrepasar la habilidad, la inspiración y los rasgos del genio.

    Pero esta reflexión es extrema y sin otros límites que los -eventuales- del universo. La cibernética representa el último eslabón conocido de la organización de la acción, después del período de los magos y del de los técnicos.

    Los objetivos del mago eran grandiosos: producir oro, correr a la velocidad del pensamiento, obtener a voluntad la lluvia o la inmortalidad. Pero el mago ignoraba la buena disposición de los medios. No sabía utilizar los que tenía a su alrededor y se limitaba a los encantamientos y a los pasos mágicos ineficaces.

    El técnico, por el contrario, se las ha ingeniado para organizar los medios inmediatamente movilizables. De esta manera ha logrado cierto número de objetivos. A esta técnica que no apunta a lo imposible, pero que alcanza los objetivos que se ha propuesto, se le une una especie de modestia: la creencia en la excelencia de las organizaciones naturales y en el peligro de las empresas demasiado ambiciosas y demasiado alejadas del género de vida que hemos sostenido siempre.

    Por fín, el cibernético ha unido a una técnica extremadamente ambiciosa a los objetivos casi ilimitados del mago: cambiar un hombre en una mujer, llegar a la luna, arrancar el secreto de la materia… y muchos otros.

    El cibernético queda encerrado dentro de la técnica. Como el sofista, se limita a ofrecer a los hombres la realización de sus deseos por inverosímiles que sean. Nunca se refiere (en apariencia) a la moral y jamás escoge los objetivos. A él únicamente le interesan los medios. El ingeniero a quien se le pide que realice un objetivo propuesto debe poder responder: es factible; y ofrecer los medios. El ingeniero que, antes de conocer el objetivo propuesto, contesta: probablemente es factible, seguramente será un cibernético que no sólo posee los conocimientos sino también el estado de espíritu cibernético*. Podemos aquí adoptar como divisa de la cibernética la expresión: probablemente es factible.

    (…)

    Al igual que ocurre con ciertas personas de ironía mordaz, que, sin embargo, no nos decidimos a abandonar porque sus pensamientos nos seducen, la cibernética proporciona al mismo tiempo al espíritu un estimulante y una ducha fría que tiene efectos saludables.

    Siempre que sintamos deseos de gritar que lo que vemos es un milagro, de adorar al hombre y de maravillarnos ante las huellas de sus pasos, es conveniente pensar tal situación en el lenguaje de las máquinas. Muchas veces se revelará algún detalle mecanizable, no permitiendo admirar más que lo que realmente era digno de admiración.

    El acceso a esta forma de pensar exige una ascesis en dos tiempos, muy difícil, muy nueva, a la cual estamos tan poco habituados que uno siente la tentación de repetir las palabras de Don Quijote: “Ponte en oración en el espacio que yo voy a entrar… en fiera y desigual batalla”.

    El primer tiempo consistiría en aceptar el empobrecimiento y la materialización del cuerpo humano, que cada vez nos aparece más como una máquina. El ojo, el oído y la mano han dejado de ser milagrosos. Todo lo más siguen siendo maravillosos (y la maravilla puede tal vez ser más interesante que el milagro). Hay que prever que otras partes de lo que nosotros creíamos ser lo humano se separarán y caerán en el campo de la materia. La vida se retira sobre un pontón cada vez más estrecho, en el cual lucha el humanista con el agua hasta las rodillas.

    Siguiendo la evolución del término humanismo, nos damos cuenta de que actualmente estamos en oposición con los hombres del Renacimiento. Estos acababan de abandonar la gran meditación mística de la Edad Media para ceñirse en una observación más precisa del hombre y de lo que le rodea. Por el contrario, actualmente estamos intentando ampliar nuestra visión del hombre. El humanismo del Renacimiento se abstenía voluntariamente de ciertos aspectos de un inmenso espiritualismo. El humanismo actual quisiera magnificar lo poco que nuestra época acepta tomar en consideración. Pero en esta empresa de salvamento del hombre, en la cual participan los sabios en sus horas libres, los enamorados de lo humano se sitúan muchas veces en una postura peligrosa y no escogen con acierto las armas que deben emplear. ¿Quién fue el que dijo: “Jamás habrá máquinas de traducir”? Pues fue N. Wiener, el fundador de la cibernética (en una carta a Waren Weaver). Como muchos otros sabios, N. Wiener era entonces un humanista imprudente. Lloramos cada vez que debemos ceder una parte del hombre y que nos vemos obligados a reemplazar esa mano humana tan querida por Valéry por algún aparato más perfecto que ella. La afirmación más desacertada y peligrosa, aquella que deberíamos tener más en la frase: “Jamás existirá la máquina de hacer tal o tal otra cosa”. Basta haberlo dicho para que seis meses más tarde alguien invente dicha máquina.

    Es preferible conceder a los mecanicistas lo que es visiblemente mecánico y más todavía, y tomar por este lado todas las precauciones posibles. Esa purificación del hombre (en el sentido químico de la palabra purificación) es necesaria, si queremos creer en el hombre. Creer en el radio consistió para los Curie en quitar primero las toneladas de impurezas que envolvían en la pechblenda algunos miligramos de radio.

    Es necesario lanzar al agua de nosotros mismos esa ganga maquinal del hombre que parece animarse y engaña la buena voluntad. Cuando lo que nosotros queremos salvar deja oir un ruido de engranajes, es probable que no hayamos “sacado del fondo de las aguas” más que una máquina. Como el delfín de La Fontaine, deberíamos volver a echarlo al agua y buscar “algún hombre, a fin de salvarle”.

    (…)

    Pero la materia que procede de los alimentos ha pasado al campo de la vida y lucha junto a ella contra el resto de la materia. Trátese de órganos vivientes o de artículos manufacturados, la materia que les constituye se aparta del curso de la entropía para seguir nuestro camino. Una nueva ternura tal vez nos empujará de nuevo hacia ese cuerpo y hacia nuestros otros útiles materiales (que hemos dejado de amar desde los tiempos de la Roma primitiva). Igual que, después de un día de viaje y de colaboración -si no espiritual, por lo menos corporal, en la acepción más intensa de esta palabra, en el sentido de una presencia, de algo que no es el vacío, que se sostiene y en lo que puede uno tener confianza-, nosotros acariciamos con la mano el coche, o al modo que besamos con la mirada el banco y los árboles de una plaza, amaremos esta materia que no es del todo material. Además, toda materia, incluso no elaborada, extraña y ciega, no es perjudicial ni mala, sino solamente determinada y ciega.

 

 

* Espíritu cibernético: situación espiritual o actitud mental que considera la posibilidad de los medios ante el fin que se propone. Dicha posibilidad, en virtud de tal espíritu, se convierte en probabilidad efectiva de que los medios existan y sean, al mismo tiempo, los adecuados a la realización del objetivo. También podríamos entender, por nuestra cuenta, dicho espíritu como el sentido de la autorregulación o, quizás, en otra forma, de la regulación adecuada.

Aurel David, La cibernética y lo humano, 1966.