Nokia N900 als Streaming-/FB-/...-Client
- aragorn
- Closed
-
-
Hallo,
hatte vor rund einer Stunde den selben Gedankengang
Motz(e)
-
DLNA Compatible ...da war doch was... hmm.
-
Was ist daran neu - außer das N900? Mit Vdradmin als FB und mit externremux-Streams geht das schon seit dem 770.
-
Neue wäre, den TS ohne irgendwelche Konvertierung abzuspielen. Leider klappt das noch nicht so ganz. Der interne Player kennt den video codec noch nicht, mplayer ist noch nicht wirklich für das N900 angepasst. Das Gerät ist aber auch erst eine Woche draussen.
-
Ich behaupte mal so aus dem Bauch heraus, es wird nicht mit MPEG2/TS funktionieren. Das Format kann der Grafikchip nicht beschleunigen.
Und selbst wenn wird das leider ne Studie bleiben. Weils Gerät dann sehr ausgelastet ist und der Akku entsprechend 'lange' hält.Für unterwegs, wäre mein Anwendungsgebiet (zu Hause hab ich ein Laptop für mobiles Fernsehen), muss so oder so runter-/umgerechnet werden. Ausser jemand hat VDSL bzw. den Uplink und HSDPA.
-
Also ansich geht es ohne irgendwas zu installieren über streamdev und externremux. Allerdings ist der Ton nicht syncron. Wenn man mplayer installiert, ist der Ton zwar syncron aber mplayer nutzt den decoder-chip nicht und es ruckelt öfftes.
Vielleicht hat ja jemand eine Idee.
-
Yep, ging auf meinem (Ex) N810 auch schon. War dann irgend ein MPEG4 Format. Ob es synchron war, weiß ich nicht mehr. Leider war mein damaliger VDR noch zu schwachbrüstig und der Neue ist grad am entstehen.
Möcht mich noch berichtigen: "selbst wenn MPEG2/TS ohne Grafikchipbeschleunigung abspielbar ist" wollte ich schreiben. Dann liest es sich im Zusammenhang verständlicher.
-
Hi
Hab selber nen n900 und versuche schon länger mit dem integrierten mediaplayer (nicht mplayer) die streams vom streamdev-plugin (über exernremux) zum laufen zu bringen. Habe bisher verschiedene Kombinationen von codecs, bitrates und containern durchprobiert. Hatte jedoch leider noch keinen Erfolg (meistens Standbild mit normalem Sound).
Hat das jemand schon zum laufen gebracht oder ne andere Möglichkeit gefunden die Streams hardwarebeschleunigt (z.B. über gstreamer) wiederzugeben?
Liebe Grüsse Oli
-
Du musst den Stream live auf MPEG4 remuxen (such mal nach externremux.sh) und darfst nicht MPEG2 verwenden. Scheinbar können diese kleinen Mini-PCs mit dem MPEG2 Codec nicht umgehen.
Dazu ist allerdings ein schneller VDR Server notwendig. Bei meiner 733Mhz Kiste war dieser am Anschlag.
-
thx, für deine antwort.
hab die externremux.sh aus dem wiki (die längere) ein bisschen erweitert und verschiedene Dinge ausprobiert, leider ohne Erfolg.
mpeg4 hab ich schon probiert. leider hatte ich da das Problem, dass ich ein Standbild hatte mit normalem Sound.
Welchen Container würdest du da empfehlen? Ich habs bisher mit avi probiert. MP4 hab ich irgendwie nicht hingekriegt mit mencoder. Bin gerade mit ffmpeg am rumexperimentieren, bisher leider auch ohne erfolg (das mit dem pipen will nicht so recht klappen).
-
Mit diesem Script gings mit dem N810:
Bash#!/bin/sh umask 077 tmpdir=${TMPDIR-/tmp}/externremux-${RANDOM:-$$} FIFO=$tmpdir/out.avi OUTLOG=$tmpdir/out.log mkdir -p $tmpdir || exit 1 mkfifo $FIFO (cat $FIFO; rm -rf $tmpdir) & mencoder -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=200 -oac mp3lame -lameopts preset=15:mode=3 -vf scale -zoom -xy 240 -o $FIFO -- - &>$OUTLOG
Inzwischen sehe ich Livestreaming nur noch als sportliche Herausforderung mit wenig Prioriät. Zu Hause hab ich einen Laptop und alle Möglichkeiten bzw. Xineliboutput und unterwegs wollt ich nur einmal TV gucken: als ich ausserplanmässig länger in der Arbeit war, ein Fußballspiel kam UND die Festplatte zu dieser Zeit voll war. Für MPEG2 ist leider mein Upstream zu gering, weil dann hätte ich ja das Laptop mit Xineliboutput verwenden können.
-
danke für den tip
leider habe ich auch mit diesen settings das problem mit dem standbild...
-
Soo, nach stundenlangem Ausprobieren hab ich nun einen Weg gefunden die Streams vom streamdev plugin hardware-beschleunigt auf dem N900 auszugeben. Folgendes ist dabei zu beachten:
- das N900 scheint sehr heikel zu sein was Container betrifft: den einzigen Container welchen ich mit mencoder und N900 verwenden konnte ist asf (über lavf)
- Videocodecs gibt es verschiedene welche funktionieren (flüssig dargestellt werden), u.A. mpeg4 oder h264 (beides über lavc)
- Audiocodecs funktionieren auch diverse (bei mir AAC und mp3)Hoffe das erspart Usern, welche das gleiche Ziel haben, einiges an Arbeit...
-
-
hi motze
klar, kein problem:
Bash
Display More#!/bin/sh # # externremux.sh # CONFIG START TMP=/tmp/externremux-${RANDOM:-$$} DEFAULT_QUALITY="N900" MENCODER="/usr/bin/mencoder" # CONFIG END if [ "$1" == "" ];then STREAMQUALITY=$DEFAULT_QUALITY else STREAMQUALITY=$1 fi mkdir -p $TMP mkfifo $TMP/out.out (trap "rm -rf $TMP" EXIT HUP INT TERM ABRT; cat $TMP/out.out) & case $STREAMQUALITY in # ...... N900) $MENCODER -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=300 \ -of lavf -lavfopts format=asf \ -oac mp3lame -lameopts vbr=0:br=64 -af volnorm=1 -vf-add scale=800:480 \ -o $TMP/out.out -- - &>$TMP/out.log ;; # ...... esac
Werde noch weitere Tests (mit ffmpeg) machen und schauen, ob ich .mp4 streams hinkriege...
-
So wie es aussieht, ist das Problem mit mencoder/ffmpeg und mp4 das Folgende (siehe auch hier
Die Video Player (auch mediaplayer vom N900, sowie mplayer) benötigen ein moov atom (mit Informationen über Länge, etc. des Videos) um ein .mp4 File abspielen zu können. Für den Stream bedeutet dies, dass ein pseudo-moov atom am Beginn des Streams (normalerweise befindet sich dieses atom am Ende des .mp4 Files) benötigt wird.
Ich habe bis jetzt leider noch keine Möglichkeit gefunden dies mit mplayer/mencoder zu erreichen. Denke das liegt daran, dass die nicht dazu gemacht sind in einem externremux.sh verwendet zu werden
Zu schade, dass der Mediaplayer vom N900 den mkv Container scheinbar noch nicht unterstützt. Damit würde es nämlich problemlos funktionieren.
Mit ffmpeg funktionieren neben asf (der einzige beim mencoder) noch die Muxer mpegts und vob (pes).
Weiss jemand welcher dieser 3 Container am besten für Streaming geeignet ist? -
Hänge mich mal an den Thread hier dran.
Ich habe auch ein n900 und würde gerne einen Stream darauf vom vdr server abspielen. Jedoch habe ich die obigen Varianten noch nicht so ganz verstanden.
Was muss ich nun auf dem n900 oder auch server genau machen?
[edit]
Beim Ausführen des Shell-Skriptes bekomme ich immer folgende Fehlermeldung:Coden900:~# ./externremux.sh n900:~# MEncoder SVN-r30099-4.2.1 (C) 2000-2009 MPlayer Team MPlayer was compiled without libmp3lame support. -lameopts is not an MEncoder option Exiting... (error parsing command line)
[/edit] -
Das shell script muss vom streamdev-plugin ausgeführt werden (siehe wiki). Danach musst du auf dem N900 die URL http://ip.des.vdr.server:3000/Extern/channel_number abspielen/aufrufen. im shell script einfach die Parameter verändern (falls nötig); ansonsten nur in den entsprechenden ordner platzieren.
-
Ok, danke. Dann muss ich mal suchen, ob ich es finden kann. Das Plugin für streamdev-server und -client habe ich installiert.
Wie sieht denn die Channel-Number aus, die ich auf dem n900 über die url angeben muss?
Ist dies die Nummer aus der channels.m3u, die so aussehen?
Participate now!
Don’t have an account yet? Register yourself now and be a part of our community!