ffmpeg kann TS Format for movieplayer

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
gmo18t
Erleuchteter
Erleuchteter
Beiträge: 553
Registriert: Freitag 27. Februar 2004, 14:30

ffmpeg kann TS Format for movieplayer

Beitrag von gmo18t »

Hi,

wollt nur mal drauf hinweisen: die neueste cvs release von ffmpeg produziert nun mpegs im TS Format, die der DBox movieplayer auch abspielen kann.

Hab nur mal grob getestet, sieht aber vielversprechend aus.

Hier mal 2 Beispiele

1. multiplexen

Code: Alles auswählen

ffmpeg -i in.m2v -f mp3 -i in.mpa -acodec copy -vcodec copy -f mpegts out.ts
2. encodieren

Code: Alles auswählen

ffmpeg -i in.divx -hq -me full -qscale 2 -s cif -ab 224 -ac 2 -aspect 4:3 -f mpegts out.ts
Das eröffnet bestimmt ein paar neue Möglichkeiten um, (on the fly) auf dem PC Material für die DBox zu generieren, da sehr schnell und gut in Programme einzubinden (libffmpeg)...

- GMo -
jmalter

Beitrag von jmalter »

Jau stimmt.

Habe den aktuellen CVS Snapshot von ffmpeg kompiliert und es klappt einwandfrei.
Danke für den Tip...
jmittelst
Tuxboxer
Tuxboxer
Beiträge: 6044
Registriert: Montag 17. November 2003, 06:48

Beitrag von jmittelst »

Gibt es das kompiliert irgendwo zum Download?
cu
Jens
jmalter

Beitrag von jmalter »

Ja, aber die bringen Dir nicht viel.
Du kannst meistens nur releases und veraltete rpm's downloden.
Aktuell, bekommst Du nur die sourcen.
Kompilieren ist aber einfach.

Sourcen auspacken, dann in das Verzeichnis gehen und nacheinander:

./configure
make
make install

eingeben. Schon hast Du es.
jmittelst
Tuxboxer
Tuxboxer
Beiträge: 6044
Registriert: Montag 17. November 2003, 06:48

Beitrag von jmittelst »

Auch auf einem Windows-System?
Kannst Du dann nochmal eine Adresse für den Snap posten?
cu
Jens
chkbox
Erleuchteter
Erleuchteter
Beiträge: 440
Registriert: Samstag 10. April 2004, 15:17

Beitrag von chkbox »

Mit cygwin gehts auf jeden Fall.
gmo18t
Erleuchteter
Erleuchteter
Beiträge: 553
Registriert: Freitag 27. Februar 2004, 14:30

Beitrag von gmo18t »

Hi,

wer ein wenig in der WEB Server Programmierung (scripting o.ä.) fit ist, könnte sich vielleicht
folgendes Scenario vorstellen:

Ein http request mit filename als Parameter bewirkt, daß der web server mit Hilfe von ffmpeg
das enstprechende file nach z.B. 352x288 mpeg TS transcodiert. Wenn ffmpeg nun nach
stdout ausgibt, werden die Daten dann ja vom web server direkt zum client (i.d.F. eine Dbox)
zurückgeschickt. Ist also recht geringer Hackaufwand.

Die "livestream" Variante des dbox movieplayers könnte ich entsprechend erweitern, so daß der
dann solche http requests absetzen könnte.

Sowas gibt es zwar schon mit vlc und da geht auch einiges mehr ... aber der Speed und die Flexibilität
von ffmpeg sind doch schon recht beeindruckent.
Da kann's dann evtl. auch ein Rechner mit schwächerer CPU sein ...

In jedem Fall will ich mal die Fantasie der Leute anregen, vielleicht kommen ja noch mehr Ideen
wie ffmpeg für die DBox genutzt werden kann.

Ich hab selbst mal mit perl sowas für'n web server gebastelt (ganz rudimentär) und das lief
schonmal recht vernünftig.

- GMo -
chkbox
Erleuchteter
Erleuchteter
Beiträge: 440
Registriert: Samstag 10. April 2004, 15:17

Beitrag von chkbox »

gmo18t hat geschrieben:Hi,

wer ein wenig in der WEB Server Programmierung (scripting o.ä.) fit ist, könnte sich vielleicht
folgendes Scenario vorstellen:

Ein http request mit filename als Parameter bewirkt, daß der web server mit Hilfe von ffmpeg
das enstprechende file nach z.B. 352x288 mpeg TS transcodiert. Wenn ffmpeg nun nach
stdout ausgibt, werden die Daten dann ja vom web server direkt zum client (i.d.F. eine Dbox)
zurückgeschickt. Ist also recht geringer Hackaufwand.

