<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://tutorials.kirner.or.at/tutorials/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Martin+Kirner</id>
	<title>Tutorials - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://tutorials.kirner.or.at/tutorials/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Martin+Kirner"/>
	<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php/Spezial:Beitr%C3%A4ge/Martin_Kirner"/>
	<updated>2026-06-05T23:46:32Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=MariaDB_Replikation_(Ubuntu)&amp;diff=11849</id>
		<title>MariaDB Replikation (Ubuntu)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=MariaDB_Replikation_(Ubuntu)&amp;diff=11849"/>
		<updated>2026-05-31T07:00:41Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Datenbanken importieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Server A (10.0.0.157) - Teil 1 ==&lt;br /&gt;
&lt;br /&gt;
Die Datei ''/etc/mysql/mariadb.conf.d/50-server.cnf'' editieren&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und folgende Zeilen hinzufügen/anpassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bind-address=10.0.0.157&lt;br /&gt;
&lt;br /&gt;
server-id              = 1&lt;br /&gt;
# if 'log-basename' is set, logfile would be '/var/log/mysql/&amp;lt;log-basename&amp;gt;-bin.log'&lt;br /&gt;
log_bin                = /var/log/mysql/mysql-bin.log&lt;br /&gt;
expire_logs_days       = 10&lt;br /&gt;
binlog_do_db           = powerdns&lt;br /&gt;
binlog_do_db           = ddns&lt;br /&gt;
replicate-do-db        = powerdns&lt;br /&gt;
replicate-do-db        = ddns&lt;br /&gt;
# Basename for all log files and the .pid file. This sets all log file names &lt;br /&gt;
# at once (in 'datadir') and is normally the only option you need for specifying &lt;br /&gt;
# log files. This is especially recommended to be set if you are using &lt;br /&gt;
# replication as it ensures that your log file names are not dependent on your &lt;br /&gt;
# host name. &lt;br /&gt;
log-basename           = master1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;binlog_do_db&amp;lt;/code&amp;gt; kennzeichnen die Datenbanken, für die der Server Logs schreiben soll. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;replicate-do-db&amp;lt;/code&amp;gt; im Gegezug kennzeichnet die Datenbanken, für die dieser Server als Klient die Änderungen vom Master abfragen soll. &lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt;log-basename&amp;lt;/code&amp;gt; wird der Basisname der Log-Dateien festgelegt - siehe dazu auch [[MariaDB Replikation (Ubuntu)#Log-Files|Log-Files]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Danach den Server neu starten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl restart mariadb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für die Replikation ist weiters ein Benutzer (in unserem Fall ''master'') notwendig, der auf alle Datenbanken ''REPLICATION'' Zugriff hat:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CREATE USER 'master'@'%' IDENTIFIED BY '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT REPLICATION SLAVE ON *.* TO 'master'@'%';&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für die Konfiguration des Slaves, brauchen wir die aktuelle Binärdatei und die Position des Masters. Diese Information bekommen wir über folgenden SQL-Befehl:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHOW MASTER STATUS;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Ausgabe sollte dann wie folgt aussehen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+------------------+----------+---------------+------------------+&lt;br /&gt;
| File             | Position | Binlog_Do_DB  | Binlog_Ignore_DB |&lt;br /&gt;
+------------------+----------+---------------+------------------+&lt;br /&gt;
| mysql-bin.000001 |      774 | powerdns,ddns |                  |&lt;br /&gt;
+------------------+----------+---------------+------------------+&lt;br /&gt;
1 row in set (0.000 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server B (10.0.0.167) ==&lt;br /&gt;
&lt;br /&gt;
Die Datei ''/etc/mysql/mariadb.conf.d/50-server.cnf'' editieren&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und ähnlich wie bei ''Server A'' folgende Zeilen hinzufügen/anpassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bind-address=10.0.0.167&lt;br /&gt;
&lt;br /&gt;
server-id              = 2&lt;br /&gt;
# if 'log-basename' is set, logfile would be '/var/log/mysql/&amp;lt;log-basename&amp;gt;-bin.log'&lt;br /&gt;
log_bin                = /var/log/mysql/mysql-bin.log&lt;br /&gt;
expire_logs_days       = 10&lt;br /&gt;
binlog_do_db           = powerdns&lt;br /&gt;
binlog_do_db           = ddns&lt;br /&gt;
replicate-do-db        = powerdns&lt;br /&gt;
replicate-do-db        = ddns&lt;br /&gt;
# Basename for all log files and the .pid file. This sets all log file names &lt;br /&gt;
# at once (in 'datadir') and is normally the only option you need for specifying &lt;br /&gt;
# log files. This is especially recommended to be set if you are using &lt;br /&gt;
# replication as it ensures that your log file names are not dependent on your &lt;br /&gt;
# host name. &lt;br /&gt;
log-basename           = master2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach den Server wieder neu starten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl restart mariadb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie bei ''Server A'' wird hier ebenfalls ein Datenbank-Benutzer benötigt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql -u root -p&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CREATE USER 'master'@'%' IDENTIFIED BY '&amp;lt;password&amp;gt;';&lt;br /&gt;
GRANT REPLICATION SLAVE ON *.* TO 'master'@'%';&lt;br /&gt;
FLUSH PRIVILEGES;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Als nächstes den Slave stoppen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
STOP SLAVE;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Folgender Befehl muss, mit den vorhin unter ''SHOW MASTER STATUS'' angezeigten Daten, ausgeführt werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CHANGE MASTER TO MASTER_HOST = '10.0.0.157', MASTER_USER = 'master', MASTER_PASSWORD = '&amp;lt;password&amp;gt;', MASTER_LOG_FILE = 'mysql-bin.000001', MASTER_LOG_POS = 774;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zum Abschluss den Slave wieder starten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
START SLAVE;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für eine Master-zu-Master-Replikation muss auf diesem auch wieder der Master-Status abgefragt werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHOW MASTER STATUS;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die ausgegebenen Werte müssen wieder in ''Server A'' eingetragen werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+------------------+----------+---------------+------------------+&lt;br /&gt;
| File             | Position | Binlog_Do_DB  | Binlog_Ignore_DB |&lt;br /&gt;
+------------------+----------+---------------+------------------+&lt;br /&gt;
| mysql-bin.000001 |      774 | powerdns,ddns |                  |&lt;br /&gt;
+------------------+----------+---------------+------------------+&lt;br /&gt;
1 row in set (0.000 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server A (10.0.0.157) - Teil 2 ==&lt;br /&gt;
&lt;br /&gt;
Zum Abschluss müssen noch der Status von ''Server B'' in ''Server A'' eingetragen werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql -u root -p&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Slave wieder stoppen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
STOP SLAVE;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Status eintragen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CHANGE MASTER TO MASTER_HOST = '10.0.0.167', MASTER_USER = 'master', MASTER_PASSWORD = '&amp;lt;password&amp;gt;', MASTER_LOG_FILE = 'mysql-bin.000001', MASTER_LOG_POS = 774;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Slave wieder starten:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
START SLAVE;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Anschluss sollte die Änderungen auf jeweils den anderen Server repliziert werden.&lt;br /&gt;
&lt;br /&gt;
== Client Status ==&lt;br /&gt;
&lt;br /&gt;
Um den aktuellen Client-Status bzw. eventuelle Fehler anzuzeigen, folgenden Befehl ausführen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHOW SLAVE STATUS\G&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Ausgabe sollte in etwa so aussehen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*************************** 1. row ***************************&lt;br /&gt;
                Slave_IO_State: Waiting for master to send event&lt;br /&gt;
                   Master_Host: 10.0.0.167&lt;br /&gt;
                   Master_User: master&lt;br /&gt;
                   Master_Port: 3306&lt;br /&gt;
                 Connect_Retry: 60&lt;br /&gt;
               Master_Log_File: mysql-bin.000006&lt;br /&gt;
           Read_Master_Log_Pos: 987&lt;br /&gt;
                Relay_Log_File: master1-relay-bin.000007&lt;br /&gt;
                 Relay_Log_Pos: 1286&lt;br /&gt;
         Relay_Master_Log_File: mysql-bin.000006&lt;br /&gt;
              Slave_IO_Running: Yes&lt;br /&gt;
             Slave_SQL_Running: Yes&lt;br /&gt;
               Replicate_Do_DB: powerdns,ddns&lt;br /&gt;
           Replicate_Ignore_DB: &lt;br /&gt;
            Replicate_Do_Table: &lt;br /&gt;
        Replicate_Ignore_Table: &lt;br /&gt;
       Replicate_Wild_Do_Table: &lt;br /&gt;
   Replicate_Wild_Ignore_Table: &lt;br /&gt;
                    Last_Errno: 0&lt;br /&gt;
                    Last_Error: &lt;br /&gt;
                  Skip_Counter: 0&lt;br /&gt;
           Exec_Master_Log_Pos: 987&lt;br /&gt;
               Relay_Log_Space: 1896&lt;br /&gt;
               Until_Condition: None&lt;br /&gt;
                Until_Log_File: &lt;br /&gt;
                 Until_Log_Pos: 0&lt;br /&gt;
            Master_SSL_Allowed: No&lt;br /&gt;
            Master_SSL_CA_File: &lt;br /&gt;
            Master_SSL_CA_Path: &lt;br /&gt;
               Master_SSL_Cert: &lt;br /&gt;
             Master_SSL_Cipher: &lt;br /&gt;
                Master_SSL_Key: &lt;br /&gt;
         Seconds_Behind_Master: 0&lt;br /&gt;
 Master_SSL_Verify_Server_Cert: No&lt;br /&gt;
                 Last_IO_Errno: 0&lt;br /&gt;
                 Last_IO_Error: &lt;br /&gt;
                Last_SQL_Errno: 0&lt;br /&gt;
                Last_SQL_Error: &lt;br /&gt;
   Replicate_Ignore_Server_Ids: &lt;br /&gt;
              Master_Server_Id: 2&lt;br /&gt;
                Master_SSL_Crl: &lt;br /&gt;
            Master_SSL_Crlpath: &lt;br /&gt;
                    Using_Gtid: No&lt;br /&gt;
                   Gtid_IO_Pos: &lt;br /&gt;
       Replicate_Do_Domain_Ids: &lt;br /&gt;
   Replicate_Ignore_Domain_Ids: &lt;br /&gt;
                 Parallel_Mode: conservative&lt;br /&gt;
                     SQL_Delay: 0&lt;br /&gt;
           SQL_Remaining_Delay: NULL&lt;br /&gt;
       Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it&lt;br /&gt;
              Slave_DDL_Groups: 0&lt;br /&gt;
Slave_Non_Transactional_Groups: 0&lt;br /&gt;
    Slave_Transactional_Groups: 3&lt;br /&gt;
1 row in set (0.001 sec)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Log-Files ==&lt;br /&gt;
&lt;br /&gt;
Wenn die Konfiguration &amp;lt;code&amp;gt;log-basename&amp;lt;/code&amp;gt; gesetzt ist, dann werden die Log-Dateien direkt im Datenverzeichnis abgelegt. Wo sich das Datenverzeichnis befindet, findet man über folgenden SQL-Befehl heraus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHOW VARIABLES LIKE '%datadir%';&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das sollte dann in etwa folgendes Ergebnis zurückgeben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+---------------------------------------------+------------------------+&lt;br /&gt;
| Variable_name                               | Value                  |&lt;br /&gt;
+---------------------------------------------+------------------------+&lt;br /&gt;
| datadir                                     | /var/lib/mysql/        |&lt;br /&gt;
+---------------------------------------------+------------------------+&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Synchronen Status wiederherstellen ==&lt;br /&gt;
&lt;br /&gt;
=== Server B - Teil 1 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Server A - Teil 1 ===&lt;br /&gt;
&lt;br /&gt;
==== Datenbanken exportieren ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; RESET MASTER;&lt;br /&gt;
mysql&amp;gt; FLUSH TABLES WITH READ LOCK;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysqldump -u root -p ddns &amp;gt; ddns-dump.sql&lt;br /&gt;
mysqldump -u root -p powerdns &amp;gt; powerdns-dump.sql&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; UNLOCK TABLES;&lt;br /&gt;
mysql&amp;gt; SHOW MASTER STATUS;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Server B - Teil 2 ===&lt;br /&gt;
&lt;br /&gt;
==== Datenbanken importieren ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql -u root -p ddns &amp;lt; ddns-dump.sql&lt;br /&gt;
mysql -u root -p powerdns &amp;lt; powerdns-dump.sql&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Slave neu konifgurieren ====&lt;br /&gt;
&lt;br /&gt;
Daten aus &amp;lt;code&amp;gt;mysql&amp;gt; SHOW MASTER STATUS;&amp;lt;/code&amp;gt; auf Server A verwenden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; RESET SLAVE;&lt;br /&gt;
mysql&amp;gt; CHANGE MASTER TO MASTER_LOG_FILE = 'master1-bin.000001', MASTER_LOG_POS = 330;&lt;br /&gt;
mysql&amp;gt; START SLAVE;&lt;br /&gt;
mysql&amp;gt; SHOW MASTER STATUS;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Server A - Teil 2 ===&lt;br /&gt;
&lt;br /&gt;
==== Slave neu konifgurieren ====&lt;br /&gt;
&lt;br /&gt;
Daten aus &amp;lt;code&amp;gt;mysql&amp;gt; SHOW MASTER STATUS;&amp;lt;/code&amp;gt; auf Server B verwenden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; STOP SLAVE;&lt;br /&gt;
mysql&amp;gt; RESET SLAVE;&lt;br /&gt;
mysql&amp;gt; CHANGE MASTER TO MASTER_LOG_FILE = 'master2-bin.000026', MASTER_LOG_POS = 15048;&lt;br /&gt;
mysql&amp;gt; START SLAVE;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Slave-Status kontrollieren ===&lt;br /&gt;
&lt;br /&gt;
Auf beiden Servern den Status kontrollieren:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; show slave status \G&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
[https://tecadmin.net/reset-re-sync-mysql-master-slave-replication/ https://tecadmin.net/reset-re-sync-mysql-master-slave-replication/]&lt;br /&gt;
&lt;br /&gt;
[https://stackoverflow.com/questions/2366018/how-to-re-sync-the-mysql-db-if-master-and-slave-have-different-database-incase-o https://stackoverflow.com/questions/2366018/how-to-re-sync-the-mysql-db-if-master-and-slave-have-different-database-incase-o]&lt;br /&gt;
&lt;br /&gt;
== Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== Could not initialize master info structure for ''; more error messages can be found in the MariaDB error log ===&lt;br /&gt;
&lt;br /&gt;
Nach Änderung der Konfiguration habe ich obenstehende Fehlermeldung beim Ausführen von &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CHANGE MASTER TO MASTER_HOST = '10.0.0.157', MASTER_USER = 'master', MASTER_PASSWORD = '&amp;lt;password&amp;gt;', MASTER_LOG_FILE = 'mysql-bin.000001', MASTER_LOG_POS = 774;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
bekommen. Nach Ausführen von&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RESET SLAVE;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ist der Fehler nicht mehr aufgetreten.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
[https://mariadb.com/kb/en/setting-up-replication/ https://mariadb.com/kb/en/setting-up-replication/]&lt;br /&gt;
&lt;br /&gt;
[https://forums.mysql.com/read.php?26,171776,205870 https://forums.mysql.com/read.php?26,171776,205870]&lt;br /&gt;
&lt;br /&gt;
[https://mariadb.com/kb/en/standard-replication/ https://mariadb.com/kb/en/standard-replication/]&lt;br /&gt;
&lt;br /&gt;
[https://www.vpsserver.com/community/tutorials/9/setup-a-master-to-master-replication-between-two-mariadb-servers/ https://www.vpsserver.com/community/tutorials/9/setup-a-master-to-master-replication-between-two-mariadb-servers/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[MariaDB (Linux)#Replikation|MariaDB]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Dockingstation&amp;diff=11848</id>
		<title>Dockingstation</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Dockingstation&amp;diff=11848"/>
		<updated>2026-03-29T16:50:35Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Teiber Ubuntu / Debian */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Dell D6000 ==&lt;br /&gt;
&lt;br /&gt;
[https://www.dell.com/support/kbdoc/de-at/000132058/dell-universal-dock-d6000-anleitung-zur-verwendung-und-zum-troubleshooting Herstellerseite]&lt;br /&gt;
&lt;br /&gt;
=== Treiber Windos ===&lt;br /&gt;
&lt;br /&gt;
[https://www.dell.com/support/product-details/de-at/product/dell-universal-dock-d6000/drivers https://www.dell.com/support/product-details/de-at/product/dell-universal-dock-d6000/drivers]&lt;br /&gt;
&lt;br /&gt;
=== Teiber Ubuntu / Debian ===&lt;br /&gt;
&lt;br /&gt;
{{note|Noch in Bearbeitung}}&lt;br /&gt;
&lt;br /&gt;
[https://www.synaptics.com/products/displaylink-graphics/downloads/ubuntu https://www.synaptics.com/products/displaylink-graphics/downloads/ubuntu]&lt;br /&gt;
&lt;br /&gt;
[https://gist.github.com/noahp/723832ab8d06770bf6f159c573a65934 https://gist.github.com/noahp/723832ab8d06770bf6f159c573a65934]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[PC Hardware|PC Hardware]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Dockingstation&amp;diff=11847</id>
		<title>Dockingstation</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Dockingstation&amp;diff=11847"/>
		<updated>2026-03-29T16:43:23Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: Die Seite wurde neu angelegt: „== Dell D6000 ==  [https://www.dell.com/support/kbdoc/de-at/000132058/dell-universal-dock-d6000-anleitung-zur-verwendung-und-zum-troubleshooting Herstellerseite]  === Treiber Windos ===  [https://www.dell.com/support/product-details/de-at/product/dell-universal-dock-d6000/drivers https://www.dell.com/support/product-details/de-at/product/dell-universal-dock-d6000/drivers]  === Teiber Ubuntu / Debian ===   Zurück zu PC Hardware“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Dell D6000 ==&lt;br /&gt;
&lt;br /&gt;
[https://www.dell.com/support/kbdoc/de-at/000132058/dell-universal-dock-d6000-anleitung-zur-verwendung-und-zum-troubleshooting Herstellerseite]&lt;br /&gt;
&lt;br /&gt;
=== Treiber Windos ===&lt;br /&gt;
&lt;br /&gt;
[https://www.dell.com/support/product-details/de-at/product/dell-universal-dock-d6000/drivers https://www.dell.com/support/product-details/de-at/product/dell-universal-dock-d6000/drivers]&lt;br /&gt;
&lt;br /&gt;
=== Teiber Ubuntu / Debian ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[PC Hardware|PC Hardware]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=PC_Hardware&amp;diff=11846</id>
		<title>PC Hardware</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=PC_Hardware&amp;diff=11846"/>
		<updated>2026-03-29T16:40:34Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[4K UHD freundliche Laufwerke]]&lt;br /&gt;
&lt;br /&gt;
[[Akku]]&lt;br /&gt;
&lt;br /&gt;
[[Dockingstation]]&lt;br /&gt;
&lt;br /&gt;
[[Fernsehhardware (PC)|Fernsehhardware]]&lt;br /&gt;
&lt;br /&gt;
[[Media Player]]&lt;br /&gt;
&lt;br /&gt;
[[NAS-Laufwerke]]&lt;br /&gt;
&lt;br /&gt;
[[WiFi Steckdosen]]&lt;br /&gt;
&lt;br /&gt;
[[Yubico - YubiKey 5]] =&amp;gt; Sicherheit / Hardwaretoken&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Hauptseite#Untergruppen|Hauptseite]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=GithHub_Copilot&amp;diff=11845</id>
		<title>GithHub Copilot</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=GithHub_Copilot&amp;diff=11845"/>
		<updated>2026-03-28T13:41:26Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Eclipse Plugin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Skill-Files ==&lt;br /&gt;
&lt;br /&gt;
[https://visualstudiomagazine.com/articles/2026/01/11/hand-on-with-new-github-copilot-agent-skills-in-vs-code.aspx https://visualstudiomagazine.com/articles/2026/01/11/hand-on-with-new-github-copilot-agent-skills-in-vs-code.aspx]&lt;br /&gt;
&lt;br /&gt;
== Instruction-Files ==&lt;br /&gt;
&lt;br /&gt;
[https://devblogs.microsoft.com/dotnet/prompt-files-and-instructions-files-explained/ https://devblogs.microsoft.com/dotnet/prompt-files-and-instructions-files-explained/]&lt;br /&gt;
&lt;br /&gt;
[https://docs.github.com/en/copilot/how-tos/configure-custom-instructions https://docs.github.com/en/copilot/how-tos/configure-custom-instructions]&lt;br /&gt;
&lt;br /&gt;
== Copilot CLI ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
==== Windows ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
winget install GitHub.Copilot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Links =====&lt;br /&gt;
&lt;br /&gt;
[https://docs.github.com/de/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli https://docs.github.com/de/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli]&lt;br /&gt;
&lt;br /&gt;
=== Verwendung ===&lt;br /&gt;
&lt;br /&gt;
==== Starten ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;copilot&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Links =====&lt;br /&gt;
&lt;br /&gt;
[https://docs.github.com/de/copilot/how-tos/copilot-cli/use-copilot-cli-agents/overview https://docs.github.com/de/copilot/how-tos/copilot-cli/use-copilot-cli-agents/overview]&lt;br /&gt;
&lt;br /&gt;
=== Eclipse Plugin ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
C:\Users\Martin\AppData\Local\Temp\mcp-*.sock&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/laeubi/copilot-cli-eclipse-plugin https://github.com/laeubi/copilot-cli-eclipse-plugin]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[KI_(Programmieren)#Assistenten|KI (Programmieren)]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=GithHub_Copilot&amp;diff=11844</id>
		<title>GithHub Copilot</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=GithHub_Copilot&amp;diff=11844"/>
		<updated>2026-03-28T13:40:55Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Copilot CLI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Skill-Files ==&lt;br /&gt;
&lt;br /&gt;
[https://visualstudiomagazine.com/articles/2026/01/11/hand-on-with-new-github-copilot-agent-skills-in-vs-code.aspx https://visualstudiomagazine.com/articles/2026/01/11/hand-on-with-new-github-copilot-agent-skills-in-vs-code.aspx]&lt;br /&gt;
&lt;br /&gt;
== Instruction-Files ==&lt;br /&gt;
&lt;br /&gt;
[https://devblogs.microsoft.com/dotnet/prompt-files-and-instructions-files-explained/ https://devblogs.microsoft.com/dotnet/prompt-files-and-instructions-files-explained/]&lt;br /&gt;
&lt;br /&gt;
[https://docs.github.com/en/copilot/how-tos/configure-custom-instructions https://docs.github.com/en/copilot/how-tos/configure-custom-instructions]&lt;br /&gt;
&lt;br /&gt;
== Copilot CLI ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
==== Windows ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
winget install GitHub.Copilot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Links =====&lt;br /&gt;
&lt;br /&gt;
[https://docs.github.com/de/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli https://docs.github.com/de/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli]&lt;br /&gt;
&lt;br /&gt;
=== Verwendung ===&lt;br /&gt;
&lt;br /&gt;
==== Starten ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;copilot&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Links =====&lt;br /&gt;
&lt;br /&gt;
[https://docs.github.com/de/copilot/how-tos/copilot-cli/use-copilot-cli-agents/overview https://docs.github.com/de/copilot/how-tos/copilot-cli/use-copilot-cli-agents/overview]&lt;br /&gt;
&lt;br /&gt;
=== Eclipse Plugin ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
C:\Users\Martin\AppData\Local\Temp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/laeubi/copilot-cli-eclipse-plugin https://github.com/laeubi/copilot-cli-eclipse-plugin]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[KI_(Programmieren)#Assistenten|KI (Programmieren)]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=GithHub_Copilot&amp;diff=11843</id>
		<title>GithHub Copilot</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=GithHub_Copilot&amp;diff=11843"/>
		<updated>2026-03-28T11:54:07Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Copilot CLI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Skill-Files ==&lt;br /&gt;
&lt;br /&gt;
[https://visualstudiomagazine.com/articles/2026/01/11/hand-on-with-new-github-copilot-agent-skills-in-vs-code.aspx https://visualstudiomagazine.com/articles/2026/01/11/hand-on-with-new-github-copilot-agent-skills-in-vs-code.aspx]&lt;br /&gt;
&lt;br /&gt;
== Instruction-Files ==&lt;br /&gt;
&lt;br /&gt;
[https://devblogs.microsoft.com/dotnet/prompt-files-and-instructions-files-explained/ https://devblogs.microsoft.com/dotnet/prompt-files-and-instructions-files-explained/]&lt;br /&gt;
&lt;br /&gt;
[https://docs.github.com/en/copilot/how-tos/configure-custom-instructions https://docs.github.com/en/copilot/how-tos/configure-custom-instructions]&lt;br /&gt;
&lt;br /&gt;
== Copilot CLI ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
==== Windows ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
winget install GitHub.Copilot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Links =====&lt;br /&gt;
&lt;br /&gt;
[https://docs.github.com/de/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli https://docs.github.com/de/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli]&lt;br /&gt;
&lt;br /&gt;
=== Verwendung ===&lt;br /&gt;
&lt;br /&gt;
==== Starten ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;copilot&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Links =====&lt;br /&gt;
&lt;br /&gt;
[https://docs.github.com/de/copilot/how-tos/copilot-cli/use-copilot-cli-agents/overview https://docs.github.com/de/copilot/how-tos/copilot-cli/use-copilot-cli-agents/overview]&lt;br /&gt;
&lt;br /&gt;
=== Eclipse Plugin ===&lt;br /&gt;
&lt;br /&gt;
[https://github.com/laeubi/copilot-cli-eclipse-plugin https://github.com/laeubi/copilot-cli-eclipse-plugin]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[KI_(Programmieren)#Assistenten|KI (Programmieren)]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=GithHub_Copilot&amp;diff=11842</id>
		<title>GithHub Copilot</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=GithHub_Copilot&amp;diff=11842"/>
		<updated>2026-03-28T06:00:43Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Verwendung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Skill-Files ==&lt;br /&gt;
&lt;br /&gt;
[https://visualstudiomagazine.com/articles/2026/01/11/hand-on-with-new-github-copilot-agent-skills-in-vs-code.aspx https://visualstudiomagazine.com/articles/2026/01/11/hand-on-with-new-github-copilot-agent-skills-in-vs-code.aspx]&lt;br /&gt;
&lt;br /&gt;
== Instruction-Files ==&lt;br /&gt;
&lt;br /&gt;
[https://devblogs.microsoft.com/dotnet/prompt-files-and-instructions-files-explained/ https://devblogs.microsoft.com/dotnet/prompt-files-and-instructions-files-explained/]&lt;br /&gt;
&lt;br /&gt;
[https://docs.github.com/en/copilot/how-tos/configure-custom-instructions https://docs.github.com/en/copilot/how-tos/configure-custom-instructions]&lt;br /&gt;
&lt;br /&gt;
== Copilot CLI ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
==== Windows ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
winget install GitHub.Copilot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Links =====&lt;br /&gt;
&lt;br /&gt;
[https://docs.github.com/de/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli https://docs.github.com/de/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli]&lt;br /&gt;
&lt;br /&gt;
=== Verwendung ===&lt;br /&gt;
&lt;br /&gt;
==== Starten ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;copilot&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Links =====&lt;br /&gt;
&lt;br /&gt;
[https://docs.github.com/de/copilot/how-tos/copilot-cli/use-copilot-cli-agents/overview https://docs.github.com/de/copilot/how-tos/copilot-cli/use-copilot-cli-agents/overview]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[KI_(Programmieren)#Assistenten|KI (Programmieren)]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=GithHub_Copilot&amp;diff=11841</id>
		<title>GithHub Copilot</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=GithHub_Copilot&amp;diff=11841"/>
		<updated>2026-03-28T05:59:58Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Copilot CLI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Skill-Files ==&lt;br /&gt;
&lt;br /&gt;
[https://visualstudiomagazine.com/articles/2026/01/11/hand-on-with-new-github-copilot-agent-skills-in-vs-code.aspx https://visualstudiomagazine.com/articles/2026/01/11/hand-on-with-new-github-copilot-agent-skills-in-vs-code.aspx]&lt;br /&gt;
&lt;br /&gt;
== Instruction-Files ==&lt;br /&gt;
&lt;br /&gt;
[https://devblogs.microsoft.com/dotnet/prompt-files-and-instructions-files-explained/ https://devblogs.microsoft.com/dotnet/prompt-files-and-instructions-files-explained/]&lt;br /&gt;
&lt;br /&gt;
[https://docs.github.com/en/copilot/how-tos/configure-custom-instructions https://docs.github.com/en/copilot/how-tos/configure-custom-instructions]&lt;br /&gt;
&lt;br /&gt;
== Copilot CLI ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
==== Windows ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
winget install GitHub.Copilot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Links =====&lt;br /&gt;
&lt;br /&gt;
[https://docs.github.com/de/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli https://docs.github.com/de/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli]&lt;br /&gt;
&lt;br /&gt;
=== Verwendung ===&lt;br /&gt;
&lt;br /&gt;
Starten: &amp;lt;pre&amp;gt;copilot&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://docs.github.com/de/copilot/how-tos/copilot-cli/use-copilot-cli-agents/overview https://docs.github.com/de/copilot/how-tos/copilot-cli/use-copilot-cli-agents/overview]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[KI_(Programmieren)#Assistenten|KI (Programmieren)]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=GithHub_Copilot&amp;diff=11840</id>
		<title>GithHub Copilot</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=GithHub_Copilot&amp;diff=11840"/>
		<updated>2026-03-28T05:57:56Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Copilot CLI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Skill-Files ==&lt;br /&gt;
&lt;br /&gt;
[https://visualstudiomagazine.com/articles/2026/01/11/hand-on-with-new-github-copilot-agent-skills-in-vs-code.aspx https://visualstudiomagazine.com/articles/2026/01/11/hand-on-with-new-github-copilot-agent-skills-in-vs-code.aspx]&lt;br /&gt;
&lt;br /&gt;
== Instruction-Files ==&lt;br /&gt;
&lt;br /&gt;
[https://devblogs.microsoft.com/dotnet/prompt-files-and-instructions-files-explained/ https://devblogs.microsoft.com/dotnet/prompt-files-and-instructions-files-explained/]&lt;br /&gt;
&lt;br /&gt;
[https://docs.github.com/en/copilot/how-tos/configure-custom-instructions https://docs.github.com/en/copilot/how-tos/configure-custom-instructions]&lt;br /&gt;
&lt;br /&gt;
== Copilot CLI ==&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
==== Windows ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
winget install GitHub.Copilot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Links =====&lt;br /&gt;
&lt;br /&gt;
[https://docs.github.com/de/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli https://docs.github.com/de/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[KI_(Programmieren)#Assistenten|KI (Programmieren)]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=GithHub_Copilot&amp;diff=11839</id>
		<title>GithHub Copilot</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=GithHub_Copilot&amp;diff=11839"/>
		<updated>2026-03-28T05:53:50Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Skill-Files ==&lt;br /&gt;
&lt;br /&gt;
[https://visualstudiomagazine.com/articles/2026/01/11/hand-on-with-new-github-copilot-agent-skills-in-vs-code.aspx https://visualstudiomagazine.com/articles/2026/01/11/hand-on-with-new-github-copilot-agent-skills-in-vs-code.aspx]&lt;br /&gt;
&lt;br /&gt;
== Instruction-Files ==&lt;br /&gt;
&lt;br /&gt;
[https://devblogs.microsoft.com/dotnet/prompt-files-and-instructions-files-explained/ https://devblogs.microsoft.com/dotnet/prompt-files-and-instructions-files-explained/]&lt;br /&gt;
&lt;br /&gt;
[https://docs.github.com/en/copilot/how-tos/configure-custom-instructions https://docs.github.com/en/copilot/how-tos/configure-custom-instructions]&lt;br /&gt;
&lt;br /&gt;
== Copilot CLI ==&lt;br /&gt;
&lt;br /&gt;
=== iInstallation ===&lt;br /&gt;
&lt;br /&gt;
==== Windows ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
winget install GitHub.Copilot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[KI_(Programmieren)#Assistenten|KI (Programmieren)]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Tvheadend_(Linux)&amp;diff=11838</id>
		<title>Tvheadend (Linux)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Tvheadend_(Linux)&amp;diff=11838"/>
		<updated>2026-02-10T21:03:28Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Hauppauge Nova S2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{note|Noch in Bearbeitung}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Hauppauge Nova S2 ===&lt;br /&gt;
&lt;br /&gt;
==== Seriennummer ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;200000 LF Rev BAH9&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Reserve: &amp;lt;code&amp;gt;200000 LF Rev B9H9&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
==== Firmware installieren ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Get both 3103 and 3103b firmware&lt;br /&gt;
sudo su&lt;br /&gt;
cd /lib/firmware&lt;br /&gt;
wget https://github.com/OpenELEC/dvb-firmware/blob/master/firmware/dvb-demod-m88ds3103.fw?raw=true # 3103 (non-b) firmware&lt;br /&gt;
wget https://www.hauppauge.com/linux/dvb-demod-m88ds3103b.fw # 3103b firmware&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach TV-Stick anstecken und der Aufruf von &amp;lt;code&amp;gt;dmesg&amp;lt;/code&amp;gt; sollte danach in etwa folgende Zeilen ausgeben:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Dmesg_hauppauge_nova_s2.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://www.hauppauge.de/site/products/data_nova-s2.html https://www.hauppauge.de/site/products/data_nova-s2.html]&lt;br /&gt;
&lt;br /&gt;
[https://www.hauppauge.com/pages/support/support_linux.html#pi https://www.hauppauge.com/pages/support/support_linux.html#pi]&lt;br /&gt;
&lt;br /&gt;
[https://forum-raspberrypi.de/forum/thread/49360-geloest-dvb-s2-usb-stick-am-rpi4/ https://forum-raspberrypi.de/forum/thread/49360-geloest-dvb-s2-usb-stick-am-rpi4/]&lt;br /&gt;
&lt;br /&gt;
[http://www.vdr-wiki.de/wiki/index.php/HDTV_Installationsanleitung_Ubuntu#Nova-HD-S2 http://www.vdr-wiki.de/wiki/index.php/HDTV_Installationsanleitung_Ubuntu#Nova-HD-S2]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.ubuntuusers.de/DVB-Karten/ https://wiki.ubuntuusers.de/DVB-Karten/]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Per Deb-Package ===&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&lt;br /&gt;
Auf&lt;br /&gt;
&lt;br /&gt;
[https://cloudsmith.io/~tvheadend/repos/tvheadend/packages/ https://cloudsmith.io/~tvheadend/repos/tvheadend/packages/]&lt;br /&gt;
&lt;br /&gt;
die richtige Version auswählen (''tvheadend-dbg.deb'' ist eine Debugversion).&lt;br /&gt;
&lt;br /&gt;
==== Installation ====&lt;br /&gt;
&lt;br /&gt;
Die gewählte Version per &amp;lt;code&amp;gt;wget&amp;lt;/code&amp;gt; downloaden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget https://dl.cloudsmith.io/public/tvheadend/tvheadend/deb/raspbian/pool/bookworm/main/t/tv/tvheadend_4.3-2264~gb8bd16726~raspbianbookworm/tvheadend_4.3-2264~gb8bd16726~raspbianbookworm_arm64.deb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Abhängigkeiten installieren:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libavahi-client3 libdvbcsa1 libpcre3 liburiparser1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach sollte sich das Paket ohne Probleme mittels folgendem Befehl installieren lassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo dpkg -i tvheadend_4.3-2264~gb8bd16726~raspbianbookworm_arm64.deb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nach der Installation sollte die Konfigurationsseite unter folgenden Adresse zu erreichen sein:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;ip des servers&amp;gt;:9981&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.readthedocs.io/en/latest/ https://tvheadend.readthedocs.io/en/latest/]&lt;br /&gt;
&lt;br /&gt;
[https://www.connect-living.de/ratgeber/tvheadend-nas-xbmc-streaming-smartphone-tablet-2492215.html https://www.connect-living.de/ratgeber/tvheadend-nas-xbmc-streaming-smartphone-tablet-2492215.html]&lt;br /&gt;
&lt;br /&gt;
[https://www.minipctv.de/tvheadendserver/tvheadend-auf-dem-raspberrypi-installieren/ https://www.minipctv.de/tvheadendserver/tvheadend-auf-dem-raspberrypi-installieren/]&lt;br /&gt;
&lt;br /&gt;
=== Per Repository ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo su&lt;br /&gt;
apt-get install -y debian-keyring&lt;br /&gt;
apt-get install -y debian-archive-keyring&lt;br /&gt;
apt-get install -y apt-transport-https&lt;br /&gt;
keyring_location=/usr/share/keyrings/tvheadend-tvheadend-archive-keyring.gpg&lt;br /&gt;
curl -1sLf 'https://dl.cloudsmith.io/public/tvheadend/tvheadend/gpg.C6CC06BD69B430C6.key' |  gpg --dearmor &amp;gt;&amp;gt; ${keyring_location}&lt;br /&gt;
curl -1sLf 'https://dl.cloudsmith.io/public/tvheadend/tvheadend/config.deb.txt?distro=ubuntu&amp;amp;codename=stretch&amp;amp;component=main' &amp;gt; /etc/apt/sources.list.d/tvheadend-tvheadend.list&lt;br /&gt;
chmod 644 ${keyring_location}&lt;br /&gt;
chmod 644 /etc/apt/sources.list.d/tvheadend-tvheadend.list&lt;br /&gt;
apt-get update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://cloudsmith.io/~tvheadend/repos/tvheadend/setup/#formats-deb https://cloudsmith.io/~tvheadend/repos/tvheadend/setup/#formats-deb]&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
=== Generell ===&lt;br /&gt;
&lt;br /&gt;
{{note|Noch in Bearbeitung}}&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://www.minipctv.de/tvheadendserver/tvheadend-konfigurieren/ https://www.minipctv.de/tvheadendserver/tvheadend-konfigurieren/]&lt;br /&gt;
&lt;br /&gt;
[https://docs.tvheadend.org/webui/config_general/#satip-server https://docs.tvheadend.org/webui/config_general/#satip-server]&lt;br /&gt;
&lt;br /&gt;
=== Sat&amp;gt;IP ===&lt;br /&gt;
&lt;br /&gt;
{{note|Noch in Bearbeitung}}&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendSatOverIpGrundeinstellungen.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendSatOverIpNetzwerk.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl restart tvheadend.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/4922-sat-ip-server-tutorial-needed/13 https://tvheadend.org/d/4922-sat-ip-server-tutorial-needed/13]&lt;br /&gt;
&lt;br /&gt;
[https://blog.nubecula.org/2018/10/26/satip-tvheadend-als-client-server/ https://blog.nubecula.org/2018/10/26/satip-tvheadend-als-client-server/]&lt;br /&gt;
&lt;br /&gt;
=== Oscam ===&lt;br /&gt;
&lt;br /&gt;
Siehe dazu [[OSCam (TvHeadend)|OSCam (TvHeadend)]]&lt;br /&gt;
&lt;br /&gt;
== Streaming ==&lt;br /&gt;
&lt;br /&gt;
Siehe dazu [[Streaming (TvHeadend)|Streaming (TvHeadend)]]&lt;br /&gt;
&lt;br /&gt;
== OpenATV ==&lt;br /&gt;
&lt;br /&gt;
Siehe dazu [[OpenATV#Streaming_/_Sat%3EIP|OpenATV#Streaming / Sat&amp;gt;IP]]&lt;br /&gt;
&lt;br /&gt;
== Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== (dvbapi) ERROR: Can't open device /dev/dvb/adapter0/ca0 (errno=2 No such file or directory) ===&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/3056-descrambling-with-oscam-missing-ca0-device/2 https://tvheadend.org/d/3056-descrambling-with-oscam-missing-ca0-device/2]&lt;br /&gt;
&lt;br /&gt;
=== sh: 1: pzapit: not found ===&lt;br /&gt;
&lt;br /&gt;
Das Problem kommt daher, dass das Image mit Add On ''Neutrino Support'' kompiliert wurde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DVB API with NEUTRINO support: yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lösung: Binary neu kompilieren ohne Neutrino-Support.&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://wiki.tuxbox-neutrino.org/wiki/Pzapit https://wiki.tuxbox-neutrino.org/wiki/Pzapit]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/linuxserver/docker-oscam/issues/28 https://github.com/linuxserver/docker-oscam/issues/28]&lt;br /&gt;
&lt;br /&gt;
[https://www.nachtfalke.biz/f287-oscam/90777-hdf-6-5-oscam-smod-orf-p410-trotz-cardok-6-entitelments-dunkel-p3.html https://www.nachtfalke.biz/f287-oscam/90777-hdf-6-5-oscam-smod-orf-p410-trotz-cardok-6-entitelments-dunkel-p3.html]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/ https://tvheadend.org/]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.ubuntuusers.de/Tvheadend/ https://wiki.ubuntuusers.de/Tvheadend/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Ubuntu#T_(Server)|Ubuntu]], [[Sat-over-IP_(Satreceiver/Fernseher)#TVHeadend|Sat-over-IP]], [[OpenATV#Streaming / Sat&amp;gt;IP|OpenATV]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Tvheadend_(Linux)&amp;diff=11837</id>
		<title>Tvheadend (Linux)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Tvheadend_(Linux)&amp;diff=11837"/>
		<updated>2026-02-10T21:03:15Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Seriennummer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{note|Noch in Bearbeitung}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Hauppauge Nova S2 ===&lt;br /&gt;
&lt;br /&gt;
==== Seriennummer ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;200000 LF Rev BAH9&amp;lt;/code&amp;gt; (Reserve: &amp;lt;code&amp;gt;200000 LF Rev B9H9&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
==== Firmware installieren ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Get both 3103 and 3103b firmware&lt;br /&gt;
sudo su&lt;br /&gt;
cd /lib/firmware&lt;br /&gt;
wget https://github.com/OpenELEC/dvb-firmware/blob/master/firmware/dvb-demod-m88ds3103.fw?raw=true # 3103 (non-b) firmware&lt;br /&gt;
wget https://www.hauppauge.com/linux/dvb-demod-m88ds3103b.fw # 3103b firmware&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach TV-Stick anstecken und der Aufruf von &amp;lt;code&amp;gt;dmesg&amp;lt;/code&amp;gt; sollte danach in etwa folgende Zeilen ausgeben:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Dmesg_hauppauge_nova_s2.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://www.hauppauge.de/site/products/data_nova-s2.html https://www.hauppauge.de/site/products/data_nova-s2.html]&lt;br /&gt;
&lt;br /&gt;
[https://www.hauppauge.com/pages/support/support_linux.html#pi https://www.hauppauge.com/pages/support/support_linux.html#pi]&lt;br /&gt;
&lt;br /&gt;
[https://forum-raspberrypi.de/forum/thread/49360-geloest-dvb-s2-usb-stick-am-rpi4/ https://forum-raspberrypi.de/forum/thread/49360-geloest-dvb-s2-usb-stick-am-rpi4/]&lt;br /&gt;
&lt;br /&gt;
[http://www.vdr-wiki.de/wiki/index.php/HDTV_Installationsanleitung_Ubuntu#Nova-HD-S2 http://www.vdr-wiki.de/wiki/index.php/HDTV_Installationsanleitung_Ubuntu#Nova-HD-S2]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.ubuntuusers.de/DVB-Karten/ https://wiki.ubuntuusers.de/DVB-Karten/]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Per Deb-Package ===&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&lt;br /&gt;
Auf&lt;br /&gt;
&lt;br /&gt;
[https://cloudsmith.io/~tvheadend/repos/tvheadend/packages/ https://cloudsmith.io/~tvheadend/repos/tvheadend/packages/]&lt;br /&gt;
&lt;br /&gt;
die richtige Version auswählen (''tvheadend-dbg.deb'' ist eine Debugversion).&lt;br /&gt;
&lt;br /&gt;
==== Installation ====&lt;br /&gt;
&lt;br /&gt;
Die gewählte Version per &amp;lt;code&amp;gt;wget&amp;lt;/code&amp;gt; downloaden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget https://dl.cloudsmith.io/public/tvheadend/tvheadend/deb/raspbian/pool/bookworm/main/t/tv/tvheadend_4.3-2264~gb8bd16726~raspbianbookworm/tvheadend_4.3-2264~gb8bd16726~raspbianbookworm_arm64.deb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Abhängigkeiten installieren:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libavahi-client3 libdvbcsa1 libpcre3 liburiparser1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach sollte sich das Paket ohne Probleme mittels folgendem Befehl installieren lassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo dpkg -i tvheadend_4.3-2264~gb8bd16726~raspbianbookworm_arm64.deb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nach der Installation sollte die Konfigurationsseite unter folgenden Adresse zu erreichen sein:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;ip des servers&amp;gt;:9981&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.readthedocs.io/en/latest/ https://tvheadend.readthedocs.io/en/latest/]&lt;br /&gt;
&lt;br /&gt;
[https://www.connect-living.de/ratgeber/tvheadend-nas-xbmc-streaming-smartphone-tablet-2492215.html https://www.connect-living.de/ratgeber/tvheadend-nas-xbmc-streaming-smartphone-tablet-2492215.html]&lt;br /&gt;
&lt;br /&gt;
[https://www.minipctv.de/tvheadendserver/tvheadend-auf-dem-raspberrypi-installieren/ https://www.minipctv.de/tvheadendserver/tvheadend-auf-dem-raspberrypi-installieren/]&lt;br /&gt;
&lt;br /&gt;
=== Per Repository ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo su&lt;br /&gt;
apt-get install -y debian-keyring&lt;br /&gt;
apt-get install -y debian-archive-keyring&lt;br /&gt;
apt-get install -y apt-transport-https&lt;br /&gt;
keyring_location=/usr/share/keyrings/tvheadend-tvheadend-archive-keyring.gpg&lt;br /&gt;
curl -1sLf 'https://dl.cloudsmith.io/public/tvheadend/tvheadend/gpg.C6CC06BD69B430C6.key' |  gpg --dearmor &amp;gt;&amp;gt; ${keyring_location}&lt;br /&gt;
curl -1sLf 'https://dl.cloudsmith.io/public/tvheadend/tvheadend/config.deb.txt?distro=ubuntu&amp;amp;codename=stretch&amp;amp;component=main' &amp;gt; /etc/apt/sources.list.d/tvheadend-tvheadend.list&lt;br /&gt;
chmod 644 ${keyring_location}&lt;br /&gt;
chmod 644 /etc/apt/sources.list.d/tvheadend-tvheadend.list&lt;br /&gt;
apt-get update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://cloudsmith.io/~tvheadend/repos/tvheadend/setup/#formats-deb https://cloudsmith.io/~tvheadend/repos/tvheadend/setup/#formats-deb]&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
=== Generell ===&lt;br /&gt;
&lt;br /&gt;
{{note|Noch in Bearbeitung}}&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://www.minipctv.de/tvheadendserver/tvheadend-konfigurieren/ https://www.minipctv.de/tvheadendserver/tvheadend-konfigurieren/]&lt;br /&gt;
&lt;br /&gt;
[https://docs.tvheadend.org/webui/config_general/#satip-server https://docs.tvheadend.org/webui/config_general/#satip-server]&lt;br /&gt;
&lt;br /&gt;
=== Sat&amp;gt;IP ===&lt;br /&gt;
&lt;br /&gt;
{{note|Noch in Bearbeitung}}&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendSatOverIpGrundeinstellungen.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendSatOverIpNetzwerk.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl restart tvheadend.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/4922-sat-ip-server-tutorial-needed/13 https://tvheadend.org/d/4922-sat-ip-server-tutorial-needed/13]&lt;br /&gt;
&lt;br /&gt;
[https://blog.nubecula.org/2018/10/26/satip-tvheadend-als-client-server/ https://blog.nubecula.org/2018/10/26/satip-tvheadend-als-client-server/]&lt;br /&gt;
&lt;br /&gt;
=== Oscam ===&lt;br /&gt;
&lt;br /&gt;
Siehe dazu [[OSCam (TvHeadend)|OSCam (TvHeadend)]]&lt;br /&gt;
&lt;br /&gt;
== Streaming ==&lt;br /&gt;
&lt;br /&gt;
Siehe dazu [[Streaming (TvHeadend)|Streaming (TvHeadend)]]&lt;br /&gt;
&lt;br /&gt;
== OpenATV ==&lt;br /&gt;
&lt;br /&gt;
Siehe dazu [[OpenATV#Streaming_/_Sat%3EIP|OpenATV#Streaming / Sat&amp;gt;IP]]&lt;br /&gt;
&lt;br /&gt;
== Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== (dvbapi) ERROR: Can't open device /dev/dvb/adapter0/ca0 (errno=2 No such file or directory) ===&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/3056-descrambling-with-oscam-missing-ca0-device/2 https://tvheadend.org/d/3056-descrambling-with-oscam-missing-ca0-device/2]&lt;br /&gt;
&lt;br /&gt;
=== sh: 1: pzapit: not found ===&lt;br /&gt;
&lt;br /&gt;
Das Problem kommt daher, dass das Image mit Add On ''Neutrino Support'' kompiliert wurde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DVB API with NEUTRINO support: yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lösung: Binary neu kompilieren ohne Neutrino-Support.&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://wiki.tuxbox-neutrino.org/wiki/Pzapit https://wiki.tuxbox-neutrino.org/wiki/Pzapit]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/linuxserver/docker-oscam/issues/28 https://github.com/linuxserver/docker-oscam/issues/28]&lt;br /&gt;
&lt;br /&gt;
[https://www.nachtfalke.biz/f287-oscam/90777-hdf-6-5-oscam-smod-orf-p410-trotz-cardok-6-entitelments-dunkel-p3.html https://www.nachtfalke.biz/f287-oscam/90777-hdf-6-5-oscam-smod-orf-p410-trotz-cardok-6-entitelments-dunkel-p3.html]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/ https://tvheadend.org/]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.ubuntuusers.de/Tvheadend/ https://wiki.ubuntuusers.de/Tvheadend/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Ubuntu#T_(Server)|Ubuntu]], [[Sat-over-IP_(Satreceiver/Fernseher)#TVHeadend|Sat-over-IP]], [[OpenATV#Streaming / Sat&amp;gt;IP|OpenATV]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=GithHub_Copilot&amp;diff=11836</id>
		<title>GithHub Copilot</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=GithHub_Copilot&amp;diff=11836"/>
		<updated>2026-01-24T17:53:03Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: Die Seite wurde neu angelegt: „== Skill-Files ==  [https://visualstudiomagazine.com/articles/2026/01/11/hand-on-with-new-github-copilot-agent-skills-in-vs-code.aspx https://visualstudiomagazine.com/articles/2026/01/11/hand-on-with-new-github-copilot-agent-skills-in-vs-code.aspx]  == Instruction-Files ==  [https://devblogs.microsoft.com/dotnet/prompt-files-and-instructions-files-explained/ https://devblogs.microsoft.com/dotnet/prompt-files-and-instructions-files-explained/]  [https://do…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Skill-Files ==&lt;br /&gt;
&lt;br /&gt;
[https://visualstudiomagazine.com/articles/2026/01/11/hand-on-with-new-github-copilot-agent-skills-in-vs-code.aspx https://visualstudiomagazine.com/articles/2026/01/11/hand-on-with-new-github-copilot-agent-skills-in-vs-code.aspx]&lt;br /&gt;
&lt;br /&gt;
== Instruction-Files ==&lt;br /&gt;
&lt;br /&gt;
[https://devblogs.microsoft.com/dotnet/prompt-files-and-instructions-files-explained/ https://devblogs.microsoft.com/dotnet/prompt-files-and-instructions-files-explained/]&lt;br /&gt;
&lt;br /&gt;
[https://docs.github.com/en/copilot/how-tos/configure-custom-instructions https://docs.github.com/en/copilot/how-tos/configure-custom-instructions]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[KI_(Programmieren)#Assistenten|KI (Programmieren)]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=KI_(Programmieren)&amp;diff=11835</id>
		<title>KI (Programmieren)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=KI_(Programmieren)&amp;diff=11835"/>
		<updated>2026-01-24T17:48:47Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Dokumentation ==&lt;br /&gt;
&lt;br /&gt;
[https://code.visualstudio.com/docs/copilot/overview https://code.visualstudio.com/docs/copilot/overview]&lt;br /&gt;
&lt;br /&gt;
== You Tube Videos ==&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/@code/videos (167) Visual Studio Code - YouTube]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=EpmxbAxOe4A 5 New VS Code AI Features &amp;amp; Settings You Need To Try Today]&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=Qp4KY1_vJnU Use MCP tools in Github Copilot on Visual Studio]&lt;br /&gt;
&lt;br /&gt;
== Assistenten ==&lt;br /&gt;
&lt;br /&gt;
[[GithHub Copilot]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Hauptseite#Programmieren|Hauptseite]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11834</id>
		<title>Streaming (TvHeadend)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11834"/>
		<updated>2025-12-31T22:36:46Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Stream mit 2056 kbit/s und einer Auflösung von 852 x 480 Pixel (16:9) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== m3u ==&lt;br /&gt;
&lt;br /&gt;
Mittels folgender URL kann man eine m3u-Liste mit allen Kanälen herunterladen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;ip des servers&amp;gt;:9981/playlist&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -L --digest &amp;quot;http://web-streaming:&amp;lt;password&amp;gt;@10.3.0.101:9981/playlist/auth/channels&amp;quot; &amp;gt; web-streaming.m3u&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ohne Passwort ==&lt;br /&gt;
&lt;br /&gt;
Benutzer mit Name &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; und ohne Passwort anlegen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:TVheadendBenutzerOhnePasswort.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend]&lt;br /&gt;
&lt;br /&gt;
== Transcoding ==&lt;br /&gt;
&lt;br /&gt;
Unter&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Configuration -&amp;gt; Stream -&amp;gt; Stream Profiles -&amp;gt; Add&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
den Typ &amp;lt;code&amp;gt;MPEG-TS Spawn/built-in&amp;lt;/code&amp;gt; ein neues Streaming-Profile anlegen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:TranscodeFfmpegTvHeadend.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Folgende Konfiguration erzeugt einen Stream mit 2056 kbit/s und einer Auflösung von 852 x 480 Pixel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=852:480 -vcodec h264_v4l2m2m -vb 2056k -bufsize 4112k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TranscodeUserTvHeadend.png|400px]]&lt;br /&gt;
&lt;br /&gt;
== ffmpeg ==&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[ffmpeg (Linux)|ffmpeg]]&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install ffmpeg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fixe Höhe/Breite mit passender Breite/Höhe unter beibehaltung der Aspect Ratio===&lt;br /&gt;
&lt;br /&gt;
Vorgegebene Höhe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;scale=trunc(oh*a/2)*2:480&amp;lt;/code&amp;gt; bzw. &amp;lt;code&amp;gt;scale=-1:480&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vorgegebene Breite:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;scale=640:trunc(ow/a/2)*2&amp;lt;/code&amp;gt; bzw. &amp;lt;code&amp;gt;scale=640:-1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Stream mit 2056 kbit/s und einer Auflösung von 852 x 480 Pixel (16:9) ===&lt;br /&gt;
&lt;br /&gt;
Da z.B. D-Max HD eine Auflösung von &amp;lt;code&amp;gt;1440 x 1080&amp;lt;/code&amp;gt; Pixeln hat (ist nicht direkt 16:9) und nach dem Transcodieren das Bildverhältnis falsch war, mußte die Auflösung mit &amp;lt;code&amp;gt;scale=852:480&amp;lt;/code&amp;gt; fix im Verhältnis 16:9 gesetzt werden (setzen von Sample Aspect Ratio mit &amp;lt;code&amp;gt;setsar=original&amp;lt;/code&amp;gt; hat leider nicht funktioniert):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=852:480 -vcodec h264_v4l2m2m -vb 2056k -bufsize 4112k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg]&lt;br /&gt;
&lt;br /&gt;
== Codecs ==&lt;br /&gt;
&lt;br /&gt;
Ob ein bestimmter Codec freigeschaltet ist, kann man sich über folgenden Befehl anzeigen lassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vcgencmd codec_enabled {CODEC}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für ''codec_enabled'' gibt es die folgenden Parameter: H264, MPG2, WVC1, MPG4, MJPG und WMV9.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Tvheadend_(Linux)#Streaming|Tvheadend]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11833</id>
		<title>Streaming (TvHeadend)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11833"/>
		<updated>2025-12-31T22:36:21Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Stream mit 2056 kbit/s und einer Auflösung von 852 x 480 Pixel (16:9) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== m3u ==&lt;br /&gt;
&lt;br /&gt;
Mittels folgender URL kann man eine m3u-Liste mit allen Kanälen herunterladen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;ip des servers&amp;gt;:9981/playlist&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -L --digest &amp;quot;http://web-streaming:&amp;lt;password&amp;gt;@10.3.0.101:9981/playlist/auth/channels&amp;quot; &amp;gt; web-streaming.m3u&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ohne Passwort ==&lt;br /&gt;
&lt;br /&gt;
Benutzer mit Name &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; und ohne Passwort anlegen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:TVheadendBenutzerOhnePasswort.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend]&lt;br /&gt;
&lt;br /&gt;
== Transcoding ==&lt;br /&gt;
&lt;br /&gt;
Unter&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Configuration -&amp;gt; Stream -&amp;gt; Stream Profiles -&amp;gt; Add&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
den Typ &amp;lt;code&amp;gt;MPEG-TS Spawn/built-in&amp;lt;/code&amp;gt; ein neues Streaming-Profile anlegen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:TranscodeFfmpegTvHeadend.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Folgende Konfiguration erzeugt einen Stream mit 2056 kbit/s und einer Auflösung von 852 x 480 Pixel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=852:480 -vcodec h264_v4l2m2m -vb 2056k -bufsize 4112k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TranscodeUserTvHeadend.png|400px]]&lt;br /&gt;
&lt;br /&gt;
== ffmpeg ==&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[ffmpeg (Linux)|ffmpeg]]&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install ffmpeg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fixe Höhe/Breite mit passender Breite/Höhe unter beibehaltung der Aspect Ratio===&lt;br /&gt;
&lt;br /&gt;
Vorgegebene Höhe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;scale=trunc(oh*a/2)*2:480&amp;lt;/code&amp;gt; bzw. &amp;lt;code&amp;gt;scale=-1:480&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vorgegebene Breite:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;scale=640:trunc(ow/a/2)*2&amp;lt;/code&amp;gt; bzw. &amp;lt;code&amp;gt;scale=640:-1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Stream mit 2056 kbit/s und einer Auflösung von 852 x 480 Pixel (16:9) ===&lt;br /&gt;
&lt;br /&gt;
Da z.B. D-Max HD eine Auflösung von &amp;lt;code&amp;gt;1440 x 1080&amp;lt;/code&amp;gt; Pixeln hat (ist nicht direkt 16:9) und nach dem Transcodieren das Bildverhältnis falsch war, mußte die Auflösung mit &amp;lt;code&amp;gt;scale=852:480&amp;lt;/code&amp;gt; fix im Verhältnis 16:9 gesetzt werden (setzen von Sample Aspect Ratio - &amp;lt;code&amp;gt;setsar=original&amp;lt;/code&amp;gt; hat leider nicht funktioniert):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=852:480 -vcodec h264_v4l2m2m -vb 2056k -bufsize 4112k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg]&lt;br /&gt;
&lt;br /&gt;
== Codecs ==&lt;br /&gt;
&lt;br /&gt;
Ob ein bestimmter Codec freigeschaltet ist, kann man sich über folgenden Befehl anzeigen lassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vcgencmd codec_enabled {CODEC}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für ''codec_enabled'' gibt es die folgenden Parameter: H264, MPG2, WVC1, MPG4, MJPG und WMV9.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Tvheadend_(Linux)#Streaming|Tvheadend]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11832</id>
		<title>Streaming (TvHeadend)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11832"/>
		<updated>2025-12-31T22:32:25Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Stream mit 2056 kbit/s und einer Auflösung von 852 x 480 Pixel (16:9) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== m3u ==&lt;br /&gt;
&lt;br /&gt;
Mittels folgender URL kann man eine m3u-Liste mit allen Kanälen herunterladen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;ip des servers&amp;gt;:9981/playlist&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -L --digest &amp;quot;http://web-streaming:&amp;lt;password&amp;gt;@10.3.0.101:9981/playlist/auth/channels&amp;quot; &amp;gt; web-streaming.m3u&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ohne Passwort ==&lt;br /&gt;
&lt;br /&gt;
Benutzer mit Name &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; und ohne Passwort anlegen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:TVheadendBenutzerOhnePasswort.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend]&lt;br /&gt;
&lt;br /&gt;
== Transcoding ==&lt;br /&gt;
&lt;br /&gt;
Unter&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Configuration -&amp;gt; Stream -&amp;gt; Stream Profiles -&amp;gt; Add&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
den Typ &amp;lt;code&amp;gt;MPEG-TS Spawn/built-in&amp;lt;/code&amp;gt; ein neues Streaming-Profile anlegen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:TranscodeFfmpegTvHeadend.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Folgende Konfiguration erzeugt einen Stream mit 2056 kbit/s und einer Auflösung von 852 x 480 Pixel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=852:480 -vcodec h264_v4l2m2m -vb 2056k -bufsize 4112k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TranscodeUserTvHeadend.png|400px]]&lt;br /&gt;
&lt;br /&gt;
== ffmpeg ==&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[ffmpeg (Linux)|ffmpeg]]&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install ffmpeg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fixe Höhe/Breite mit passender Breite/Höhe unter beibehaltung der Aspect Ratio===&lt;br /&gt;
&lt;br /&gt;
Vorgegebene Höhe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;scale=trunc(oh*a/2)*2:480&amp;lt;/code&amp;gt; bzw. &amp;lt;code&amp;gt;scale=-1:480&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vorgegebene Breite:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;scale=640:trunc(ow/a/2)*2&amp;lt;/code&amp;gt; bzw. &amp;lt;code&amp;gt;scale=640:-1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Stream mit 2056 kbit/s und einer Auflösung von 852 x 480 Pixel (16:9) ===&lt;br /&gt;
&lt;br /&gt;
Da z.B. D-Max HD eine Auflösung von &amp;lt;code&amp;gt;1440 x 1080&amp;lt;/code&amp;gt; Pixeln mußte die Auflösung mit &amp;lt;code&amp;gt;scale=852:480&amp;lt;/code&amp;gt; fix im Verhältnis 16:9 gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=852:480 -vcodec h264_v4l2m2m -vb 2056k -bufsize 4112k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg]&lt;br /&gt;
&lt;br /&gt;
== Codecs ==&lt;br /&gt;
&lt;br /&gt;
Ob ein bestimmter Codec freigeschaltet ist, kann man sich über folgenden Befehl anzeigen lassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vcgencmd codec_enabled {CODEC}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für ''codec_enabled'' gibt es die folgenden Parameter: H264, MPG2, WVC1, MPG4, MJPG und WMV9.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Tvheadend_(Linux)#Streaming|Tvheadend]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11831</id>
		<title>Streaming (TvHeadend)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11831"/>
		<updated>2025-12-31T22:30:22Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /*  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== m3u ==&lt;br /&gt;
&lt;br /&gt;
Mittels folgender URL kann man eine m3u-Liste mit allen Kanälen herunterladen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;ip des servers&amp;gt;:9981/playlist&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -L --digest &amp;quot;http://web-streaming:&amp;lt;password&amp;gt;@10.3.0.101:9981/playlist/auth/channels&amp;quot; &amp;gt; web-streaming.m3u&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ohne Passwort ==&lt;br /&gt;
&lt;br /&gt;
Benutzer mit Name &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; und ohne Passwort anlegen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:TVheadendBenutzerOhnePasswort.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend]&lt;br /&gt;
&lt;br /&gt;
== Transcoding ==&lt;br /&gt;
&lt;br /&gt;
Unter&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Configuration -&amp;gt; Stream -&amp;gt; Stream Profiles -&amp;gt; Add&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
den Typ &amp;lt;code&amp;gt;MPEG-TS Spawn/built-in&amp;lt;/code&amp;gt; ein neues Streaming-Profile anlegen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:TranscodeFfmpegTvHeadend.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Folgende Konfiguration erzeugt einen Stream mit 2056 kbit/s und einer Auflösung von 852 x 480 Pixel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=852:480 -vcodec h264_v4l2m2m -vb 2056k -bufsize 4112k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TranscodeUserTvHeadend.png|400px]]&lt;br /&gt;
&lt;br /&gt;
== ffmpeg ==&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[ffmpeg (Linux)|ffmpeg]]&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install ffmpeg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fixe Höhe/Breite mit passender Breite/Höhe unter beibehaltung der Aspect Ratio===&lt;br /&gt;
&lt;br /&gt;
Vorgegebene Höhe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;scale=trunc(oh*a/2)*2:480&amp;lt;/code&amp;gt; bzw. &amp;lt;code&amp;gt;scale=-1:480&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vorgegebene Breite:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;scale=640:trunc(ow/a/2)*2&amp;lt;/code&amp;gt; bzw. &amp;lt;code&amp;gt;scale=640:-1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Stream mit 2056 kbit/s und einer Auflösung von 852 x 480 Pixel (16:9) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=852:480 -vcodec h264_v4l2m2m -vb 2056k -bufsize 4112k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg]&lt;br /&gt;
&lt;br /&gt;
== Codecs ==&lt;br /&gt;
&lt;br /&gt;
Ob ein bestimmter Codec freigeschaltet ist, kann man sich über folgenden Befehl anzeigen lassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vcgencmd codec_enabled {CODEC}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für ''codec_enabled'' gibt es die folgenden Parameter: H264, MPG2, WVC1, MPG4, MJPG und WMV9.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Tvheadend_(Linux)#Streaming|Tvheadend]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11830</id>
		<title>Streaming (TvHeadend)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11830"/>
		<updated>2025-12-31T22:29:39Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Fixe Höhe/Breite mit passender Breite/Höhe unter beibehaltung der Aspect Ratio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== m3u ==&lt;br /&gt;
&lt;br /&gt;
Mittels folgender URL kann man eine m3u-Liste mit allen Kanälen herunterladen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;ip des servers&amp;gt;:9981/playlist&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -L --digest &amp;quot;http://web-streaming:&amp;lt;password&amp;gt;@10.3.0.101:9981/playlist/auth/channels&amp;quot; &amp;gt; web-streaming.m3u&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ohne Passwort ==&lt;br /&gt;
&lt;br /&gt;
Benutzer mit Name &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; und ohne Passwort anlegen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:TVheadendBenutzerOhnePasswort.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend]&lt;br /&gt;
&lt;br /&gt;
== Transcoding ==&lt;br /&gt;
&lt;br /&gt;
Unter&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Configuration -&amp;gt; Stream -&amp;gt; Stream Profiles -&amp;gt; Add&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
den Typ &amp;lt;code&amp;gt;MPEG-TS Spawn/built-in&amp;lt;/code&amp;gt; ein neues Streaming-Profile anlegen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:TranscodeFfmpegTvHeadend.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Folgende Konfiguration erzeugt einen Stream mit 2056 kbit/s und einer Auflösung von 852 x 480 Pixel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=852:480 -vcodec h264_v4l2m2m -vb 2056k -bufsize 4112k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TranscodeUserTvHeadend.png|400px]]&lt;br /&gt;
&lt;br /&gt;
== ffmpeg ==&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[ffmpeg (Linux)|ffmpeg]]&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install ffmpeg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fixe Höhe/Breite mit passender Breite/Höhe unter beibehaltung der Aspect Ratio===&lt;br /&gt;
&lt;br /&gt;
Vorgegebene Höhe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;scale=trunc(oh*a/2)*2:480&amp;lt;/code&amp;gt; bzw. &amp;lt;code&amp;gt;scale=-1:480&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vorgegebene Breite:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;scale=640:trunc(ow/a/2)*2&amp;lt;/code&amp;gt; bzw. &amp;lt;code&amp;gt;scale=640:-1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=852:480 -vcodec h264_v4l2m2m -vb 2056k -bufsize 4112k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg]&lt;br /&gt;
&lt;br /&gt;
== Codecs ==&lt;br /&gt;
&lt;br /&gt;
Ob ein bestimmter Codec freigeschaltet ist, kann man sich über folgenden Befehl anzeigen lassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vcgencmd codec_enabled {CODEC}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für ''codec_enabled'' gibt es die folgenden Parameter: H264, MPG2, WVC1, MPG4, MJPG und WMV9.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Tvheadend_(Linux)#Streaming|Tvheadend]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11829</id>
		<title>Streaming (TvHeadend)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11829"/>
		<updated>2025-12-31T22:27:37Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* ffmpeg */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== m3u ==&lt;br /&gt;
&lt;br /&gt;
Mittels folgender URL kann man eine m3u-Liste mit allen Kanälen herunterladen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;ip des servers&amp;gt;:9981/playlist&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -L --digest &amp;quot;http://web-streaming:&amp;lt;password&amp;gt;@10.3.0.101:9981/playlist/auth/channels&amp;quot; &amp;gt; web-streaming.m3u&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ohne Passwort ==&lt;br /&gt;
&lt;br /&gt;
Benutzer mit Name &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; und ohne Passwort anlegen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:TVheadendBenutzerOhnePasswort.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend]&lt;br /&gt;
&lt;br /&gt;
== Transcoding ==&lt;br /&gt;
&lt;br /&gt;
Unter&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Configuration -&amp;gt; Stream -&amp;gt; Stream Profiles -&amp;gt; Add&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
den Typ &amp;lt;code&amp;gt;MPEG-TS Spawn/built-in&amp;lt;/code&amp;gt; ein neues Streaming-Profile anlegen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:TranscodeFfmpegTvHeadend.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Folgende Konfiguration erzeugt einen Stream mit 2056 kbit/s und einer Auflösung von 852 x 480 Pixel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=852:480 -vcodec h264_v4l2m2m -vb 2056k -bufsize 4112k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TranscodeUserTvHeadend.png|400px]]&lt;br /&gt;
&lt;br /&gt;
== ffmpeg ==&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[ffmpeg (Linux)|ffmpeg]]&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install ffmpeg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fixe Höhe/Breite mit passender Breite/Höhe unter beibehaltung der Aspect Ratio===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;scale=trunc(oh*a/2)*2:480&amp;lt;/code&amp;gt; bzw. &amp;lt;code&amp;gt;scale=-1:480&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;scale=640:trunc(ow/a/2)*2&amp;lt;/code&amp;gt; bzw. &amp;lt;code&amp;gt;scale=640:-1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=852:480 -vcodec h264_v4l2m2m -vb 2056k -bufsize 4112k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg]&lt;br /&gt;
&lt;br /&gt;
== Codecs ==&lt;br /&gt;
&lt;br /&gt;
Ob ein bestimmter Codec freigeschaltet ist, kann man sich über folgenden Befehl anzeigen lassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vcgencmd codec_enabled {CODEC}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für ''codec_enabled'' gibt es die folgenden Parameter: H264, MPG2, WVC1, MPG4, MJPG und WMV9.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Tvheadend_(Linux)#Streaming|Tvheadend]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11828</id>
		<title>Streaming (TvHeadend)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11828"/>
		<updated>2025-12-31T22:20:46Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Transcoding */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== m3u ==&lt;br /&gt;
&lt;br /&gt;
Mittels folgender URL kann man eine m3u-Liste mit allen Kanälen herunterladen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;ip des servers&amp;gt;:9981/playlist&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -L --digest &amp;quot;http://web-streaming:&amp;lt;password&amp;gt;@10.3.0.101:9981/playlist/auth/channels&amp;quot; &amp;gt; web-streaming.m3u&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ohne Passwort ==&lt;br /&gt;
&lt;br /&gt;
Benutzer mit Name &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; und ohne Passwort anlegen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:TVheadendBenutzerOhnePasswort.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend]&lt;br /&gt;
&lt;br /&gt;
== Transcoding ==&lt;br /&gt;
&lt;br /&gt;
Unter&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Configuration -&amp;gt; Stream -&amp;gt; Stream Profiles -&amp;gt; Add&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
den Typ &amp;lt;code&amp;gt;MPEG-TS Spawn/built-in&amp;lt;/code&amp;gt; ein neues Streaming-Profile anlegen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:TranscodeFfmpegTvHeadend.png|400px]]&lt;br /&gt;
&lt;br /&gt;
Folgende Konfiguration erzeugt einen Stream mit 2056 kbit/s und einer Auflösung von 852 x 480 Pixel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=852:480 -vcodec h264_v4l2m2m -vb 2056k -bufsize 4112k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TranscodeUserTvHeadend.png|400px]]&lt;br /&gt;
&lt;br /&gt;
== ffmpeg ==&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[ffmpeg (Linux)|ffmpeg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install ffmpeg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scale=trunc(oh*a/2)*2:480&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scale=640:trunc(ow/a/2)*2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=852:480 -vcodec h264_v4l2m2m -vb 2056k -bufsize 4112k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg]&lt;br /&gt;
&lt;br /&gt;
== Codecs ==&lt;br /&gt;
&lt;br /&gt;
Ob ein bestimmter Codec freigeschaltet ist, kann man sich über folgenden Befehl anzeigen lassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vcgencmd codec_enabled {CODEC}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für ''codec_enabled'' gibt es die folgenden Parameter: H264, MPG2, WVC1, MPG4, MJPG und WMV9.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Tvheadend_(Linux)#Streaming|Tvheadend]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11827</id>
		<title>Streaming (TvHeadend)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11827"/>
		<updated>2025-12-31T22:10:07Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Transcoding */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== m3u ==&lt;br /&gt;
&lt;br /&gt;
Mittels folgender URL kann man eine m3u-Liste mit allen Kanälen herunterladen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;ip des servers&amp;gt;:9981/playlist&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -L --digest &amp;quot;http://web-streaming:&amp;lt;password&amp;gt;@10.3.0.101:9981/playlist/auth/channels&amp;quot; &amp;gt; web-streaming.m3u&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ohne Passwort ==&lt;br /&gt;
&lt;br /&gt;
Benutzer mit Name &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; und ohne Passwort anlegen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:TVheadendBenutzerOhnePasswort.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend]&lt;br /&gt;
&lt;br /&gt;
== Transcoding ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:TranscodeFfmpegTvHeadend.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=852:480 -vcodec h264_v4l2m2m -vb 2056k -bufsize 4112k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TranscodeUserTvHeadend.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg ===&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[ffmpeg (Linux)|ffmpeg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install ffmpeg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scale=trunc(oh*a/2)*2:480&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scale=640:trunc(ow/a/2)*2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=852:480 -vcodec h264_v4l2m2m -vb 2056k -bufsize 4112k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg]&lt;br /&gt;
&lt;br /&gt;
== Codecs ==&lt;br /&gt;
&lt;br /&gt;
Ob ein bestimmter Codec freigeschaltet ist, kann man sich über folgenden Befehl anzeigen lassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vcgencmd codec_enabled {CODEC}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für ''codec_enabled'' gibt es die folgenden Parameter: H264, MPG2, WVC1, MPG4, MJPG und WMV9.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Tvheadend_(Linux)#Streaming|Tvheadend]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Datei:TranscodeUserTvHeadend.png&amp;diff=11826</id>
		<title>Datei:TranscodeUserTvHeadend.png</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Datei:TranscodeUserTvHeadend.png&amp;diff=11826"/>
		<updated>2025-12-31T22:09:45Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11825</id>
		<title>Streaming (TvHeadend)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11825"/>
		<updated>2025-12-31T22:03:31Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== m3u ==&lt;br /&gt;
&lt;br /&gt;
Mittels folgender URL kann man eine m3u-Liste mit allen Kanälen herunterladen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;ip des servers&amp;gt;:9981/playlist&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -L --digest &amp;quot;http://web-streaming:&amp;lt;password&amp;gt;@10.3.0.101:9981/playlist/auth/channels&amp;quot; &amp;gt; web-streaming.m3u&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ohne Passwort ==&lt;br /&gt;
&lt;br /&gt;
Benutzer mit Name &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; und ohne Passwort anlegen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:TVheadendBenutzerOhnePasswort.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend]&lt;br /&gt;
&lt;br /&gt;
== Transcoding ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:TranscodeFfmpegTvHeadend.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg ===&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[ffmpeg (Linux)|ffmpeg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install ffmpeg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scale=trunc(oh*a/2)*2:480&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scale=640:trunc(ow/a/2)*2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=852:480 -vcodec h264_v4l2m2m -vb 2056k -bufsize 4112k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg]&lt;br /&gt;
&lt;br /&gt;
== Codecs ==&lt;br /&gt;
&lt;br /&gt;
Ob ein bestimmter Codec freigeschaltet ist, kann man sich über folgenden Befehl anzeigen lassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vcgencmd codec_enabled {CODEC}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für ''codec_enabled'' gibt es die folgenden Parameter: H264, MPG2, WVC1, MPG4, MJPG und WMV9.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Tvheadend_(Linux)#Streaming|Tvheadend]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11824</id>
		<title>Streaming (TvHeadend)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11824"/>
		<updated>2025-12-31T21:55:19Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* ffmpeg */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== m3u ==&lt;br /&gt;
&lt;br /&gt;
Mittels folgender URL kann man eine m3u-Liste mit allen Kanälen herunterladen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;ip des servers&amp;gt;:9981/playlist&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -L --digest &amp;quot;http://web-streaming:&amp;lt;password&amp;gt;@10.3.0.101:9981/playlist/auth/channels&amp;quot; &amp;gt; web-streaming.m3u&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ohne Passwort ==&lt;br /&gt;
&lt;br /&gt;
Benutzer mit Name &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; und ohne Passwort anlegen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:TVheadendBenutzerOhnePasswort.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend]&lt;br /&gt;
&lt;br /&gt;
== Transcoding ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:TranscodeFfmpegTvHeadend.png|400px]]&lt;br /&gt;
&lt;br /&gt;
== Transcoding - Deprecated ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libmp3lame-dev libx264-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendCodecProfile.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendStreamingProfile.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendUserAccessEntries.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendUserPassword.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/72527-howto-tvheadend-m3u-mit-persistentem-auth-erstellen-transcoding-profile-verwende/#a-b4705b665c https://www.kodinerds.net/thread/72527-howto-tvheadend-m3u-mit-persistentem-auth-erstellen-transcoding-profile-verwende/#a-b4705b665c]&lt;br /&gt;
&lt;br /&gt;
[https://www.reddit.com/r/raspberry_pi/comments/9bzrhr/tvheadend_transcoding/ https://www.reddit.com/r/raspberry_pi/comments/9bzrhr/tvheadend_transcoding/]&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg ===&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[ffmpeg (Linux)|ffmpeg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install ffmpeg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scale=trunc(oh*a/2)*2:480&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scale=640:trunc(ow/a/2)*2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=852:480 -vcodec h264_v4l2m2m -vb 2056k -bufsize 4112k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg]&lt;br /&gt;
&lt;br /&gt;
== Codecs ==&lt;br /&gt;
&lt;br /&gt;
Ob ein bestimmter Codec freigeschaltet ist, kann man sich über folgenden Befehl anzeigen lassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vcgencmd codec_enabled {CODEC}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für ''codec_enabled'' gibt es die folgenden Parameter: H264, MPG2, WVC1, MPG4, MJPG und WMV9.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Tvheadend_(Linux)#Streaming|Tvheadend]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11823</id>
		<title>Streaming (TvHeadend)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11823"/>
		<updated>2025-12-31T21:54:50Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Transcoding */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== m3u ==&lt;br /&gt;
&lt;br /&gt;
Mittels folgender URL kann man eine m3u-Liste mit allen Kanälen herunterladen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;ip des servers&amp;gt;:9981/playlist&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -L --digest &amp;quot;http://web-streaming:&amp;lt;password&amp;gt;@10.3.0.101:9981/playlist/auth/channels&amp;quot; &amp;gt; web-streaming.m3u&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ohne Passwort ==&lt;br /&gt;
&lt;br /&gt;
Benutzer mit Name &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; und ohne Passwort anlegen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:TVheadendBenutzerOhnePasswort.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend]&lt;br /&gt;
&lt;br /&gt;
== Transcoding ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:TranscodeFfmpegTvHeadend.png|400px]]&lt;br /&gt;
&lt;br /&gt;
== Transcoding - Deprecated ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libmp3lame-dev libx264-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendCodecProfile.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendStreamingProfile.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendUserAccessEntries.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendUserPassword.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/72527-howto-tvheadend-m3u-mit-persistentem-auth-erstellen-transcoding-profile-verwende/#a-b4705b665c https://www.kodinerds.net/thread/72527-howto-tvheadend-m3u-mit-persistentem-auth-erstellen-transcoding-profile-verwende/#a-b4705b665c]&lt;br /&gt;
&lt;br /&gt;
[https://www.reddit.com/r/raspberry_pi/comments/9bzrhr/tvheadend_transcoding/ https://www.reddit.com/r/raspberry_pi/comments/9bzrhr/tvheadend_transcoding/]&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg ===&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[ffmpeg (Linux)|ffmpeg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install ffmpeg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scale=trunc(oh*a/2)*2:480&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scale=640:trunc(ow/a/2)*2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=852:480 -vcodec h264_v4l2m2m -vb 2056k -bufsize 4112k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://superuser.com/questions/1457877/ffmpeg-encoding-works-fine-on-a-raspberry-pi-3-but-hangs-on-a-raspberry-pi-4 https://superuser.com/questions/1457877/ffmpeg-encoding-works-fine-on-a-raspberry-pi-3-but-hangs-on-a-raspberry-pi-4]&lt;br /&gt;
&lt;br /&gt;
== Codecs ==&lt;br /&gt;
&lt;br /&gt;
Ob ein bestimmter Codec freigeschaltet ist, kann man sich über folgenden Befehl anzeigen lassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vcgencmd codec_enabled {CODEC}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für ''codec_enabled'' gibt es die folgenden Parameter: H264, MPG2, WVC1, MPG4, MJPG und WMV9.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Tvheadend_(Linux)#Streaming|Tvheadend]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11822</id>
		<title>Streaming (TvHeadend)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11822"/>
		<updated>2025-12-31T21:53:36Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* ffmpeg */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== m3u ==&lt;br /&gt;
&lt;br /&gt;
Mittels folgender URL kann man eine m3u-Liste mit allen Kanälen herunterladen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;ip des servers&amp;gt;:9981/playlist&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -L --digest &amp;quot;http://web-streaming:&amp;lt;password&amp;gt;@10.3.0.101:9981/playlist/auth/channels&amp;quot; &amp;gt; web-streaming.m3u&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ohne Passwort ==&lt;br /&gt;
&lt;br /&gt;
Benutzer mit Name &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; und ohne Passwort anlegen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:TVheadendBenutzerOhnePasswort.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend]&lt;br /&gt;
&lt;br /&gt;
== Transcoding ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:TranscodeFfmpegTvHeadend.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg]&lt;br /&gt;
&lt;br /&gt;
== Transcoding - Deprecated ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libmp3lame-dev libx264-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendCodecProfile.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendStreamingProfile.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendUserAccessEntries.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendUserPassword.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/72527-howto-tvheadend-m3u-mit-persistentem-auth-erstellen-transcoding-profile-verwende/#a-b4705b665c https://www.kodinerds.net/thread/72527-howto-tvheadend-m3u-mit-persistentem-auth-erstellen-transcoding-profile-verwende/#a-b4705b665c]&lt;br /&gt;
&lt;br /&gt;
[https://www.reddit.com/r/raspberry_pi/comments/9bzrhr/tvheadend_transcoding/ https://www.reddit.com/r/raspberry_pi/comments/9bzrhr/tvheadend_transcoding/]&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg ===&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[ffmpeg (Linux)|ffmpeg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install ffmpeg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scale=trunc(oh*a/2)*2:480&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scale=640:trunc(ow/a/2)*2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=852:480 -vcodec h264_v4l2m2m -vb 2056k -bufsize 4112k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://superuser.com/questions/1457877/ffmpeg-encoding-works-fine-on-a-raspberry-pi-3-but-hangs-on-a-raspberry-pi-4 https://superuser.com/questions/1457877/ffmpeg-encoding-works-fine-on-a-raspberry-pi-3-but-hangs-on-a-raspberry-pi-4]&lt;br /&gt;
&lt;br /&gt;
== Codecs ==&lt;br /&gt;
&lt;br /&gt;
Ob ein bestimmter Codec freigeschaltet ist, kann man sich über folgenden Befehl anzeigen lassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vcgencmd codec_enabled {CODEC}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für ''codec_enabled'' gibt es die folgenden Parameter: H264, MPG2, WVC1, MPG4, MJPG und WMV9.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Tvheadend_(Linux)#Streaming|Tvheadend]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11821</id>
		<title>Streaming (TvHeadend)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11821"/>
		<updated>2025-12-31T21:52:35Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Transcoding */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== m3u ==&lt;br /&gt;
&lt;br /&gt;
Mittels folgender URL kann man eine m3u-Liste mit allen Kanälen herunterladen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;ip des servers&amp;gt;:9981/playlist&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -L --digest &amp;quot;http://web-streaming:&amp;lt;password&amp;gt;@10.3.0.101:9981/playlist/auth/channels&amp;quot; &amp;gt; web-streaming.m3u&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ohne Passwort ==&lt;br /&gt;
&lt;br /&gt;
Benutzer mit Name &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; und ohne Passwort anlegen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:TVheadendBenutzerOhnePasswort.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend]&lt;br /&gt;
&lt;br /&gt;
== Transcoding ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:TranscodeFfmpegTvHeadend.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg]&lt;br /&gt;
&lt;br /&gt;
== Transcoding - Deprecated ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libmp3lame-dev libx264-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendCodecProfile.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendStreamingProfile.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendUserAccessEntries.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendUserPassword.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/72527-howto-tvheadend-m3u-mit-persistentem-auth-erstellen-transcoding-profile-verwende/#a-b4705b665c https://www.kodinerds.net/thread/72527-howto-tvheadend-m3u-mit-persistentem-auth-erstellen-transcoding-profile-verwende/#a-b4705b665c]&lt;br /&gt;
&lt;br /&gt;
[https://www.reddit.com/r/raspberry_pi/comments/9bzrhr/tvheadend_transcoding/ https://www.reddit.com/r/raspberry_pi/comments/9bzrhr/tvheadend_transcoding/]&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg ===&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[ffmpeg (Linux)|ffmpeg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=640:360 -vcodec h264_v4l2m2m -vb 1028k -bufsize 2048k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=480x270 -vcodec h264_v4l2m2m -vb 1028k -bufsize 3000k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&lt;br /&gt;
/usr/bin/ffmpeg -threads 4 -c:v mpeg2_mmal -v panic -hide_banner -nostats -i pipe:0 -map 0:0 -map 0:1 -map 0:2? -c:v h264_omx -s 480x270 -b:v 768k -pix_fmt yuv420p -bufsize 2048k -c:a aac -ac 1 -ar 22050 -c:s copy -f mpegts -r 25 pipe:1&lt;br /&gt;
/usr/bin/ffmpeg -threads 4 -c:v h264_mmal -i pipe:0 -c:v h264_omx -s 480x270 -b:v 768k -pix_fmt yuv420p -bufsize 3000k -c:a libmp3lame -ac 1 -ar 22050 -f mpegts -r 25 pipe:1 - 2&amp;gt;/tmp/ff.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://superuser.com/questions/1457877/ffmpeg-encoding-works-fine-on-a-raspberry-pi-3-but-hangs-on-a-raspberry-pi-4 https://superuser.com/questions/1457877/ffmpeg-encoding-works-fine-on-a-raspberry-pi-3-but-hangs-on-a-raspberry-pi-4]&lt;br /&gt;
&lt;br /&gt;
== Codecs ==&lt;br /&gt;
&lt;br /&gt;
Ob ein bestimmter Codec freigeschaltet ist, kann man sich über folgenden Befehl anzeigen lassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vcgencmd codec_enabled {CODEC}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für ''codec_enabled'' gibt es die folgenden Parameter: H264, MPG2, WVC1, MPG4, MJPG und WMV9.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Tvheadend_(Linux)#Streaming|Tvheadend]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11820</id>
		<title>Streaming (TvHeadend)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11820"/>
		<updated>2025-12-31T21:49:50Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Transcoding */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== m3u ==&lt;br /&gt;
&lt;br /&gt;
Mittels folgender URL kann man eine m3u-Liste mit allen Kanälen herunterladen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;ip des servers&amp;gt;:9981/playlist&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -L --digest &amp;quot;http://web-streaming:&amp;lt;password&amp;gt;@10.3.0.101:9981/playlist/auth/channels&amp;quot; &amp;gt; web-streaming.m3u&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ohne Passwort ==&lt;br /&gt;
&lt;br /&gt;
Benutzer mit Name &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; und ohne Passwort anlegen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:TVheadendBenutzerOhnePasswort.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend]&lt;br /&gt;
&lt;br /&gt;
== Transcoding ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install ffmpeg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scale=trunc(oh*a/2)*2:480&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scale=640:trunc(ow/a/2)*2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=trunc(oh*a/2)*2:480 -vcodec h264_v4l2m2m -vb 2056k -bufsize 4112k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=852:480 -vcodec h264_v4l2m2m -vb 2056k -bufsize 4112k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TranscodeFfmpegTvHeadend.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg]&lt;br /&gt;
&lt;br /&gt;
== Transcoding - Deprecated ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libmp3lame-dev libx264-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendCodecProfile.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendStreamingProfile.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendUserAccessEntries.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendUserPassword.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/72527-howto-tvheadend-m3u-mit-persistentem-auth-erstellen-transcoding-profile-verwende/#a-b4705b665c https://www.kodinerds.net/thread/72527-howto-tvheadend-m3u-mit-persistentem-auth-erstellen-transcoding-profile-verwende/#a-b4705b665c]&lt;br /&gt;
&lt;br /&gt;
[https://www.reddit.com/r/raspberry_pi/comments/9bzrhr/tvheadend_transcoding/ https://www.reddit.com/r/raspberry_pi/comments/9bzrhr/tvheadend_transcoding/]&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg ===&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[ffmpeg (Linux)|ffmpeg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=640:360 -vcodec h264_v4l2m2m -vb 1028k -bufsize 2048k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=480x270 -vcodec h264_v4l2m2m -vb 1028k -bufsize 3000k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&lt;br /&gt;
/usr/bin/ffmpeg -threads 4 -c:v mpeg2_mmal -v panic -hide_banner -nostats -i pipe:0 -map 0:0 -map 0:1 -map 0:2? -c:v h264_omx -s 480x270 -b:v 768k -pix_fmt yuv420p -bufsize 2048k -c:a aac -ac 1 -ar 22050 -c:s copy -f mpegts -r 25 pipe:1&lt;br /&gt;
/usr/bin/ffmpeg -threads 4 -c:v h264_mmal -i pipe:0 -c:v h264_omx -s 480x270 -b:v 768k -pix_fmt yuv420p -bufsize 3000k -c:a libmp3lame -ac 1 -ar 22050 -f mpegts -r 25 pipe:1 - 2&amp;gt;/tmp/ff.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://superuser.com/questions/1457877/ffmpeg-encoding-works-fine-on-a-raspberry-pi-3-but-hangs-on-a-raspberry-pi-4 https://superuser.com/questions/1457877/ffmpeg-encoding-works-fine-on-a-raspberry-pi-3-but-hangs-on-a-raspberry-pi-4]&lt;br /&gt;
&lt;br /&gt;
== Codecs ==&lt;br /&gt;
&lt;br /&gt;
Ob ein bestimmter Codec freigeschaltet ist, kann man sich über folgenden Befehl anzeigen lassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vcgencmd codec_enabled {CODEC}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für ''codec_enabled'' gibt es die folgenden Parameter: H264, MPG2, WVC1, MPG4, MJPG und WMV9.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Tvheadend_(Linux)#Streaming|Tvheadend]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11819</id>
		<title>Streaming (TvHeadend)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11819"/>
		<updated>2025-12-31T14:26:14Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Transcoding */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== m3u ==&lt;br /&gt;
&lt;br /&gt;
Mittels folgender URL kann man eine m3u-Liste mit allen Kanälen herunterladen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;ip des servers&amp;gt;:9981/playlist&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -L --digest &amp;quot;http://web-streaming:&amp;lt;password&amp;gt;@10.3.0.101:9981/playlist/auth/channels&amp;quot; &amp;gt; web-streaming.m3u&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ohne Passwort ==&lt;br /&gt;
&lt;br /&gt;
Benutzer mit Name &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; und ohne Passwort anlegen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:TVheadendBenutzerOhnePasswort.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend]&lt;br /&gt;
&lt;br /&gt;
== Transcoding ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install ffmpeg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scale=trunc(oh*a/2)*2:480&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scale=640:trunc(ow/a/2)*2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=trunc(oh*a/2)*2:480 -vcodec h264_v4l2m2m -vb 2056k -bufsize 4112k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=852:480,setsar=1 -vcodec h264_v4l2m2m -vb 2056k -bufsize 4112k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TranscodeFfmpegTvHeadend.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg]&lt;br /&gt;
&lt;br /&gt;
== Transcoding - Deprecated ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libmp3lame-dev libx264-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendCodecProfile.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendStreamingProfile.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendUserAccessEntries.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendUserPassword.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/72527-howto-tvheadend-m3u-mit-persistentem-auth-erstellen-transcoding-profile-verwende/#a-b4705b665c https://www.kodinerds.net/thread/72527-howto-tvheadend-m3u-mit-persistentem-auth-erstellen-transcoding-profile-verwende/#a-b4705b665c]&lt;br /&gt;
&lt;br /&gt;
[https://www.reddit.com/r/raspberry_pi/comments/9bzrhr/tvheadend_transcoding/ https://www.reddit.com/r/raspberry_pi/comments/9bzrhr/tvheadend_transcoding/]&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg ===&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[ffmpeg (Linux)|ffmpeg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=640:360 -vcodec h264_v4l2m2m -vb 1028k -bufsize 2048k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=480x270 -vcodec h264_v4l2m2m -vb 1028k -bufsize 3000k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&lt;br /&gt;
/usr/bin/ffmpeg -threads 4 -c:v mpeg2_mmal -v panic -hide_banner -nostats -i pipe:0 -map 0:0 -map 0:1 -map 0:2? -c:v h264_omx -s 480x270 -b:v 768k -pix_fmt yuv420p -bufsize 2048k -c:a aac -ac 1 -ar 22050 -c:s copy -f mpegts -r 25 pipe:1&lt;br /&gt;
/usr/bin/ffmpeg -threads 4 -c:v h264_mmal -i pipe:0 -c:v h264_omx -s 480x270 -b:v 768k -pix_fmt yuv420p -bufsize 3000k -c:a libmp3lame -ac 1 -ar 22050 -f mpegts -r 25 pipe:1 - 2&amp;gt;/tmp/ff.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://superuser.com/questions/1457877/ffmpeg-encoding-works-fine-on-a-raspberry-pi-3-but-hangs-on-a-raspberry-pi-4 https://superuser.com/questions/1457877/ffmpeg-encoding-works-fine-on-a-raspberry-pi-3-but-hangs-on-a-raspberry-pi-4]&lt;br /&gt;
&lt;br /&gt;
== Codecs ==&lt;br /&gt;
&lt;br /&gt;
Ob ein bestimmter Codec freigeschaltet ist, kann man sich über folgenden Befehl anzeigen lassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vcgencmd codec_enabled {CODEC}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für ''codec_enabled'' gibt es die folgenden Parameter: H264, MPG2, WVC1, MPG4, MJPG und WMV9.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Tvheadend_(Linux)#Streaming|Tvheadend]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11818</id>
		<title>Streaming (TvHeadend)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11818"/>
		<updated>2025-12-31T12:00:21Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Transcoding */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== m3u ==&lt;br /&gt;
&lt;br /&gt;
Mittels folgender URL kann man eine m3u-Liste mit allen Kanälen herunterladen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;ip des servers&amp;gt;:9981/playlist&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -L --digest &amp;quot;http://web-streaming:&amp;lt;password&amp;gt;@10.3.0.101:9981/playlist/auth/channels&amp;quot; &amp;gt; web-streaming.m3u&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ohne Passwort ==&lt;br /&gt;
&lt;br /&gt;
Benutzer mit Name &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; und ohne Passwort anlegen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:TVheadendBenutzerOhnePasswort.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend]&lt;br /&gt;
&lt;br /&gt;
== Transcoding ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install ffmpeg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scale=trunc(oh*a/2)*2:480&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scale=640:trunc(ow/a/2)*2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=trunc(oh*a/2)*2:480 -vcodec h264_v4l2m2m -vb 2056k -bufsize 4112k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TranscodeFfmpegTvHeadend.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg]&lt;br /&gt;
&lt;br /&gt;
== Transcoding - Deprecated ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libmp3lame-dev libx264-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendCodecProfile.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendStreamingProfile.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendUserAccessEntries.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendUserPassword.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/72527-howto-tvheadend-m3u-mit-persistentem-auth-erstellen-transcoding-profile-verwende/#a-b4705b665c https://www.kodinerds.net/thread/72527-howto-tvheadend-m3u-mit-persistentem-auth-erstellen-transcoding-profile-verwende/#a-b4705b665c]&lt;br /&gt;
&lt;br /&gt;
[https://www.reddit.com/r/raspberry_pi/comments/9bzrhr/tvheadend_transcoding/ https://www.reddit.com/r/raspberry_pi/comments/9bzrhr/tvheadend_transcoding/]&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg ===&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[ffmpeg (Linux)|ffmpeg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=640:360 -vcodec h264_v4l2m2m -vb 1028k -bufsize 2048k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=480x270 -vcodec h264_v4l2m2m -vb 1028k -bufsize 3000k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&lt;br /&gt;
/usr/bin/ffmpeg -threads 4 -c:v mpeg2_mmal -v panic -hide_banner -nostats -i pipe:0 -map 0:0 -map 0:1 -map 0:2? -c:v h264_omx -s 480x270 -b:v 768k -pix_fmt yuv420p -bufsize 2048k -c:a aac -ac 1 -ar 22050 -c:s copy -f mpegts -r 25 pipe:1&lt;br /&gt;
/usr/bin/ffmpeg -threads 4 -c:v h264_mmal -i pipe:0 -c:v h264_omx -s 480x270 -b:v 768k -pix_fmt yuv420p -bufsize 3000k -c:a libmp3lame -ac 1 -ar 22050 -f mpegts -r 25 pipe:1 - 2&amp;gt;/tmp/ff.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://superuser.com/questions/1457877/ffmpeg-encoding-works-fine-on-a-raspberry-pi-3-but-hangs-on-a-raspberry-pi-4 https://superuser.com/questions/1457877/ffmpeg-encoding-works-fine-on-a-raspberry-pi-3-but-hangs-on-a-raspberry-pi-4]&lt;br /&gt;
&lt;br /&gt;
== Codecs ==&lt;br /&gt;
&lt;br /&gt;
Ob ein bestimmter Codec freigeschaltet ist, kann man sich über folgenden Befehl anzeigen lassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vcgencmd codec_enabled {CODEC}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für ''codec_enabled'' gibt es die folgenden Parameter: H264, MPG2, WVC1, MPG4, MJPG und WMV9.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Tvheadend_(Linux)#Streaming|Tvheadend]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11817</id>
		<title>Streaming (TvHeadend)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11817"/>
		<updated>2025-12-31T11:53:26Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== m3u ==&lt;br /&gt;
&lt;br /&gt;
Mittels folgender URL kann man eine m3u-Liste mit allen Kanälen herunterladen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;ip des servers&amp;gt;:9981/playlist&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -L --digest &amp;quot;http://web-streaming:&amp;lt;password&amp;gt;@10.3.0.101:9981/playlist/auth/channels&amp;quot; &amp;gt; web-streaming.m3u&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ohne Passwort ==&lt;br /&gt;
&lt;br /&gt;
Benutzer mit Name &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; und ohne Passwort anlegen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:TVheadendBenutzerOhnePasswort.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend]&lt;br /&gt;
&lt;br /&gt;
== Transcoding ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install ffmpeg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=640:360 -vcodec h264_v4l2m2m -vb 1028k -bufsize 2048k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scale=trunc(oh*a/2)*2:480&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scale=640:trunc(ow/a/2)*2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=trunc(oh*a/2)*2:480 -vcodec h264_v4l2m2m -vb 2056k -bufsize 4112k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TranscodeFfmpegTvHeadend.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg https://stackoverflow.com/questions/8218363/maintaining-aspect-ratio-with-ffmpeg]&lt;br /&gt;
&lt;br /&gt;
== Transcoding - Deprecated ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libmp3lame-dev libx264-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendCodecProfile.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendStreamingProfile.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendUserAccessEntries.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendUserPassword.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/72527-howto-tvheadend-m3u-mit-persistentem-auth-erstellen-transcoding-profile-verwende/#a-b4705b665c https://www.kodinerds.net/thread/72527-howto-tvheadend-m3u-mit-persistentem-auth-erstellen-transcoding-profile-verwende/#a-b4705b665c]&lt;br /&gt;
&lt;br /&gt;
[https://www.reddit.com/r/raspberry_pi/comments/9bzrhr/tvheadend_transcoding/ https://www.reddit.com/r/raspberry_pi/comments/9bzrhr/tvheadend_transcoding/]&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg ===&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[ffmpeg (Linux)|ffmpeg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=640:360 -vcodec h264_v4l2m2m -vb 1028k -bufsize 2048k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=480x270 -vcodec h264_v4l2m2m -vb 1028k -bufsize 3000k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&lt;br /&gt;
/usr/bin/ffmpeg -threads 4 -c:v mpeg2_mmal -v panic -hide_banner -nostats -i pipe:0 -map 0:0 -map 0:1 -map 0:2? -c:v h264_omx -s 480x270 -b:v 768k -pix_fmt yuv420p -bufsize 2048k -c:a aac -ac 1 -ar 22050 -c:s copy -f mpegts -r 25 pipe:1&lt;br /&gt;
/usr/bin/ffmpeg -threads 4 -c:v h264_mmal -i pipe:0 -c:v h264_omx -s 480x270 -b:v 768k -pix_fmt yuv420p -bufsize 3000k -c:a libmp3lame -ac 1 -ar 22050 -f mpegts -r 25 pipe:1 - 2&amp;gt;/tmp/ff.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://superuser.com/questions/1457877/ffmpeg-encoding-works-fine-on-a-raspberry-pi-3-but-hangs-on-a-raspberry-pi-4 https://superuser.com/questions/1457877/ffmpeg-encoding-works-fine-on-a-raspberry-pi-3-but-hangs-on-a-raspberry-pi-4]&lt;br /&gt;
&lt;br /&gt;
== Codecs ==&lt;br /&gt;
&lt;br /&gt;
Ob ein bestimmter Codec freigeschaltet ist, kann man sich über folgenden Befehl anzeigen lassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vcgencmd codec_enabled {CODEC}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für ''codec_enabled'' gibt es die folgenden Parameter: H264, MPG2, WVC1, MPG4, MJPG und WMV9.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Tvheadend_(Linux)#Streaming|Tvheadend]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11816</id>
		<title>Streaming (TvHeadend)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11816"/>
		<updated>2025-12-31T11:52:52Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Transcoding */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== m3u ==&lt;br /&gt;
&lt;br /&gt;
Mittels folgender URL kann man eine m3u-Liste mit allen Kanälen herunterladen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;ip des servers&amp;gt;:9981/playlist&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -L --digest &amp;quot;http://web-streaming:&amp;lt;password&amp;gt;@10.3.0.101:9981/playlist/auth/channels&amp;quot; &amp;gt; web-streaming.m3u&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ohne Passwort ==&lt;br /&gt;
&lt;br /&gt;
Benutzer mit Name &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; und ohne Passwort anlegen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:TVheadendBenutzerOhnePasswort.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend]&lt;br /&gt;
&lt;br /&gt;
== Transcoding ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install ffmpeg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=640:360 -vcodec h264_v4l2m2m -vb 1028k -bufsize 2048k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scale=trunc(oh*a/2)*2:480&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scale=640:trunc(ow/a/2)*2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=trunc(oh*a/2)*2:480 -vcodec h264_v4l2m2m -vb 2056k -bufsize 4112k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TranscodeFfmpegTvHeadend.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
== Transcoding - Deprecated ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libmp3lame-dev libx264-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendCodecProfile.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendStreamingProfile.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendUserAccessEntries.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendUserPassword.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/72527-howto-tvheadend-m3u-mit-persistentem-auth-erstellen-transcoding-profile-verwende/#a-b4705b665c https://www.kodinerds.net/thread/72527-howto-tvheadend-m3u-mit-persistentem-auth-erstellen-transcoding-profile-verwende/#a-b4705b665c]&lt;br /&gt;
&lt;br /&gt;
[https://www.reddit.com/r/raspberry_pi/comments/9bzrhr/tvheadend_transcoding/ https://www.reddit.com/r/raspberry_pi/comments/9bzrhr/tvheadend_transcoding/]&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg ===&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[ffmpeg (Linux)|ffmpeg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=640:360 -vcodec h264_v4l2m2m -vb 1028k -bufsize 2048k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=480x270 -vcodec h264_v4l2m2m -vb 1028k -bufsize 3000k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&lt;br /&gt;
/usr/bin/ffmpeg -threads 4 -c:v mpeg2_mmal -v panic -hide_banner -nostats -i pipe:0 -map 0:0 -map 0:1 -map 0:2? -c:v h264_omx -s 480x270 -b:v 768k -pix_fmt yuv420p -bufsize 2048k -c:a aac -ac 1 -ar 22050 -c:s copy -f mpegts -r 25 pipe:1&lt;br /&gt;
/usr/bin/ffmpeg -threads 4 -c:v h264_mmal -i pipe:0 -c:v h264_omx -s 480x270 -b:v 768k -pix_fmt yuv420p -bufsize 3000k -c:a libmp3lame -ac 1 -ar 22050 -f mpegts -r 25 pipe:1 - 2&amp;gt;/tmp/ff.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://superuser.com/questions/1457877/ffmpeg-encoding-works-fine-on-a-raspberry-pi-3-but-hangs-on-a-raspberry-pi-4 https://superuser.com/questions/1457877/ffmpeg-encoding-works-fine-on-a-raspberry-pi-3-but-hangs-on-a-raspberry-pi-4]&lt;br /&gt;
&lt;br /&gt;
== Codecs ==&lt;br /&gt;
&lt;br /&gt;
Ob ein bestimmter Codec freigeschaltet ist, kann man sich über folgenden Befehl anzeigen lassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vcgencmd codec_enabled {CODEC}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für ''codec_enabled'' gibt es die folgenden Parameter: H264, MPG2, WVC1, MPG4, MJPG und WMV9.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Tvheadend_(Linux)#Streaming|Tvheadend]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11815</id>
		<title>Streaming (TvHeadend)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11815"/>
		<updated>2025-12-30T09:19:50Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Transcoding */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== m3u ==&lt;br /&gt;
&lt;br /&gt;
Mittels folgender URL kann man eine m3u-Liste mit allen Kanälen herunterladen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;ip des servers&amp;gt;:9981/playlist&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -L --digest &amp;quot;http://web-streaming:&amp;lt;password&amp;gt;@10.3.0.101:9981/playlist/auth/channels&amp;quot; &amp;gt; web-streaming.m3u&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ohne Passwort ==&lt;br /&gt;
&lt;br /&gt;
Benutzer mit Name &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; und ohne Passwort anlegen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:TVheadendBenutzerOhnePasswort.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend]&lt;br /&gt;
&lt;br /&gt;
== Transcoding ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install ffmpeg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=640:360 -vcodec h264_v4l2m2m -vb 1028k -bufsize 2048k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TranscodeFfmpegTvHeadend.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
== Transcoding - Deprecated ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libmp3lame-dev libx264-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendCodecProfile.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendStreamingProfile.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendUserAccessEntries.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendUserPassword.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/72527-howto-tvheadend-m3u-mit-persistentem-auth-erstellen-transcoding-profile-verwende/#a-b4705b665c https://www.kodinerds.net/thread/72527-howto-tvheadend-m3u-mit-persistentem-auth-erstellen-transcoding-profile-verwende/#a-b4705b665c]&lt;br /&gt;
&lt;br /&gt;
[https://www.reddit.com/r/raspberry_pi/comments/9bzrhr/tvheadend_transcoding/ https://www.reddit.com/r/raspberry_pi/comments/9bzrhr/tvheadend_transcoding/]&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg ===&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[ffmpeg (Linux)|ffmpeg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=640:360 -vcodec h264_v4l2m2m -vb 1028k -bufsize 2048k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=480x270 -vcodec h264_v4l2m2m -vb 1028k -bufsize 3000k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&lt;br /&gt;
/usr/bin/ffmpeg -threads 4 -c:v mpeg2_mmal -v panic -hide_banner -nostats -i pipe:0 -map 0:0 -map 0:1 -map 0:2? -c:v h264_omx -s 480x270 -b:v 768k -pix_fmt yuv420p -bufsize 2048k -c:a aac -ac 1 -ar 22050 -c:s copy -f mpegts -r 25 pipe:1&lt;br /&gt;
/usr/bin/ffmpeg -threads 4 -c:v h264_mmal -i pipe:0 -c:v h264_omx -s 480x270 -b:v 768k -pix_fmt yuv420p -bufsize 3000k -c:a libmp3lame -ac 1 -ar 22050 -f mpegts -r 25 pipe:1 - 2&amp;gt;/tmp/ff.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://superuser.com/questions/1457877/ffmpeg-encoding-works-fine-on-a-raspberry-pi-3-but-hangs-on-a-raspberry-pi-4 https://superuser.com/questions/1457877/ffmpeg-encoding-works-fine-on-a-raspberry-pi-3-but-hangs-on-a-raspberry-pi-4]&lt;br /&gt;
&lt;br /&gt;
== Codecs ==&lt;br /&gt;
&lt;br /&gt;
Ob ein bestimmter Codec freigeschaltet ist, kann man sich über folgenden Befehl anzeigen lassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vcgencmd codec_enabled {CODEC}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für ''codec_enabled'' gibt es die folgenden Parameter: H264, MPG2, WVC1, MPG4, MJPG und WMV9.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Tvheadend_(Linux)#Streaming|Tvheadend]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11814</id>
		<title>Streaming (TvHeadend)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11814"/>
		<updated>2025-12-30T09:18:28Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Transcoding */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== m3u ==&lt;br /&gt;
&lt;br /&gt;
Mittels folgender URL kann man eine m3u-Liste mit allen Kanälen herunterladen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;ip des servers&amp;gt;:9981/playlist&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -L --digest &amp;quot;http://web-streaming:&amp;lt;password&amp;gt;@10.3.0.101:9981/playlist/auth/channels&amp;quot; &amp;gt; web-streaming.m3u&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ohne Passwort ==&lt;br /&gt;
&lt;br /&gt;
Benutzer mit Name &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; und ohne Passwort anlegen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:TVheadendBenutzerOhnePasswort.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend]&lt;br /&gt;
&lt;br /&gt;
== Transcoding ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install ffmpeg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TranscodeFfmpegTvHeadend.png|400px]]&lt;br /&gt;
&lt;br /&gt;
== Transcoding - Deprecated ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libmp3lame-dev libx264-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendCodecProfile.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendStreamingProfile.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendUserAccessEntries.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendUserPassword.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/72527-howto-tvheadend-m3u-mit-persistentem-auth-erstellen-transcoding-profile-verwende/#a-b4705b665c https://www.kodinerds.net/thread/72527-howto-tvheadend-m3u-mit-persistentem-auth-erstellen-transcoding-profile-verwende/#a-b4705b665c]&lt;br /&gt;
&lt;br /&gt;
[https://www.reddit.com/r/raspberry_pi/comments/9bzrhr/tvheadend_transcoding/ https://www.reddit.com/r/raspberry_pi/comments/9bzrhr/tvheadend_transcoding/]&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg ===&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[ffmpeg (Linux)|ffmpeg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=640:360 -vcodec h264_v4l2m2m -vb 1028k -bufsize 2048k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=480x270 -vcodec h264_v4l2m2m -vb 1028k -bufsize 3000k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&lt;br /&gt;
/usr/bin/ffmpeg -threads 4 -c:v mpeg2_mmal -v panic -hide_banner -nostats -i pipe:0 -map 0:0 -map 0:1 -map 0:2? -c:v h264_omx -s 480x270 -b:v 768k -pix_fmt yuv420p -bufsize 2048k -c:a aac -ac 1 -ar 22050 -c:s copy -f mpegts -r 25 pipe:1&lt;br /&gt;
/usr/bin/ffmpeg -threads 4 -c:v h264_mmal -i pipe:0 -c:v h264_omx -s 480x270 -b:v 768k -pix_fmt yuv420p -bufsize 3000k -c:a libmp3lame -ac 1 -ar 22050 -f mpegts -r 25 pipe:1 - 2&amp;gt;/tmp/ff.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://superuser.com/questions/1457877/ffmpeg-encoding-works-fine-on-a-raspberry-pi-3-but-hangs-on-a-raspberry-pi-4 https://superuser.com/questions/1457877/ffmpeg-encoding-works-fine-on-a-raspberry-pi-3-but-hangs-on-a-raspberry-pi-4]&lt;br /&gt;
&lt;br /&gt;
== Codecs ==&lt;br /&gt;
&lt;br /&gt;
Ob ein bestimmter Codec freigeschaltet ist, kann man sich über folgenden Befehl anzeigen lassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vcgencmd codec_enabled {CODEC}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für ''codec_enabled'' gibt es die folgenden Parameter: H264, MPG2, WVC1, MPG4, MJPG und WMV9.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Tvheadend_(Linux)#Streaming|Tvheadend]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Datei:TranscodeFfmpegTvHeadend.png&amp;diff=11813</id>
		<title>Datei:TranscodeFfmpegTvHeadend.png</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Datei:TranscodeFfmpegTvHeadend.png&amp;diff=11813"/>
		<updated>2025-12-30T09:17:05Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11812</id>
		<title>Streaming (TvHeadend)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11812"/>
		<updated>2025-12-22T12:17:13Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Ohne Passwort */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== m3u ==&lt;br /&gt;
&lt;br /&gt;
Mittels folgender URL kann man eine m3u-Liste mit allen Kanälen herunterladen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;ip des servers&amp;gt;:9981/playlist&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -L --digest &amp;quot;http://web-streaming:&amp;lt;password&amp;gt;@10.3.0.101:9981/playlist/auth/channels&amp;quot; &amp;gt; web-streaming.m3u&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ohne Passwort ==&lt;br /&gt;
&lt;br /&gt;
Benutzer mit Name &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt; und ohne Passwort anlegen.&lt;br /&gt;
&lt;br /&gt;
[[Datei:TVheadendBenutzerOhnePasswort.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend]&lt;br /&gt;
&lt;br /&gt;
== Transcoding ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libmp3lame-dev libx264-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendCodecProfile.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendStreamingProfile.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendUserAccessEntries.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendUserPassword.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/72527-howto-tvheadend-m3u-mit-persistentem-auth-erstellen-transcoding-profile-verwende/#a-b4705b665c https://www.kodinerds.net/thread/72527-howto-tvheadend-m3u-mit-persistentem-auth-erstellen-transcoding-profile-verwende/#a-b4705b665c]&lt;br /&gt;
&lt;br /&gt;
[https://www.reddit.com/r/raspberry_pi/comments/9bzrhr/tvheadend_transcoding/ https://www.reddit.com/r/raspberry_pi/comments/9bzrhr/tvheadend_transcoding/]&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg ===&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[ffmpeg (Linux)|ffmpeg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=640:360 -vcodec h264_v4l2m2m -vb 1028k -bufsize 2048k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=480x270 -vcodec h264_v4l2m2m -vb 1028k -bufsize 3000k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&lt;br /&gt;
/usr/bin/ffmpeg -threads 4 -c:v mpeg2_mmal -v panic -hide_banner -nostats -i pipe:0 -map 0:0 -map 0:1 -map 0:2? -c:v h264_omx -s 480x270 -b:v 768k -pix_fmt yuv420p -bufsize 2048k -c:a aac -ac 1 -ar 22050 -c:s copy -f mpegts -r 25 pipe:1&lt;br /&gt;
/usr/bin/ffmpeg -threads 4 -c:v h264_mmal -i pipe:0 -c:v h264_omx -s 480x270 -b:v 768k -pix_fmt yuv420p -bufsize 3000k -c:a libmp3lame -ac 1 -ar 22050 -f mpegts -r 25 pipe:1 - 2&amp;gt;/tmp/ff.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://superuser.com/questions/1457877/ffmpeg-encoding-works-fine-on-a-raspberry-pi-3-but-hangs-on-a-raspberry-pi-4 https://superuser.com/questions/1457877/ffmpeg-encoding-works-fine-on-a-raspberry-pi-3-but-hangs-on-a-raspberry-pi-4]&lt;br /&gt;
&lt;br /&gt;
== Codecs ==&lt;br /&gt;
&lt;br /&gt;
Ob ein bestimmter Codec freigeschaltet ist, kann man sich über folgenden Befehl anzeigen lassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vcgencmd codec_enabled {CODEC}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für ''codec_enabled'' gibt es die folgenden Parameter: H264, MPG2, WVC1, MPG4, MJPG und WMV9.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Tvheadend_(Linux)#Streaming|Tvheadend]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11811</id>
		<title>Streaming (TvHeadend)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11811"/>
		<updated>2025-12-22T12:14:59Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Ohne Passwort */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== m3u ==&lt;br /&gt;
&lt;br /&gt;
Mittels folgender URL kann man eine m3u-Liste mit allen Kanälen herunterladen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;ip des servers&amp;gt;:9981/playlist&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -L --digest &amp;quot;http://web-streaming:&amp;lt;password&amp;gt;@10.3.0.101:9981/playlist/auth/channels&amp;quot; &amp;gt; web-streaming.m3u&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ohne Passwort ==&lt;br /&gt;
&lt;br /&gt;
[[Datei:TVheadendBenutzerOhnePasswort.png|400px]]&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend]&lt;br /&gt;
&lt;br /&gt;
== Transcoding ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libmp3lame-dev libx264-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendCodecProfile.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendStreamingProfile.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendUserAccessEntries.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendUserPassword.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/72527-howto-tvheadend-m3u-mit-persistentem-auth-erstellen-transcoding-profile-verwende/#a-b4705b665c https://www.kodinerds.net/thread/72527-howto-tvheadend-m3u-mit-persistentem-auth-erstellen-transcoding-profile-verwende/#a-b4705b665c]&lt;br /&gt;
&lt;br /&gt;
[https://www.reddit.com/r/raspberry_pi/comments/9bzrhr/tvheadend_transcoding/ https://www.reddit.com/r/raspberry_pi/comments/9bzrhr/tvheadend_transcoding/]&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg ===&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[ffmpeg (Linux)|ffmpeg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=640:360 -vcodec h264_v4l2m2m -vb 1028k -bufsize 2048k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=480x270 -vcodec h264_v4l2m2m -vb 1028k -bufsize 3000k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&lt;br /&gt;
/usr/bin/ffmpeg -threads 4 -c:v mpeg2_mmal -v panic -hide_banner -nostats -i pipe:0 -map 0:0 -map 0:1 -map 0:2? -c:v h264_omx -s 480x270 -b:v 768k -pix_fmt yuv420p -bufsize 2048k -c:a aac -ac 1 -ar 22050 -c:s copy -f mpegts -r 25 pipe:1&lt;br /&gt;
/usr/bin/ffmpeg -threads 4 -c:v h264_mmal -i pipe:0 -c:v h264_omx -s 480x270 -b:v 768k -pix_fmt yuv420p -bufsize 3000k -c:a libmp3lame -ac 1 -ar 22050 -f mpegts -r 25 pipe:1 - 2&amp;gt;/tmp/ff.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://superuser.com/questions/1457877/ffmpeg-encoding-works-fine-on-a-raspberry-pi-3-but-hangs-on-a-raspberry-pi-4 https://superuser.com/questions/1457877/ffmpeg-encoding-works-fine-on-a-raspberry-pi-3-but-hangs-on-a-raspberry-pi-4]&lt;br /&gt;
&lt;br /&gt;
== Codecs ==&lt;br /&gt;
&lt;br /&gt;
Ob ein bestimmter Codec freigeschaltet ist, kann man sich über folgenden Befehl anzeigen lassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vcgencmd codec_enabled {CODEC}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für ''codec_enabled'' gibt es die folgenden Parameter: H264, MPG2, WVC1, MPG4, MJPG und WMV9.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Tvheadend_(Linux)#Streaming|Tvheadend]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Datei:TVheadendBenutzerOhnePasswort.png&amp;diff=11810</id>
		<title>Datei:TVheadendBenutzerOhnePasswort.png</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Datei:TVheadendBenutzerOhnePasswort.png&amp;diff=11810"/>
		<updated>2025-12-22T12:14:53Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11809</id>
		<title>Streaming (TvHeadend)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Streaming_(TvHeadend)&amp;diff=11809"/>
		<updated>2025-12-22T11:05:47Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== m3u ==&lt;br /&gt;
&lt;br /&gt;
Mittels folgender URL kann man eine m3u-Liste mit allen Kanälen herunterladen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;ip des servers&amp;gt;:9981/playlist&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -L --digest &amp;quot;http://web-streaming:&amp;lt;password&amp;gt;@10.3.0.101:9981/playlist/auth/channels&amp;quot; &amp;gt; web-streaming.m3u&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ohne Passwort ==&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend https://tvheadend.org/d/9071-how-to-disable-username-and-password-prompt-for-streaming-links-in-tvheadend]&lt;br /&gt;
&lt;br /&gt;
== Transcoding ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libmp3lame-dev libx264-dev&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendCodecProfile.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendStreamingProfile.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendUserAccessEntries.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendUserPassword.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/72527-howto-tvheadend-m3u-mit-persistentem-auth-erstellen-transcoding-profile-verwende/#a-b4705b665c https://www.kodinerds.net/thread/72527-howto-tvheadend-m3u-mit-persistentem-auth-erstellen-transcoding-profile-verwende/#a-b4705b665c]&lt;br /&gt;
&lt;br /&gt;
[https://www.reddit.com/r/raspberry_pi/comments/9bzrhr/tvheadend_transcoding/ https://www.reddit.com/r/raspberry_pi/comments/9bzrhr/tvheadend_transcoding/]&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg ===&lt;br /&gt;
&lt;br /&gt;
Siehe auch [[ffmpeg (Linux)|ffmpeg]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=640:360 -vcodec h264_v4l2m2m -vb 1028k -bufsize 2048k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
/usr/bin/ffmpeg -loglevel quiet -i pipe:0 -vf scale=480x270 -vcodec h264_v4l2m2m -vb 1028k -bufsize 3000k -g 100 -af &amp;quot;aresample=async=1:first_pts=0&amp;quot; -acodec mp3 -ab 128k -f mpegts pipe:1&lt;br /&gt;
&lt;br /&gt;
/usr/bin/ffmpeg -threads 4 -c:v mpeg2_mmal -v panic -hide_banner -nostats -i pipe:0 -map 0:0 -map 0:1 -map 0:2? -c:v h264_omx -s 480x270 -b:v 768k -pix_fmt yuv420p -bufsize 2048k -c:a aac -ac 1 -ar 22050 -c:s copy -f mpegts -r 25 pipe:1&lt;br /&gt;
/usr/bin/ffmpeg -threads 4 -c:v h264_mmal -i pipe:0 -c:v h264_omx -s 480x270 -b:v 768k -pix_fmt yuv420p -bufsize 3000k -c:a libmp3lame -ac 1 -ar 22050 -f mpegts -r 25 pipe:1 - 2&amp;gt;/tmp/ff.log&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/ https://www.kodinerds.net/thread/75265-transcoding-auf-handy-tablet-mit-tvheadend-raspberry-4-l%C3%A4uft-endlich/]&lt;br /&gt;
&lt;br /&gt;
[https://superuser.com/questions/1457877/ffmpeg-encoding-works-fine-on-a-raspberry-pi-3-but-hangs-on-a-raspberry-pi-4 https://superuser.com/questions/1457877/ffmpeg-encoding-works-fine-on-a-raspberry-pi-3-but-hangs-on-a-raspberry-pi-4]&lt;br /&gt;
&lt;br /&gt;
== Codecs ==&lt;br /&gt;
&lt;br /&gt;
Ob ein bestimmter Codec freigeschaltet ist, kann man sich über folgenden Befehl anzeigen lassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vcgencmd codec_enabled {CODEC}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für ''codec_enabled'' gibt es die folgenden Parameter: H264, MPG2, WVC1, MPG4, MJPG und WMV9.&lt;br /&gt;
&lt;br /&gt;
=== Links ===&lt;br /&gt;
&lt;br /&gt;
[https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm https://www.elektronik-kompendium.de/sites/raspberry-pi/2006071.htm]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Tvheadend_(Linux)#Streaming|Tvheadend]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Tvheadend_(Linux)&amp;diff=11808</id>
		<title>Tvheadend (Linux)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Tvheadend_(Linux)&amp;diff=11808"/>
		<updated>2025-12-22T07:33:18Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Per Repository */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{note|Noch in Bearbeitung}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Hauppauge Nova S2 ===&lt;br /&gt;
&lt;br /&gt;
==== Seriennummer ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;200000 LF Rev BAH9&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Firmware installieren ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Get both 3103 and 3103b firmware&lt;br /&gt;
sudo su&lt;br /&gt;
cd /lib/firmware&lt;br /&gt;
wget https://github.com/OpenELEC/dvb-firmware/blob/master/firmware/dvb-demod-m88ds3103.fw?raw=true # 3103 (non-b) firmware&lt;br /&gt;
wget https://www.hauppauge.com/linux/dvb-demod-m88ds3103b.fw # 3103b firmware&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach TV-Stick anstecken und der Aufruf von &amp;lt;code&amp;gt;dmesg&amp;lt;/code&amp;gt; sollte danach in etwa folgende Zeilen ausgeben:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Dmesg_hauppauge_nova_s2.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://www.hauppauge.de/site/products/data_nova-s2.html https://www.hauppauge.de/site/products/data_nova-s2.html]&lt;br /&gt;
&lt;br /&gt;
[https://www.hauppauge.com/pages/support/support_linux.html#pi https://www.hauppauge.com/pages/support/support_linux.html#pi]&lt;br /&gt;
&lt;br /&gt;
[https://forum-raspberrypi.de/forum/thread/49360-geloest-dvb-s2-usb-stick-am-rpi4/ https://forum-raspberrypi.de/forum/thread/49360-geloest-dvb-s2-usb-stick-am-rpi4/]&lt;br /&gt;
&lt;br /&gt;
[http://www.vdr-wiki.de/wiki/index.php/HDTV_Installationsanleitung_Ubuntu#Nova-HD-S2 http://www.vdr-wiki.de/wiki/index.php/HDTV_Installationsanleitung_Ubuntu#Nova-HD-S2]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.ubuntuusers.de/DVB-Karten/ https://wiki.ubuntuusers.de/DVB-Karten/]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Per Deb-Package ===&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&lt;br /&gt;
Auf&lt;br /&gt;
&lt;br /&gt;
[https://cloudsmith.io/~tvheadend/repos/tvheadend/packages/ https://cloudsmith.io/~tvheadend/repos/tvheadend/packages/]&lt;br /&gt;
&lt;br /&gt;
die richtige Version auswählen (''tvheadend-dbg.deb'' ist eine Debugversion).&lt;br /&gt;
&lt;br /&gt;
==== Installation ====&lt;br /&gt;
&lt;br /&gt;
Die gewählte Version per &amp;lt;code&amp;gt;wget&amp;lt;/code&amp;gt; downloaden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget https://dl.cloudsmith.io/public/tvheadend/tvheadend/deb/raspbian/pool/bookworm/main/t/tv/tvheadend_4.3-2264~gb8bd16726~raspbianbookworm/tvheadend_4.3-2264~gb8bd16726~raspbianbookworm_arm64.deb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Abhängigkeiten installieren:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libavahi-client3 libdvbcsa1 libpcre3 liburiparser1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach sollte sich das Paket ohne Probleme mittels folgendem Befehl installieren lassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo dpkg -i tvheadend_4.3-2264~gb8bd16726~raspbianbookworm_arm64.deb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nach der Installation sollte die Konfigurationsseite unter folgenden Adresse zu erreichen sein:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;ip des servers&amp;gt;:9981&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.readthedocs.io/en/latest/ https://tvheadend.readthedocs.io/en/latest/]&lt;br /&gt;
&lt;br /&gt;
[https://www.connect-living.de/ratgeber/tvheadend-nas-xbmc-streaming-smartphone-tablet-2492215.html https://www.connect-living.de/ratgeber/tvheadend-nas-xbmc-streaming-smartphone-tablet-2492215.html]&lt;br /&gt;
&lt;br /&gt;
[https://www.minipctv.de/tvheadendserver/tvheadend-auf-dem-raspberrypi-installieren/ https://www.minipctv.de/tvheadendserver/tvheadend-auf-dem-raspberrypi-installieren/]&lt;br /&gt;
&lt;br /&gt;
=== Per Repository ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo su&lt;br /&gt;
apt-get install -y debian-keyring&lt;br /&gt;
apt-get install -y debian-archive-keyring&lt;br /&gt;
apt-get install -y apt-transport-https&lt;br /&gt;
keyring_location=/usr/share/keyrings/tvheadend-tvheadend-archive-keyring.gpg&lt;br /&gt;
curl -1sLf 'https://dl.cloudsmith.io/public/tvheadend/tvheadend/gpg.C6CC06BD69B430C6.key' |  gpg --dearmor &amp;gt;&amp;gt; ${keyring_location}&lt;br /&gt;
curl -1sLf 'https://dl.cloudsmith.io/public/tvheadend/tvheadend/config.deb.txt?distro=ubuntu&amp;amp;codename=stretch&amp;amp;component=main' &amp;gt; /etc/apt/sources.list.d/tvheadend-tvheadend.list&lt;br /&gt;
chmod 644 ${keyring_location}&lt;br /&gt;
chmod 644 /etc/apt/sources.list.d/tvheadend-tvheadend.list&lt;br /&gt;
apt-get update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://cloudsmith.io/~tvheadend/repos/tvheadend/setup/#formats-deb https://cloudsmith.io/~tvheadend/repos/tvheadend/setup/#formats-deb]&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
=== Generell ===&lt;br /&gt;
&lt;br /&gt;
{{note|Noch in Bearbeitung}}&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://www.minipctv.de/tvheadendserver/tvheadend-konfigurieren/ https://www.minipctv.de/tvheadendserver/tvheadend-konfigurieren/]&lt;br /&gt;
&lt;br /&gt;
[https://docs.tvheadend.org/webui/config_general/#satip-server https://docs.tvheadend.org/webui/config_general/#satip-server]&lt;br /&gt;
&lt;br /&gt;
=== Sat&amp;gt;IP ===&lt;br /&gt;
&lt;br /&gt;
{{note|Noch in Bearbeitung}}&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendSatOverIpGrundeinstellungen.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendSatOverIpNetzwerk.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl restart tvheadend.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/4922-sat-ip-server-tutorial-needed/13 https://tvheadend.org/d/4922-sat-ip-server-tutorial-needed/13]&lt;br /&gt;
&lt;br /&gt;
[https://blog.nubecula.org/2018/10/26/satip-tvheadend-als-client-server/ https://blog.nubecula.org/2018/10/26/satip-tvheadend-als-client-server/]&lt;br /&gt;
&lt;br /&gt;
=== Oscam ===&lt;br /&gt;
&lt;br /&gt;
Siehe dazu [[OSCam (TvHeadend)|OSCam (TvHeadend)]]&lt;br /&gt;
&lt;br /&gt;
== Streaming ==&lt;br /&gt;
&lt;br /&gt;
Siehe dazu [[Streaming (TvHeadend)|Streaming (TvHeadend)]]&lt;br /&gt;
&lt;br /&gt;
== OpenATV ==&lt;br /&gt;
&lt;br /&gt;
Siehe dazu [[OpenATV#Streaming_/_Sat%3EIP|OpenATV#Streaming / Sat&amp;gt;IP]]&lt;br /&gt;
&lt;br /&gt;
== Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== (dvbapi) ERROR: Can't open device /dev/dvb/adapter0/ca0 (errno=2 No such file or directory) ===&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/3056-descrambling-with-oscam-missing-ca0-device/2 https://tvheadend.org/d/3056-descrambling-with-oscam-missing-ca0-device/2]&lt;br /&gt;
&lt;br /&gt;
=== sh: 1: pzapit: not found ===&lt;br /&gt;
&lt;br /&gt;
Das Problem kommt daher, dass das Image mit Add On ''Neutrino Support'' kompiliert wurde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DVB API with NEUTRINO support: yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lösung: Binary neu kompilieren ohne Neutrino-Support.&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://wiki.tuxbox-neutrino.org/wiki/Pzapit https://wiki.tuxbox-neutrino.org/wiki/Pzapit]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/linuxserver/docker-oscam/issues/28 https://github.com/linuxserver/docker-oscam/issues/28]&lt;br /&gt;
&lt;br /&gt;
[https://www.nachtfalke.biz/f287-oscam/90777-hdf-6-5-oscam-smod-orf-p410-trotz-cardok-6-entitelments-dunkel-p3.html https://www.nachtfalke.biz/f287-oscam/90777-hdf-6-5-oscam-smod-orf-p410-trotz-cardok-6-entitelments-dunkel-p3.html]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/ https://tvheadend.org/]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.ubuntuusers.de/Tvheadend/ https://wiki.ubuntuusers.de/Tvheadend/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Ubuntu#T_(Server)|Ubuntu]], [[Sat-over-IP_(Satreceiver/Fernseher)#TVHeadend|Sat-over-IP]], [[OpenATV#Streaming / Sat&amp;gt;IP|OpenATV]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Tvheadend_(Linux)&amp;diff=11807</id>
		<title>Tvheadend (Linux)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Tvheadend_(Linux)&amp;diff=11807"/>
		<updated>2025-12-22T07:26:08Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Per Repository */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{note|Noch in Bearbeitung}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
=== Hauppauge Nova S2 ===&lt;br /&gt;
&lt;br /&gt;
==== Seriennummer ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;200000 LF Rev BAH9&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Firmware installieren ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Get both 3103 and 3103b firmware&lt;br /&gt;
sudo su&lt;br /&gt;
cd /lib/firmware&lt;br /&gt;
wget https://github.com/OpenELEC/dvb-firmware/blob/master/firmware/dvb-demod-m88ds3103.fw?raw=true # 3103 (non-b) firmware&lt;br /&gt;
wget https://www.hauppauge.com/linux/dvb-demod-m88ds3103b.fw # 3103b firmware&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach TV-Stick anstecken und der Aufruf von &amp;lt;code&amp;gt;dmesg&amp;lt;/code&amp;gt; sollte danach in etwa folgende Zeilen ausgeben:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Dmesg_hauppauge_nova_s2.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://www.hauppauge.de/site/products/data_nova-s2.html https://www.hauppauge.de/site/products/data_nova-s2.html]&lt;br /&gt;
&lt;br /&gt;
[https://www.hauppauge.com/pages/support/support_linux.html#pi https://www.hauppauge.com/pages/support/support_linux.html#pi]&lt;br /&gt;
&lt;br /&gt;
[https://forum-raspberrypi.de/forum/thread/49360-geloest-dvb-s2-usb-stick-am-rpi4/ https://forum-raspberrypi.de/forum/thread/49360-geloest-dvb-s2-usb-stick-am-rpi4/]&lt;br /&gt;
&lt;br /&gt;
[http://www.vdr-wiki.de/wiki/index.php/HDTV_Installationsanleitung_Ubuntu#Nova-HD-S2 http://www.vdr-wiki.de/wiki/index.php/HDTV_Installationsanleitung_Ubuntu#Nova-HD-S2]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.ubuntuusers.de/DVB-Karten/ https://wiki.ubuntuusers.de/DVB-Karten/]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Per Deb-Package ===&lt;br /&gt;
&lt;br /&gt;
==== Download ====&lt;br /&gt;
&lt;br /&gt;
Auf&lt;br /&gt;
&lt;br /&gt;
[https://cloudsmith.io/~tvheadend/repos/tvheadend/packages/ https://cloudsmith.io/~tvheadend/repos/tvheadend/packages/]&lt;br /&gt;
&lt;br /&gt;
die richtige Version auswählen (''tvheadend-dbg.deb'' ist eine Debugversion).&lt;br /&gt;
&lt;br /&gt;
==== Installation ====&lt;br /&gt;
&lt;br /&gt;
Die gewählte Version per &amp;lt;code&amp;gt;wget&amp;lt;/code&amp;gt; downloaden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget https://dl.cloudsmith.io/public/tvheadend/tvheadend/deb/raspbian/pool/bookworm/main/t/tv/tvheadend_4.3-2264~gb8bd16726~raspbianbookworm/tvheadend_4.3-2264~gb8bd16726~raspbianbookworm_arm64.deb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Abhängigkeiten installieren:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install libavahi-client3 libdvbcsa1 libpcre3 liburiparser1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach sollte sich das Paket ohne Probleme mittels folgendem Befehl installieren lassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo dpkg -i tvheadend_4.3-2264~gb8bd16726~raspbianbookworm_arm64.deb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nach der Installation sollte die Konfigurationsseite unter folgenden Adresse zu erreichen sein:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;lt;ip des servers&amp;gt;:9981&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.readthedocs.io/en/latest/ https://tvheadend.readthedocs.io/en/latest/]&lt;br /&gt;
&lt;br /&gt;
[https://www.connect-living.de/ratgeber/tvheadend-nas-xbmc-streaming-smartphone-tablet-2492215.html https://www.connect-living.de/ratgeber/tvheadend-nas-xbmc-streaming-smartphone-tablet-2492215.html]&lt;br /&gt;
&lt;br /&gt;
[https://www.minipctv.de/tvheadendserver/tvheadend-auf-dem-raspberrypi-installieren/ https://www.minipctv.de/tvheadendserver/tvheadend-auf-dem-raspberrypi-installieren/]&lt;br /&gt;
&lt;br /&gt;
=== Per Repository ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo su&lt;br /&gt;
apt-get install -y debian-keyring&lt;br /&gt;
apt-get install -y debian-archive-keyring&lt;br /&gt;
apt-get install -y apt-transport-https&lt;br /&gt;
keyring_location=/usr/share/keyrings/tvheadend-tvheadend-archive-keyring.gpg&lt;br /&gt;
curl -1sLf 'https://dl.cloudsmith.io/public/tvheadend/tvheadend/gpg.C6CC06BD69B430C6.key' |  gpg --dearmor &amp;gt;&amp;gt; ${keyring_location}&lt;br /&gt;
curl -1sLf 'https://dl.cloudsmith.io/public/tvheadend/tvheadend/config.deb.txt?distro=ubuntu&amp;amp;codename=stretch&amp;amp;component=main' &amp;gt; /etc/apt/sources.list.d/tvheadend-tvheadend.list&lt;br /&gt;
apt-get update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://cloudsmith.io/~tvheadend/repos/tvheadend/setup/#formats-deb https://cloudsmith.io/~tvheadend/repos/tvheadend/setup/#formats-deb]&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
&lt;br /&gt;
=== Generell ===&lt;br /&gt;
&lt;br /&gt;
{{note|Noch in Bearbeitung}}&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://www.minipctv.de/tvheadendserver/tvheadend-konfigurieren/ https://www.minipctv.de/tvheadendserver/tvheadend-konfigurieren/]&lt;br /&gt;
&lt;br /&gt;
[https://docs.tvheadend.org/webui/config_general/#satip-server https://docs.tvheadend.org/webui/config_general/#satip-server]&lt;br /&gt;
&lt;br /&gt;
=== Sat&amp;gt;IP ===&lt;br /&gt;
&lt;br /&gt;
{{note|Noch in Bearbeitung}}&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendSatOverIpGrundeinstellungen.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
[[Datei:TvHeadendSatOverIpNetzwerk.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl restart tvheadend.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/4922-sat-ip-server-tutorial-needed/13 https://tvheadend.org/d/4922-sat-ip-server-tutorial-needed/13]&lt;br /&gt;
&lt;br /&gt;
[https://blog.nubecula.org/2018/10/26/satip-tvheadend-als-client-server/ https://blog.nubecula.org/2018/10/26/satip-tvheadend-als-client-server/]&lt;br /&gt;
&lt;br /&gt;
=== Oscam ===&lt;br /&gt;
&lt;br /&gt;
Siehe dazu [[OSCam (TvHeadend)|OSCam (TvHeadend)]]&lt;br /&gt;
&lt;br /&gt;
== Streaming ==&lt;br /&gt;
&lt;br /&gt;
Siehe dazu [[Streaming (TvHeadend)|Streaming (TvHeadend)]]&lt;br /&gt;
&lt;br /&gt;
== OpenATV ==&lt;br /&gt;
&lt;br /&gt;
Siehe dazu [[OpenATV#Streaming_/_Sat%3EIP|OpenATV#Streaming / Sat&amp;gt;IP]]&lt;br /&gt;
&lt;br /&gt;
== Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== (dvbapi) ERROR: Can't open device /dev/dvb/adapter0/ca0 (errno=2 No such file or directory) ===&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/d/3056-descrambling-with-oscam-missing-ca0-device/2 https://tvheadend.org/d/3056-descrambling-with-oscam-missing-ca0-device/2]&lt;br /&gt;
&lt;br /&gt;
=== sh: 1: pzapit: not found ===&lt;br /&gt;
&lt;br /&gt;
Das Problem kommt daher, dass das Image mit Add On ''Neutrino Support'' kompiliert wurde:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DVB API with NEUTRINO support: yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lösung: Binary neu kompilieren ohne Neutrino-Support.&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
&lt;br /&gt;
[https://wiki.tuxbox-neutrino.org/wiki/Pzapit https://wiki.tuxbox-neutrino.org/wiki/Pzapit]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/linuxserver/docker-oscam/issues/28 https://github.com/linuxserver/docker-oscam/issues/28]&lt;br /&gt;
&lt;br /&gt;
[https://www.nachtfalke.biz/f287-oscam/90777-hdf-6-5-oscam-smod-orf-p410-trotz-cardok-6-entitelments-dunkel-p3.html https://www.nachtfalke.biz/f287-oscam/90777-hdf-6-5-oscam-smod-orf-p410-trotz-cardok-6-entitelments-dunkel-p3.html]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
[https://tvheadend.org/ https://tvheadend.org/]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.ubuntuusers.de/Tvheadend/ https://wiki.ubuntuusers.de/Tvheadend/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Ubuntu#T_(Server)|Ubuntu]], [[Sat-over-IP_(Satreceiver/Fernseher)#TVHeadend|Sat-over-IP]], [[OpenATV#Streaming / Sat&amp;gt;IP|OpenATV]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Crontab_(Linux)&amp;diff=11806</id>
		<title>Crontab (Linux)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Crontab_(Linux)&amp;diff=11806"/>
		<updated>2025-12-21T10:31:55Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mail-Adresse eintragen ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo crontab -e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
bzw.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo vi /etc/crontab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MAILTO=&amp;quot;user@domain&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 2 3 4 5 Befehl&lt;br /&gt;
&lt;br /&gt;
1 = Minute (0-59)&lt;br /&gt;
2 = Stunde (0-23)&lt;br /&gt;
3 = Tag (0-31)&lt;br /&gt;
4 = Monat (1-12)&lt;br /&gt;
5 = Wochentag (0-7, Sonntag ist 0 oder 7)&lt;br /&gt;
Befehl = Der auszuführende Befehl.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Ubuntu#C (Client)|Ubuntu]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Apt-get_(Raspian)&amp;diff=11805</id>
		<title>Apt-get (Raspian)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Apt-get_(Raspian)&amp;diff=11805"/>
		<updated>2025-12-11T22:59:31Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Release Info Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Buster ==&lt;br /&gt;
&lt;br /&gt;
Bei Fehler&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Err:3 http://raspbian.raspberrypi.org/raspbian buster Release&lt;br /&gt;
  404  Not Found [IP: 93.93.128.193 80]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
muss &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; aktualisiert werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Sources-Liste editieren&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo vi /etc/apt/sources.list&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
durch&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb https://legacy.raspbian.org/raspbian/ buster main contrib non-free rpi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ersetzen.&lt;br /&gt;
&lt;br /&gt;
== Release Info Changes ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
E: Repository 'http://archive.raspberrypi.org/debian buster InRelease' changed its 'Suite' value from 'oldstable' to ''&lt;br /&gt;
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get update --allow-releaseinfo-change  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Raspbian#Update|Raspian]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Apt-get_(Raspian)&amp;diff=11804</id>
		<title>Apt-get (Raspian)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Apt-get_(Raspian)&amp;diff=11804"/>
		<updated>2025-12-11T22:55:19Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Release Info Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Buster ==&lt;br /&gt;
&lt;br /&gt;
Bei Fehler&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Err:3 http://raspbian.raspberrypi.org/raspbian buster Release&lt;br /&gt;
  404  Not Found [IP: 93.93.128.193 80]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
muss &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; aktualisiert werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Sources-Liste editieren&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo vi /etc/apt/sources.list&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
durch&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb https://legacy.raspbian.org/raspbian/ buster main contrib non-free rpi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ersetzen.&lt;br /&gt;
&lt;br /&gt;
== Release Info Changes ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
E: Repository 'http://archive.raspberrypi.org/debian buster InRelease' changed its 'Suite' value from 'oldstable' to ''&lt;br /&gt;
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt update --allow-releaseinfo-change  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Raspbian#Update|Raspian]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Apt-get_(Raspian)&amp;diff=11803</id>
		<title>Apt-get (Raspian)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Apt-get_(Raspian)&amp;diff=11803"/>
		<updated>2025-12-11T22:55:06Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Buster ==&lt;br /&gt;
&lt;br /&gt;
Bei Fehler&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Err:3 http://raspbian.raspberrypi.org/raspbian buster Release&lt;br /&gt;
  404  Not Found [IP: 93.93.128.193 80]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
muss &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; aktualisiert werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Sources-Liste editieren&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo vi /etc/apt/sources.list&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
durch&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb https://legacy.raspbian.org/raspbian/ buster main contrib non-free rpi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ersetzen.&lt;br /&gt;
&lt;br /&gt;
== Release Info Changes ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
E: Repository 'http://archive.raspberrypi.org/debian buster InRelease' changed its 'Suite' value from 'oldstable' to ''&lt;br /&gt;
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt update --allow-releaseinfo-change  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Raspbian#Update|Raspian]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Apt-get_(Raspian)&amp;diff=11802</id>
		<title>Apt-get (Raspian)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Apt-get_(Raspian)&amp;diff=11802"/>
		<updated>2025-12-11T22:47:23Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: /* Buster */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Buster ==&lt;br /&gt;
&lt;br /&gt;
Bei Fehler&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Err:3 http://raspbian.raspberrypi.org/raspbian buster Release&lt;br /&gt;
  404  Not Found [IP: 93.93.128.193 80]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
muss &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; aktualisiert werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Sources-Liste editieren&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo vi /etc/apt/sources.list&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
durch&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb https://legacy.raspbian.org/raspbian/ buster main contrib non-free rpi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ersetzen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Raspbian#Update|Raspian]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Apt-get_(Raspian)&amp;diff=11801</id>
		<title>Apt-get (Raspian)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Apt-get_(Raspian)&amp;diff=11801"/>
		<updated>2025-12-11T22:47:13Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Buster ==&lt;br /&gt;
&lt;br /&gt;
Bei Fehler&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Err:3 http://raspbian.raspberrypi.org/raspbian buster Release&lt;br /&gt;
  404  Not Found [IP: 93.93.128.193 80]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
muss &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; aktualisiert werden.&lt;br /&gt;
&lt;br /&gt;
Die Sources-Liste editieren&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo vi /etc/apt/sources.list&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
durch&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb https://legacy.raspbian.org/raspbian/ buster main contrib non-free rpi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ersetzen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Raspbian#Update|Raspian]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
	<entry>
		<id>https://tutorials.kirner.or.at/tutorials/index.php?title=Apt-get_(Raspian)&amp;diff=11800</id>
		<title>Apt-get (Raspian)</title>
		<link rel="alternate" type="text/html" href="https://tutorials.kirner.or.at/tutorials/index.php?title=Apt-get_(Raspian)&amp;diff=11800"/>
		<updated>2025-12-11T22:46:38Z</updated>

		<summary type="html">&lt;p&gt;Martin Kirner: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Buster ==&lt;br /&gt;
&lt;br /&gt;
Bei Fehler&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Err:3 http://raspbian.raspberrypi.org/raspbian buster Release&lt;br /&gt;
  404  Not Found [IP: 93.93.128.193 80]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
muss &amp;lt;code&amp;gt;/etc/apt/sources.list&amp;lt;/code&amp;gt; aktualisiert werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo vi /etc/apt/sources.list&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
und &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
durch&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
deb https://legacy.raspbian.org/raspbian/ buster main contrib non-free rpi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ersetzen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zurück zu [[Raspbian#Update|Raspian]]&lt;/div&gt;</summary>
		<author><name>Martin Kirner</name></author>
	</entry>
</feed>