latest: strec.pl
2014-09-14: v2.3 - strec-2.3.pl
- Protect all filenames in single quotes, improved TS chunk reporting
2014-09-13: v2.2 - strec-2.2.pl
- Add support for .m3u8 playlists (Playlist of Transport Stream chunks, containing MP3 or H.263/AAC)
2009-03-14: v2.1 - strec-2.1.pl
- Terminate DSProxy with KILL instead of TERM signal
2008-09-18: v2.0 - strec-2.0.pl
- use vsound instead of dsproxy
2005-05-27: v1.2 - strec-1.2.pl
- maintain a log file with all recordings
- extended debugging info
2005-05-02: v1.1 - strec-1.1.pl
- add id3v1 tag after recoding is finished
- improved handling of multi-part recordings
2005-05-01: v1.0 - strec-1.0.pl
- Initial release
Helper to re-tag existing audio file: strectag.pl
What you'll need: VSound: http://www.vsound.org/ (get version 0.6, apply patch from http://scara.com/strec/vsound-0.6.1.patch.tgz ) RealPlayer: http://www.real.com/ (set sound device to OSS, not ALSA) (old ver.: http://forms.real.com/real/player/blackjack.html) Lame: http://lame.sourceforge.net/ gnu wget: http://wget.sunsite.dk/ LibID3v2 http://id3lib.sourceforge.net/ id3v2 http://id3v2.sourceforge.net/ openRTSP http://www.live555.com/liveMedia/ (unpack 'live' directory in /usr/src/ and follow build instructions) ts2es: https://code.google.com/p/tstools/ ffmpeg: https://www.ffmpeg.org/ How to do it: - Make sure all the software above is installed - Start with "strec.pl <file or URL> [<perfect>]" - URL can be any http:, rtsp: or pnm: link - the recording file name will be that of the .rm file, e.g. rtsp://server.com/dir/file.rm --> file.mp3 - file can be: - filename.url: One line with a URL as above - filename.strec: First line with the URL, second line with Title, Artist, Album and Year, separated by TABs, third line with Description. - Otherwise, a line with 'rtsp:' from the file will be used as the URL - The recording filename will be that of the file, e.g. /tmp/file.ram --> /tmp/file.mp3 (or $target/file.mp3, if $target is set in the script) - If you specify a non-zero value for <perfect>, the recoding will be stopped if a DSP_RESET is encountered. - Now the realplayer should start and you should see some messages like these: 00:00:00.00 SNDCTL_DSP_RESET 00:00:00.00 SNDCTL_DSP_SPEED => 44100 00:00:00.00 SNDCTL_DSP_CHANNELS => 2 Assuming raw pcm input file : Forcing byte-swapping LAME version 3.93 (http://www.mp3dev.org/) Using polyphase lowpass filter, transition band: 15115 Hz - 15648 Hz Encoding <stdin> to audiofile.mp3 Encoding as 44.1 kHz 128 kbps j-stereo MPEG-1 Layer III (11x) qval=2 00:00:00.00 SNDCTL_DSP_SETFMT => AFMT_S16_LE AFMT_S16_NE 00:00:00.00 SNDCTL_DSP_RESET 00:00:00.00 SNDCTL_DSP_SETFRAGMENT => 0001000d 00:00:00.00 SNDCTL_DSP_SETFMT => AFMT_S16_LE AFMT_S16_NE 00:00:00.00 SNDCTL_DSP_CHANNELS => 2 00:00:00.00 SNDCTL_DSP_SPEED => 44100 00:00:00.00 SNDCTL_DSP_RESET waiting 5 - The "waiting" value will count up until the pre-buffering is finished, after that is continues like this: 00:00:00.00 SOUND_MIXER_WRITE_VOLUME => 75 - 75 00:00:00.00 SOUND_MIXER_WRITE_BASS => 75 - 75 00:00:00.00 SOUND_MIXER_WRITE_TREBLE => 75 - 75 00:00:00.00 SOUND_MIXER_WRITE_PCM => 75 - 75 00:00:00.00 SOUND_MIXER_WRITE_PCM => 75 - 75 00:05:23.42 - The time value at the bottom will keep on going during the recording. - After the file has finished playing, you should see two more DSP_RESET messages and success message like: "FINISHED: clip is completed at 00:00:10.52" The printed time is the recorded length of the .mp3 file. - If there were any other DSP_RESET messages during the file recording, the connection got bad and you might have to start over again. If that happens, a warning is also displayed: "ALERT! stream interruption at 00:00:05.70"
Visits:
(by digits.net)