|
Nov 14 2009
|
A new major version of flvstreamer has been released. After some testing it would seem that it fixes quite a number of problems that get_iplayer users have been experiencing for the past few weeks since Akamai (one of the BBC’s content delivery network providers) started upgrading all their Flash Media Servers to v3.5.x. BBC Live TV now works better and many other bugs are reported to have been fixed. It also now auto-retries failed streams and fixes the bug where recording 1+ hour BBC radio flash streams always had to be resumed.
If you are using the Windows Installer for get_iplayer then just download it again and re-run it to get the new flvstreamer and ensure you choose the cygwin based flvstreamer.
Do you know where I can get an OS X binary? It won’t compile on OS X and the latest binary they provide is 1.8i.
I’ve compiled it on OS X 10.6.2 after a little tweak to the source code. I’ve put it up on my site while there’s no official binary. Intel only, I’m afraid – although I could probably get a PPC copy compiled if necessary.
flvstreamer-1.9
flvstreamer-1.9-osx-src
Enjoy!
Am I right in saying that the only changes are in streams.cpp ? If so does flvstreamer (i.e. not streams) work without any changes?
Urk. Put my reply in the wrong place.
Yes, it’s only in streams.cpp that I made changes; altering the two instances of MSG_NOSIGNAL with SO_NOSIGPIPE as mentioned in the discussion. After that it compiles correctly.
Seems like the binary you compiled is a universal binary:
XCFLAGS=”-arch ppc -arch i386″
Yes, I compiled it with those flags, but the resulting file is always either PPC or Intel; never a UB. Not sure what’s going on there. :/
Yes, it’s only in streams.cpp that I made changes; altering the two instances of MSG_NOSIGNAL with SO_NOSIGPIPE as mentioned in the discussion. After that it compiles correctly.
Update!
Still can’t get a universal binary to build, but if you need a PPC version I’ve got one here:
flvstreamer-1.9-i386
flvstreamer-1.9-powerpc
flvstreamer-1.9-src-osx
There’s also a universal binary build of FFmpeg for OS X on here as well, svn release 19400.
ffmpeg-r19400
So that’s everything you’ll need to run get_iplayer properly on a PowerPC machine!
Any chance you could post a version of flvstreamer with support for OSX 10.4? ..I’m seeing errors like this when I try to run yours (or any other I can find):
bash-2.05b# /usr/bin/flvstreamer version
dyld: unknown required load command 0x80000022
Trace/BPT trap
Bobbins. For some reason the PPC version fails to connect and dies with:
ERROR: ReadPacket, failed to read RTMP packet header
If you’re using flvstreamer v1.9 on a ppc machine, please post and let us all know if it’s working for you.
Tested v1.8i and it still works fine, so I’d perhaps stick with that for the moment.
Hi all
I’ve compiled this for the ARM processor on my QNAP TS-209 NAS. I used the instuctions on the download section, but modified them to use static libraries. Therefore this should work on any ARM based (and probably other) QNAP NAS. Please test and let me know how you get on.
http://files.me.com/james.e.clarke/u7zmq7
Actually, scrap that last link, try this one instead.
ftp://download:download@jamesclarke.homeip.net/World/flvstreamer.zip
thanks James for this file,
could you please add a download link for the modified files, for instance the Makefile.
I would like to compile flvstreamer on NAS WD mybook world edition(arm cpu).
thanks
Keep up the good job man… Your stuff are really great! I’ve experienced some problems with my downloaded flv… just at times the sound stays but the image freezes and then it comes back to normal. I’ve tried many players… It’s not player related. I think it may be due to dropped frames (I’m on wifi) and perhaps the lack of error correction in the program. Do you know what’s wrong?
Will try version 1.9 right now hope it solves the problem! :)) Will report back.
Just tried… images still freezes ramdomly within flv playbacks… And I’m know for sure it’s not player or computer related. It’s seems like some frames are missing or malformed… What amazes me is that this phenomenon never happens with the original flash player on the webpage. It seems like flvstreamer lacks an error correction mechanism… Am I right?
error correction isn’t really relevant here. TCP checksums and retries should avoid corruption due to lost packets.
Do you have ffmpeg installed – that demuxes the flv into mp4 which is much more playable on vlc etc.
ffmpeg will be used automatically if get_iplayer sees it installed. The win version installs it automatically.
Alright! No I don’t have ffmpeg… I’ll install it… Seems the best solution! Thanks and Keep up the good work! Happy new year!
I edited the Makefile so that top section reads
CC=/opt/usr/bin/gcc
CXX=/opt/usr/bin/g++
LD=/opt/usr/bin/ld
OPT=-O2
CFLAGS=
CXXFLAGS=
LDFLAGS=-Wall -static
LIBS=-lstdc++
THREADLIB=-lpthread
SLIBS=$(THREADLIB) $(LIBS)
As you can see, I’ve hardcoded the paths of gcc,g++ and ld as they’re a nonstandard location that aren’t in my $PATH. I also added in the lstdc++ lib into $LIBS and set LDFLAGS to be -Wall -static to create a static library.
The rest of the file is the same and ran it using “make arm”
Hi, thanks for your answer and explanation!
Using your modified makefile the compilation works fine but the link fails with an “undefined reference to `round'”, I resolved this link error by adding round function in flvstreamer.cpp and streams.cpp:
double round (double x) {
int x_int = (int)(x+0.5);
return(x_int);
}
I am sure this is a dirty way to resolve this issue but it is linking and flvstreamer is now working perfectly.
Note that I previously tried to use the flvstreamer you provided in the zip but I always got “ERROR: Problem accessing the DNS” when trying to grab an rtmp stream on my mybook World Edition.
Thanks again, flvstreamer now works on WD mybook World Edition.
_d_
2.57 doesn’t seem to be finding flvstreamer.
I’m actually using the ARM build and it was working a couple of days ago but the PVR always complains that it can’t find it now.
I’ve checked –pref-show and .get_iplayer/options for each user, removed “_arm” from the name of the binary and even copied it to /usr/bin but no dice.
Does flvstreamer work for the same user standalone? i.e. /usr/bin/flvstreamer -h
Hmmm no it locks the machine up – maybe it never worked for me? I should have slept on it before posting, sorry.
and ironically, having tried the same recordings again, I don’t think I ever actually needed it. Must start going to bed earlier…
So what actually happened was – I was using a binary for a different machine D’oh!
I’ve now recompiled and got flvstreamer 1.9 running on the Sheevaplug – and yes I DID need it for some recordings.
Would you like me to submit the file for the download section?