Wo ist das Problem? Worst-Case linkst du einfach statisch gegen ffmpeg.
[softhddevice] Patch für libavcodec 9.10 unter Ubuntu 14.04 trusty
-
-
Das Problem bei den ffmpeg-Paketen von Jon Severinsson ist für mich, dass die erstellten ffmpeg-Pakete das gleiche Namensschema haben wie die libav-Pakete.
Da hat wohl jeder seine Meinung. "ffmpeg 2" ist für mich ein zu großer Einschnitt, man bewegt sich zu weit weg von der Distro selbst und muß bei den Paketen großzügig die Abhängigkeiten anpassen. Da wird der Austausch schwierig und es werden sich befürchtenswerterweise Lager bilden, das kann nicht im Sinne der Mehrheit sein.
Meine Pakete werden jetzt im PPA gegen ffmpeg 1.2.5 gebaut, was dann auch installiert wird, Pakete der Ubuntu Welt werden weiter gegen libav9 gebaut, laufen aber auf meinem System, weil das untereinander kompatibel ist ...
Was ich immer noch nicht verstanden habe, ist der geänderte Code upstream?
Wo ist das Problem? Worst-Case linkst du einfach statisch gegen ffmpeg.
Ja, das kann man bei einem lokalen System sicher tun, aber nicht wenn man Pakete für ein Repository baut, die durchaus auf Systemen mit unterschiedlicher Vorraussetzung installiert werden ...
Regards
fnu -
Danke - wie sehen denn deine Pläne für die Unterstützung von libav aus? Damals hattest du ja angekündigt, dich auf ffmpeg (und libswresample) zu beschränken. Für yaVDR und easyVDR sollte die Umstellung auf ffmpeg kein größeres Problem darstellen, Nutzer der kommenden Ubuntu- und Debian-Versionen werden aber in das Problem laufen...Böse gesagt, die haben Pech gehabt. Sollen doch Ubuntu die Patche machen, damit Ihre Anwender zurechtkommen.
So wie es aussieht geht auch der H264 Dekoder von libav nicht mehr, mit meinem Code.
Damit sinkt die Motivation noch einmal gewaltig.Johns
-
Was ich immer noch nicht verstanden habe, ist der geänderte Code upstream?Ja.
Es muß libswresample installiert sein, dann erkennt das Makefile selber, daß es dies verwendet.
Wenn die Make Flags vom Buildsystem überschrieben werden, dann einfach SWRESAMPLE=1 dazu.Johns
-
Da hat wohl jeder seine Meinung.
Sieht so aus - wichtig ist ja erst mal funktionierende Pakete zu bauen - wenn du libswreseample-dev zu deinen Build-Depends für das softhddevice-Paket hinzufügst, sollte das mit dem Ton auch mit ffmpeg 1.2 passen
-
Anbei ein Patch (gegen GIT) für libav-9.11 zum Testen.
Der behebt aber nur die Tonprobleme mit libav. H264 geht scheinbar nicht.
Johns
-
Ich habe den Patch mal angewendet und ein Paket bauen lassen (https://launchpad.net/~seahawk…chive/libav9-softhddevice) - dabei musste ich noch einen include ergänzen, damit AV_CH_LAYOUT_STEREO_DOWNMIX definiert ist (das scheint irgendwie rausgefallen zu sein):
Diff
Alles anzeigenIndex: vdr-plugin-softhddevice-5bf2a9b761c3ce73bfd49a9cb213b795be9ca2ff/codec.c =================================================================== --- vdr-plugin-softhddevice-5bf2a9b761c3ce73bfd49a9cb213b795be9ca2ff.orig/codec.c 2014-02-26 15:52:55.479301047 +0100 +++ vdr-plugin-softhddevice-5bf2a9b761c3ce73bfd49a9cb213b795be9ca2ff/codec.c 2014-02-26 16:42:00.862265071 +0100 @@ -61,6 +61,7 @@ #include <alsa/iatomic.h> #include <libavcodec/avcodec.h> #include <libavutil/mem.h> +#include <libavutil/channel_layout.h> // support old ffmpeg versions <1.0 #if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55,18,102) #define AVCodecID CodecID
Testen kann ich es erst später.
-
Vielleicht löst sich euer Problem ja bald: http://www.phoronix.com/scan.php?page=news_item&px=MTYxNjA
-
Wäre ja schön wenn die bei Debian dann gleich daraus lernen würden. Die sind nämlich ein echter Fork-Magnet. Wo auch immer sich Entwickler streiten und in dessen Folge ein Fork entsteht ist Debian einer der ersten der ohne anständig drüber nachzudenken auf den Fork umsteigt.
-
"Bald" wäre ja schön - aber für Ubuntu 14.04 LTS ist der Zug schon abgefahren - dafür muss man sich auf jeden Fall selber um ffmpeg-Pakete kümmern...
-
Hi,
"Bald" wäre ja schön - aber für Ubuntu 14.04 LTS ist der Zug schon abgefahren - dafür muss man sich auf jeden Fall selber um ffmpeg-Pakete kümmern...
...dann war der Schritt gleich auf "ffmpeg-2.1" zu setzen, der Richtige.(easyVDR 2.0 - Trusty)Copperhead
Merci für den Link!Gruss
Wolfgang -
Der behebt aber nur die Tonprobleme mit libav. H264 geht scheinbar nicht.
Ich habe es gerade noch mal mit dem Paket und dem Patch ausprobiert - der Ton funktioniert mit libavresample normal (ohne bleibt es der bekannte Mickey-Mouse Effekt), h264 funktioniert wie erwartet nicht (SD-Sender mit mpeg2 laufen). -
Ich habe den Patch mal angewendet und ein Paket bauen lassen (https://launchpad.net/~seahawk…chive/libav9-softhddevice) - dabei musste ich noch einen include ergänzen, damit AV_CH_LAYOUT_STEREO_DOWNMIX definiert ist (das scheint irgendwie rausgefallen zu sein):
Diff
Alles anzeigenIndex: vdr-plugin-softhddevice-5bf2a9b761c3ce73bfd49a9cb213b795be9ca2ff/codec.c =================================================================== --- vdr-plugin-softhddevice-5bf2a9b761c3ce73bfd49a9cb213b795be9ca2ff.orig/codec.c 2014-02-26 15:52:55.479301047 +0100 +++ vdr-plugin-softhddevice-5bf2a9b761c3ce73bfd49a9cb213b795be9ca2ff/codec.c 2014-02-26 16:42:00.862265071 +0100 @@ -61,6 +61,7 @@ #include <alsa/iatomic.h> #include <libavcodec/avcodec.h> #include <libavutil/mem.h> +#include <libavutil/channel_layout.h> // support old ffmpeg versions <1.0 #if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55,18,102) #define AVCodecID CodecID
Den hatte ich drin, schien aber für alle libav Version die ich getestet hatte unnötig.
Kommt der vielleicht mit AVRESAMPLE=1 ?libav-0.8.7, libav-9.11
Den H264 Fehler kann ich mir auch nicht erklären, leider fehlt die Zeit zum suchen.
Johns
-
Kommt der vielleicht mit AVRESAMPLE=1 ?
Der scheint aufzutreten, wenn libavresample nicht vorhanden ist und man sich auf die Autoerkennung durch das Makefile verlässt.Den H264 Fehler kann ich mir auch nicht erklären, leider fehlt die Zeit zum suchen.
Das musst du als Entwickler entscheiden ob du da Zeit reinstecken willst, ich kann gerne Testen, wenn sich da was neues ergibt, ansonsten läuft das Ganze ja prima mit ffmpeg
-
Mit einer kleinen Änderung läuft der Patch nun mit allen von mir getesteten ffmpeg / libav Versionen.
Der Include "libavutil/channel_layout.h" war nicht nötig, ich lass dem im GIT weg, da ich sonst nochmal anfange alle zu testen.
GIT enthält nun den Patch, bitte testen.Der H264 Fehler ist mit libav-10 beta auch behoben.
Johns
-
Moin, Moin
ich spiele mit den Gedanken zu Jessie ( libav 9.11 ) zu wechseln. Was würdet ihr Empfehlen für normale Anwender mit wenige C-Kenntnissen. Noch etwas warten bis die Patches getestet sind oder ffmpeg lokal bauen?
Da ich den VDR ja immer selber baue.. tendiere ich ffmpeg lokal zu bauen...... welche Version wird für SoftHDdevice empfohlen?
FFMPEG 2.1.4 ist meines Wissens die letzte Release.
Frank
-
libav 9.11 scheitert schon daran, daß H264 Kanäle nicht funktionieren.
Entweder älteres oder neueres libav.Besser ist gleich zu ffmpeg zuwechseln. ffmpeg 2.1.x sollte laufen, mir ist nichts Negatives aufgefallen.
Johns
-
Zitat
Besser ist gleich zu ffmpeg zuwechseln. ffmpeg 2.1.x sollte laufen, mir ist nichts Negatives aufgefallen.
yup so wird's gemachFrank
-
Mit einem recht aktuellen Git-Stand von libav funktioniert auch h264 unter Ubuntu - die Pakete, die gegen das unstable-vdr PPA des yaVDR-Teams gebaut sind gibt es hier: https://launchpad.net/~seahawk1986-hotmail/+archive/libav9-softhddevice/+packages?field.name_filter=&field.status_filter=published&field.series_filter=
Ich denke ffmpeg 2.1 ist trotzdem attraktiver.
-
Und ffmpeg ist ja auch möglicherweise bald wieder in Debian drin
http://www.phoronix.com/scan.php?page=news_item&px=MTYxNjA
Andy
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!