Active Topics

 


Reply
Thread Tools
Posts: 362 | Thanked: 179 times | Joined on Sep 2010
#31
Installed it with wget and dpkg -i and it worked (thx Fuzzillogic )

When i start gst-launch with this command i seems to work.

gst-launch-0.10 pulsesrc device=sink.hw0.monitor ! tcpserversink port=3000

If i then point my pc´s browser to http://localhost:3000
it connects and gives start to show random numbers if i have some sound on the n9. If i puase song the random numbers gets a constant mess and when i play again it starts showing random number again. If i try the same adress in ex winamp it connects to stream but dont give me any sound.

Any Ideas?
 
Posts: 362 | Thanked: 179 times | Joined on Sep 2010
#32
get this when i run the command

Code:
gst-launch-0.10 pulsesrc device=sink.hw0.monitor ! tcps
erversink port=3000
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstAudioSrcClock
 
Posts: 479 | Thanked: 1,284 times | Joined on Jan 2012 @ Enschede, The Netherlands
#33
Uch, do I feel n00b

Code:
~ $ gst-launch-0.10 pulsesrc device=sink.hw0.monitor ! mulawenc ! rtppcmupay ! udpsink host=192.168.200.28 port=5000
where host-IP is my desktop. Then on that desktop, with VLC, open a stream: rtp://@:5000

Voila, music from the N9 on the desktop. There are a few problems with this:
  • PCM mu-law compressed
  • Obviously it is RTP with UDP. TCP is preferred however.
  • I can't get 48kHz/16bit to work. There's a rtpL16pay, but while I get no errors from gst-launch, VLC remains silent.
  • Would be nice to be able to stream as shoutcast/icecast-server, but that would require extra plug-ins and more, I guess.

Some examples tailored for the N9 would be helpful!
 

The Following User Says Thank You to Fuzzillogic For This Useful Post:
Posts: 362 | Thanked: 179 times | Joined on Sep 2010
#34
Got music to but as stated quality is not that good. However now we know its doable

We just need to optimize it
 
Posts: 479 | Thanked: 1,284 times | Joined on Jan 2012 @ Enschede, The Netherlands
#35
Originally Posted by phako View Post
Hi, let me put everything I was requested to comment on in one post:

About Push support:

Last thing I know is that the cancelled push support might be available through the store after PR1.2 is out; the push support included images only.

Distributing what's currently played via DLNA:
That's not possible using the usual Rygel + PulseAudio route for at least four reasons:

a) PulseAudio is missing at least one module (module-rygel-media-server)
b) Even if it had those, the version of Pulse used is missing the two patches that fixed that module
c) Rygel is missing the DBus consumer module (because it causes a sh*tload of wakeups)
d) Rygel is missing an upstream patch needed to make the DBus consumer plugin work with templated URIs (which the PA support uses)
I can't see why this depends on PA. With gstreamer you already have access to the audio-outs of the device, without futher configuration needed to PA.

That said, if you get the GstLaunch plugin compiled and installed, you could try to follow the instructions here: http://askubuntu.com/questions/83611...er/99892#99892. The Rygel version used in PR1.2 is this commit: https://meego.gitorious.org/maemo-mu...175d6ae8575b9f
But with the GstLaunch plug-in compiled and enabled, would the example-config already present in /etc/rygel.conf work? E.g. would it produce audio/video test streams? If so, I guess we're half way there. AFAIK, all dependencies for the plug-in are met, only the binary is needed. If someone could compile the plug-in we could find out.

Regarding 1080p streaming:

Again, that does not work out of the box (for non-technical reasons I hopefully can announce next week) for any random format but only for H.264 high profile videos with EAC3 audio.

This is easy to solve though with developer mode, just edit /home/user/.config/rygel.conf and set strict-sharing to false. If the file does not exist, you can copy it from /etc.
Uch! I just spend a few hours wondering why no videos and FLAC-audio showed up on the remote devices. That did work with PR1.1 with Rygel from Harmattan beta3-rep... But it turns out it was just this flag! With strict-sharing set to false, the downloaded TED videos and FLAC music play fine on my Samsung TV.

You don't need to be root for this, as the config is owned by the user. I guess it would be easy to whip up a very little tool that can fix this setting for everyone, making sharing a quite bit more usefull. While at it, you might want to have a look at enabling the other transcoding options.

So to sum it up:
  1. Get the binary for Rygel's GstLaunch plug-in
  2. configure library path in Rygel, so the library can be found
  3. Enable the library in the [GstLaunch] section
  4. Start Rygel
  5. There should be an extra device on the network, with three test streams.
 

The Following User Says Thank You to Fuzzillogic For This Useful Post:
Posts: 108 | Thanked: 179 times | Joined on Feb 2012
#36
Originally Posted by Fuzzillogic View Post
I can't see why this depends on PA. With gstreamer you already have access to the audio-outs of the device, without futher configuration needed to PA.
Well that's the "normal" way of hooking up PA with Rygel, where Rygel does the discovery/announcement and content negotiation and PA does the streaming itself, trying to keep additional latency out of the game.

But with the GstLaunch plug-in compiled and enabled, would the example-config already present in /etc/rygel.conf work? E.g. would it produce audio/video test streams? If so, I guess we're half way there. AFAIK, all dependencies for the plug-in are met, only the binary is needed. If someone could compile the plug-in we could find out.
The plug-in is self-contained and has no external dependencies. The config in /etc/rygel.conf is the one from upstream with adjusted settings, but nothing removed, so all the examples are there.