Die "livestream" Variante des dbox movieplayers könnte ich entsprechend erweitern, so daß der
dann solche http requests absetzen könnte.

Sowas gibt es zwar schon mit vlc und da geht auch einiges mehr ... aber der Speed und die Flexibilität
von ffmpeg sind doch schon recht beeindruckent.
Da kann's dann evtl. auch ein Rechner mit schwächerer CPU sein ...

In jedem Fall will ich mal die Fantasie der Leute anregen, vielleicht kommen ja noch mehr Ideen
wie ffmpeg für die DBox genutzt werden kann.

Ich hab selbst mal mit perl sowas für'n web server gebastelt (ganz rudimentär) und das lief
schonmal recht vernünftig.

- GMo -
Problem bei deiner Variante ist, dass TCP/IP verwendet werden musste und das hat soweit ich weiß mehr Overhead als UDP. Bei den sowieso schon knappen 10Mbit gibt das wahrscheinlich Probleme.
gagga
Senior Member
Beiträge: 782
Registriert: Dienstag 25. Februar 2003, 21:35

Beitrag von gagga »

Benutzt VLC intern nicht sogar ffmpeg?
jmalter

Beitrag von jmalter »

@jmittelst


Nein, mit der Windows Version kann ich Dir nicht dienen. Habe ffmpeg nur auf Linux laufen.
Dir bleibt nur der Umweg mittels Cygwin.

Gruß

Jörg
gmo18t
Erleuchteter
Erleuchteter
Beiträge: 553
Registriert: Freitag 27. Februar 2004, 14:30

Beitrag von gmo18t »

chkbox hat geschrieben: Problem bei deiner Variante ist, dass TCP/IP verwendet werden musste und das hat soweit ich weiß mehr Overhead als UDP. Bei den sowieso schon knappen 10Mbit gibt das wahrscheinlich Probleme.
nein, keine Probleme - hab's getestet. Außerdem kann man ffmpeg ja auf die max. mögliche bitrate trimmen.

@gagga:
libffmpeg wird auch im vlc verwendet, aber in welcher Quantität, weiß ich nicht (glaub jedenfalls beim TS
multiplex haben die eigenen Code). Inwieweit sich der Verbrauch an Resourcen zw. "plain ffmpeg" und vlc
unterscheidet, müßte man mal testen ...

- GMo -
insolvenzia
Erleuchteter
Erleuchteter
Beiträge: 455
Registriert: Montag 5. August 2002, 19:42

Beitrag von insolvenzia »

Code: Alles auswählen

ffv1.c: In function `encode_rgb_frame':
ffv1.c:465: internal compiler error: in find_function_data, at function.c:319
Bitte senden Sie einen vollständigen Fehlerbericht auf Englisch ein;
bearbeiten Sie die Quellen zunächst mit eine Präprozessor, wenn es
dienlich ist.
Fehler in der deutschen Übersetzung sind an de@li.org zu melden.

Gehen Sie gemäß den Hinweisen in <URL:http://www.suse.de/feedback> vor.
make[1]: *** [ffv1.o] Fehler 1
make[1]: Leaving directory `/home/insolvenzia/ffmpeg-0.4.9-pre1/libavcodec'
make: *** [lib] Fehler 2
Den Fehler haben laut google mehrere, aber niemand eine für mich brauchbare Lösung. Ein gcc Problem? Ich nutze hier gcc 3.3.1
Würde mich über einen Workaround freuen. Mit dem aktuellen ffmpeg CVS habe ich den gleichen Fehler.
Doc FunRock
Interessierter
Interessierter
Beiträge: 37
Registriert: Montag 21. Juni 2004, 13:42

Beitrag von Doc FunRock »

insolvenzia hat geschrieben:

Code: Alles auswählen

Ich nutze hier gcc 3.3.1
[/quote]
daran liegt das. ich habe das bei mir (SuSE 9.0) folgendermassen geloest:

gcc-3.3.3.tar.gz downloaden, in /usr/local/src entpackt und compiled. ./configure, make, make install.
das binary liegt dann in /usr/local/bin. du hast somit beide gcc's zur auswahl. klappt super!

bei ffmpeg sagst du dann:

./configure --cc=/usr/local/bin/gcc
make
make install

und voila ;)
insolvenzia
Erleuchteter
Erleuchteter
Beiträge: 455
Registriert: Montag 5. August 2002, 19:42

Beitrag von insolvenzia »

danke! hat zwar lange gedauert (compile) aber klappt so wie du es beschrieben hast!