mplayer streaming PCM problems
Not sure where to put this question (as so many questions start off) but I'm posting some information tonight just in case I'm overlooking something obvious.
I have been capturing the BBC radio stream using mplayer/lame and was intending to capture 170 minutes of stream. the first three nights the mp3 produced all stopped after they had captured 95,110Kb of information (about 1:41:27 of stream - so nowhere near the 170 mins I expected). Basically the command I used was: Code:
mplayer -cache 1024 mms://wmlive-nonacl.bbc.net.uk/wms/bbc_ami/radio1/radio1_bb_live_int_eq1_sw0 -vc null -vo null -ao pcm:file=/dev/fd/3 3>&1 2>logs/test.log 1>&2 | lame -h - /mediaData/Family/Music/BBCRadio/x.mp3 Code:
mplayer -cache 1024 mms://wmlive-nonacl.bbc.net.uk/wms/bbc_ami/radio1/radio1_bb_live_int_eq1_sw0 -vc null -vo null -ao pcm:file=/mediaData/Family/Music/BBCRadio/x.wav 2>logs/test.log 1>&2 I then then followed it with: Code:
lame -h --nohist /mediaData/Family/Music/BBCRadio/x.wav /mediaData/Family/Music/BBCRadio/x.mp3 From the above I assume both mplayer and lame are capable of processing lareg streams/files by themselves and so it must be the combining them that causes the problem. I also did another test where I converted the larger file down to about 2G in size using: Code:
head -c 2G /mediaData/Family/Music/BBCRadio/x.wav >/mediaData/Family/Music/BBCRadio/x2.wav I'm running openSuSe 13.2 64 bit, LAME 3.99.5 64bits, and MPlayer -4.8. My limits are set as: Code:
ulimit -a |
Just a follow up. I now dont believe it is a pipe issue as such. I ran the following:
Code:
cat /mediaData/Family/Music/BBCRadio/x.wav | lame -h --nohist - /mediaData/Family/Music/BBCRadio/x4.mp3 Perhaps it's an issue with Code:
pcm:file=/dev/fd/3 |
ok - moving along.
If I run this: Code:
mplayer -cache 1024 mms://wmlive-nonacl.bbc.net.uk/wms/bbc_ami/radio1/radio1_bb_live_int_eq1_sw0 -vc null -vo null -ao pcm:file=/dev/fd/3 3>&1 2>logs/test.log 1>&2 | cat >/mediaData/Family/Music/BBCRadio/x6.wav I have seen NOWAVEHEADER as an option somewhere (and I think I have tried it but will test again) |
OK - next stage. As far as I can tell if mplayer puts out the PCM file with a header then the generated file will will have a default length of 2Gb - which lame then accepts and will only process that much stream data. If I put NOWAVEHEADER on mplayer and the -r option on LAME I am expected to provide all of the necessary header information to LAME to allow it to decode.
To get the header information I got mplayer to generate a file directly with WAVEHEADER using the following: Code:
mplayer -cache 1024 mms://wmlive-nonacl.bbc.net.uk/wms/bbc_ami/radio1/radio1_bb_live_int_ep1_sl0 -vc null -vo null -ao pcm:waveheader:file=/mediaData/Family/Music/BBCRadio/x7.wav Code:
kevin@mediaserver:~> mediainfo /mediaData/Family/Music/BBCRadio/x7.wav Code:
lame --nohist -r --signed -m s --verbose -s 44.1 --bitwidth 32 -b 128 /mediaData/Family/Music/BBCRadio/x7.wav /mediaData/Family/Music/BBCRadio/x7.mp3 Time to pause and think about next steps but I'm thinking that transcoding on the fly for streams greater than 100 mins will just refuse to work also tried --bigendian and -x and --bitwidth 24 all of which gave worse results |
All times are GMT -5. The time now is 04:25 AM. |