My Twitter client available for download
Somebody out there wants it, so here it is: My twitter cli client, written in PHP
“tw h” for help text.
Somebody out there wants it, so here it is: My twitter cli client, written in PHP
“tw h” for help text.
I’ve been using my own PHP-based CLI Twitter client pretty much since signing up (the Twitter API is so simple). You can view your timeline, tweet, view replies and view and send direct messages all via the command line, and I’ve just added the now-famous Fail Whale image to the error output, see this screenshot for an example.
The source isn’t published at the moment, but if you want it I’ll clean it up (take out my hard-coded username and password) and upload it - just leave a comment.
The whale is based on this one which I turned into my own version reversed with added twitter birdies.
Looks like I overestimated the file encryption entirely on the last BBC update. Fortunately some people still had their own “clear” versions of some programs which they could compare directly with the newly encrypted downloads, noticing that what some of us thought was a DRM scheme was actually just a simple XOR of the video stream with two repeating bytes. A quick perl script later and P Lewis, posting on Paul’s blog had a working video file just like the old scripts produced.
P Lewis has since incorporated this update into a really nice full featured script for browsing and downloading video from iPlayer.
I really hope this update wasn’t what the iPlayer team were doing for the last couple of months. Bloody waste of license payer’s cash if it was.
It’s looking like files downloaded from the iPhone iPlayer interface are now unplayable on devices other than the iPhone. Previously this was wide open to allow anyone to download Quicktime (H.264) video over HTTP directly from the site, but it now appears that although the video can still be downloaded it is encrypted (probably with Fairplay DRM).
More technical details on the Wiki as they come in.
(See also Paul Battley’s blog)
Based on Converting FLAC to MP3 in Linux (I tweaked the LAME settings a bit though):
#!/bin/bash
# Converts all AAC (m4a) files in a folder into mp3s, plus the id3 tag
# Requires faad, lame, id3v2
for a in *
do
# Check the file is a flac file
if [[ "$a" =~ (m4a)$ ]]
then
# Name of outfile
OUTF=`echo “$a” | sed s/\.m4a/.mp3/g`
echo “$a => $OUTF”
# Capture all the FLAC metadata
ARTIST=`faad -i “$a” 2>&1 | grep “^artist” | sed “s/.*: //g”`
TITLE=`faad -i “$a” 2>&1 | grep “^title” | sed “s/.*: //g”`
ALBUM=`faad -i “$a” 2>&1 | grep “^album” | sed “s/.*: //g”`
GENRE=`faad -i “$a” 2>&1 | grep “^genre” | sed “s/.*: //g”`
TRACKNUMBER=`faad -i “$a” 2>&1 | grep “^track” | sed “s/.*: //g”`
YEAR=`faad -i “$a” 2>&1 | grep “^date” | sed “s/.*: //g”`
# echo “$ARTIST - $TITLE - $GENRE - $TRACKNUMBER”
# Convert the audio data from AAC to MP3
faad -w “$a” | lame -V 2 -m j -b 192 -B 224 -s 44.1 - “$OUTF”
# Tag the resulting MP3 with the captured metadata
id3v2 -t “$TITLE” -T “$TRACKNUMBER” -a “$ARTIST” -A “$ALBUM” -g “$GENRE” -y “$YEAR” “$OUTF”
fi
done
A quick howto…
If you’re using a desktop debian distro, just use SoundConverter:
sudo apt-get install soundconverter
If you’re shelling into a server (or you just prefer CLI), you’ll need a script and a few audio tools. Here’s the bash script (based on this one):
#!/bin/bash
# Converts all flac files in a folder into mp3s, plus the id3 tag
# Requires flac, metaflac, lame, id3v2
for a in *
do
# Check the file is a flac file
if [[ "$a" =~ flac$ ]]
then
# Name of outfile
OUTF=`echo “$a” | sed s/\.flac/.mp3/g`
echo “$a => $OUTF”
# Capture all the FLAC metadata
ARTIST=`metaflac “$a” –show-tag=ARTIST | sed s/.*=//g`
TITLE=`metaflac “$a” –show-tag=TITLE | sed s/.*=//g`
ALBUM=`metaflac “$a” –show-tag=ALBUM | sed s/.*=//g`
GENRE=`metaflac “$a” –show-tag=GENRE | sed s/.*=//g`
TRACKNUMBER=`metaflac “$a” –show-tag=TRACKNUMBER | sed s/.*=//g`
# Convert the audio data from FLAC to MP3
flac -c -d “$a” | lame -m j -b 256 -s 44.1 - “$OUTF”
# Tag the resulting MP3 with the captured metadata
id3v2 -t “$TITLE” -T “$TRACKNUMBER” -a “$ARTIST” -A “$ALBUM” -g “$GENRE” “$OUTF”
fi
done
Save that off in your path, make it executable:
chmod u+wrx flac2mp3
and run it from an location with mp3s in. It’ll convert all FLAC files to identically named MP3 files with the id3v2 information based on the FLAC metadata.
You’ll need flac, metaflac, id3v2 and lame:
sudo apt-get install flac id3v2 lame
Happy converting ![]()
I had a very nice email from Angela at Wikia this morning, inviting me to move the Beebhack Wiki over to their hosting. I think the only reason Beebhack wasn’t over there in the first place was potential hassle around getting a free wiki approved by their staff. Since they’d been kind enough to email me over there, this was no longer a problem.
So, a good time to take advantage of a better implementation of MediaWiki than we had at BluWiki and hopefully some better uptime. Angela even imported all our existing wiki data for us.
The beeb added a little update to the iPlayer again today, clearly as part of their (admirable) attempts at getting iPlayer working on exotic devices iPlayer is now Wii optimised! How cool! I’ve not tested it out, but this is the first “official” iPlayer version which is actually designed to display TV shows on a TV. We are living in the future!
I’ve written a few technical notes over on the Wiki, but basically they’re using the User-Agent string to serve a Flash 7 compatible stream.
Speaking of User-Agents, I’m hearing that the iPhone version of iPlayer has been tightening down on what User-Agent string you can get away with when you pretend to be an iPhone. No more “iPhone, LOL” strings I’m afraid ![]()
Thought I’d see if I could get a download script in just one line of console utilities. I could (although it’s actually 8 separate commands split over 12 lines, it’s still executed as one single bash statement). A pretty concise bit of code it is, too:
curl -b cookies.txt -A "Apple iPhone v1.1.3 CoreMedia v1.0.0.4A93" -H "Range: bytes=0-" -o iplayer_download.mov \
$( \
curl -i -c cookies.txt -A "Apple iPhone v1.1.3 CoreMedia v1.0.0.4A93" -H "Range: bytes=0-1" \
$( \
curl -i -A "iPhone, LOL" -c cookies.txt $1 \
| grep "pid :" \
| cut -d\' -f2 \
| sed "s/\([0-9a-z]\)/http:\/\/www.bbc.co.uk\/mediaselector\/3\/auth\/iplayer_streaming_http_mp4\/\1/” \
) \
| grep Location \
| cut -d: -f2,3 \
)
I’ve created a new wiki all about using BBC content at beebhack.bluwiki.com
In the first 24 hrs it got 1500 page requests and it’s not looking to slow down just yet. I would have hosted it here at Strawp.net but I wanted this to be more community owned than something I would run.
The downside of course is that I really don’t have any detailed information on where any of those hits are coming from…