Uch! I just spend a few hours wondering why no videos and FLAC-audio showed up on the remote devices. That did work with PR1.1 with Rygel from Harmattan beta3-rep... But it turns out it was just this flag! With strict-sharing set to false, the downloaded TED videos and FLAC music play fine on my Samsung TV.
Yes, sorry, I know this is inconvenient and actually a bug in the audio case (it should offer the transcoded versions there), but it had to be done. Hopefully can disclose the reasons during this week.

You don't need to be root for this, as the config is owned by the user. I guess it would be easy to whip up a very little tool that can fix this setting for everyone, making sharing a quite bit more usefull. While at it, you might want to have a look at enabling the other transcoding options.
Yes, shell access is sufficient. Didn't notice that there is a stand-alone terminal now, that's why I said "developer mode". I hope to put said tool to store during this week. Enabling the other transcoding options doesn't make sense for the normal user since there are too my knowledge no mpeg2/mp3 encoders and the AAC and H.264 transcoders are horribly broken from the GStreamer side (related to encodebin and muxing).

So to sum it up:
  1. Get the binary for Rygel's GstLaunch plug-in
  2. configure library path in Rygel, so the library can be found
  3. Enable the library in the [GstLaunch] section
  4. Start Rygel
  5. There should be an extra device on the network, with three test streams.
 
Posts: 104 | Thanked: 58 times | Joined on Dec 2011
#37
Hi guys...i find this thread very interesting and I would also love to be able to stream my music, but also photos and videos to a device in my network. I know that DLNA is not perfect but for me it seems the best solution available.

That's why I also searched a bit on the net and contacted one of the original Harmattan DLNA developers. Rygel is of course only a DLNA server....but 1.2 should also ship GUPnP which allows you to set up a DLNA Controll Point.

What we would need in short:

(ANY DLNA server in your network) -> (N9 as controller) -> (Any A/V media renderer in your network)

Here are some links with more information on GUPnP & Harmattan:

GUPnP Reference Manual
http://harmattan-dev.nokia.com/docs/...docs/libgupnp/

Writing a UPnP Client
http://harmattan-dev.nokia.com/docs/...-tutorial.html

I also found this request on the bug tracker:
https://harmattan-bugs.nokia.com/show_bug.cgi?id=405
Please go and vote for it!

Also look at the original threadthis was discussed on briefly: http://talk.maemo.org/showthread.php...NA#post1168930

Last edited by zappAtom; 2012-03-05 at 16:11.
 
Posts: 479 | Thanked: 1,284 times | Joined on Jan 2012 @ Enschede, The Netherlands
#38
Originally Posted by phako View Post
Yes, shell access is sufficient. Didn't notice that there is a stand-alone terminal now, that's why I said "developer mode". I hope to put said tool to store during this week.
DLNA certification? Guess we'll have to wait.

Enabling the other transcoding options doesn't make sense for the normal user since there are too my knowledge no mpeg2/mp3 encoders and the AAC and H.264 transcoders are horribly broken from the GStreamer side (related to encodebin and muxing).
Hmm indeed, even lame mp3 encoder is missing. That's software patents hard at work for you. Ah well, PCM works fine and on WLAN the extra bandwidth doesn't really matter.

Regarding AAC, this works:

N9:

Code:
~ $ gst-launch-0.10 -v pulsesrc device=sink.headphone.monitor ! nokiaaacenc ! rtpmp4apay ! udpsink host=<YOUR_PC_IP> port=5000
PC:

Code:
C:\>gst-launch udpsrc port=5000  caps = "application/x-rtp, media=(string)audio, clock-rate=(int)44100, encoding-name=(string)MP4A-LATM, cpresent=(string)0, config=(string)40002420, payload=(int)96, ssrc=(uint)626726979, clock-base=(uint)297812686, seqnum-base=(uint)47800" ! gstrtpjitterbuffer latency=500 ! rtpmp4adepay ! decodebin ! directsoundsink
(Note: this is on Windows. On *nix you could probably just swap the directsoundsink with alsasink or pulsesink. Also, I used UDP here because the Windows build 0.10.7 beta of gstreamer doesn't support tcp?! Also note: you actually have to plug in a set of headphones for this to work. (How do you get the actual unfiltered output in gstreamer?))

So, either GStreamer is tolerant of the AAC produced by the N9, or AAC encoding just works?

I haven't tested H.264.

Either way, UPnP-support would be nice, even better if it would be possible to stream the actual screen contents as video as well! Alternatively it might be possible to provide a icecast/shoutcast stream. That has a very broad client-support as well.

Last edited by Fuzzillogic; 2012-03-05 at 20:46. Reason: Updated link to windows binaries project
 
Posts: 362 | Thanked: 179 times | Joined on Sep 2010
#39
Will try the code tonight
The icecast/shoutcast idea is good. Thats make the stream easy to pick up on almost every device
But how?
 
Posts: 362 | Thanked: 179 times | Joined on Sep 2010
#40
I get 0:00:00.062400000 5060 00528E20 ERROR GST_PIPELINE grammar.tab.
8:gst_parse_element_set: could not set property "caps" in element "udpsrc0"
application/x-rtp, media=(string)audio, clock-rate=(int)44100, encoding-name
ring)MP4A-LATM, cpresent=(string)0, config=(string)40002420, payload=(int)96
rc=(uint)626726979, clock-base=(uint)297812686, seqnum-base=(uint)47800"

in cmd when trying the command. I cant get the gstreamer for win to work! I'm going crazy.

edit: Anyone know if gstreamer works with win 7 64bit. Might be the problem.

Last edited by Sniper_swe; 2012-03-05 at 20:12.
 
Reply


 
Forum Jump


All times are GMT. The time now is 16:30.