===== What? =====
My notes on using the Sony NWZ-A826 walkman with linux, should apply to all NWZ-A8** models. I use debian but should work for all distros.
* There are now other versions available: Sony NWZ-A826KB includes a bluetooth headphones, Sony NWZ-S738F also has a noise cancellation system
* pros: cheaper than the ipod, bluetooth music streaming, sony allows mounting of the device as usual usb_storage device (quite different from ipods)
* cons: "rootkit-issues", no support for the ogg format, bluetooth only used for music-streaming - not to transfer files
* What works from linux: storing audio/video/pictures onto the walkman, cd-ripping and encoding to mp3, stuffing cover-art into the mp3s, converting pictures to formats optimal for the walkman (thou most jpegs can be displayed as they are), encoding videos to be played on the walkman
===== the hardwarespecs =====
* display: 2.4-inches, 320x240
* usb 2.0 connection, akku loaded via usb
* playback time: music approx. 36 hours / video approx. 10 hours
* video playback AVC (H.264/AVC), MPEG-4
* image playback JPEG
* audio playback MP3, WMA, AAC-LC, Linear PCM
* dimensions 50.2 x 93.6 x 9.3mm / weight 58g
* bluetooth 2.0, supports profiles A2DP 1.0 (Advanced Audio Distribution Profile) and AVRCP 1.3 (A/V Remote Control Profile) for streaming of audio to Headphones, A/V equipment, In-vehicle equipment, Personal computers or Mobile phones and remote-controlling those devices
===== managing music/picture/video files =====
== mounting ==
This has to be done to do file operations. Do not disconnect the walkman while it is mounted!
tail -f /var/log/messages & # start watching the logs
# now onnect the walkman, it can be accessed with the usual linux usb-storage driver.
# if everyting goes well usb_storage gets loaded and you the A826 gets available as a new device.
# You should get an output like 'sda: sda1', saying you can access the A826 under /dev/sda1.
# If that doesnt happen try to manually load the driver:
modprobe usb_storage
# - if that still doesnt work check if usb-drivers are loaded and the A826 comes up as usb-device at all.
mkdir -p /mnt/walkman # creates a mountpoint if not existant
mount /dev/sda1 /mnt/walkman # mounts the A826, use your device here.
== storing/deleting/moving files ==
This is how music/pictures/videos are managed. Usual file-operations can be used. Store pictures under directory 'picture', music under 'music' etc.
cp -r /home/user/tinypics /mnt/walkman/pictures # copies pictures
rm -r /mnt/walkman/pictures/tinypics # deletes those
mv /mnt/walkman/pictures/tinypics /mnt/walkman/pictures/tinypics2 # move directory
cp -r /home/user/musicfiles /mnt/walkman/music # copies music
Notice: pictures can only be stored one directory depth. So pictures/dir1/pic1.jpg is ok while pictures/dir1/dir2/pic2.jpg is not accessable for viewing on the A826.
== umounting ==
This is needed bevore unplugging the A826 to ensure all i/o operations have finished and the filesystem is clean.
umount /mnt/walkman
===== How to see album covers? =====
The A826 expects those inside the mp3-file as part of an ID3v2.3-tag. Add the cover-art to the mp3-file i.e. using [[https://easytag.sourceforge.net/|easytag]] (apt-get install easytag). Start it and click Settings -> Preferences -> ID3 Tag Settings -> select 'ID3v2.3' instead of the default 'ID3v2.4', hit 'OK'. On the left select the directory with mp3-files. Select your mp3-file in the middle-window, on the right select the 'Pictures'-tag, hit '+', select your cover-art. In the top-menu use File -> Save File(s) to save, and your cover is saved in the usable manner. With [[https://kid3.sourceforge.net/|Kid3]] (apt-get install kid3-qt) its easy to add the same cover-art to more than one file in only one work-step.
===== How to encode videos for the walkman? =====
== Install mencoder appropriately ==
apt-get install subversion-tools git-core
apt-get install libfaad-dev liba52-0.7.4 liba52-0.7.4-dev libdts-dev
# get the lame source, untar, configure && make && make install
# get x264 from git, install it.
# get faac, i.e. from audiocoding.com, install it
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
# get mplayer-source-snapshot from mplayerhq.hu (1.0rc2 didnt for for me)
tar xjf mplayer-checkout-snapshot.tar.bz2
cd ffmpeg
cp -r libav* ../mplayer-checkout-2008-09-05/
cd ../mplayer-checkout-2008-09-05/
./configure && make && sudo make install
# ffmpeg: ./configure --enable-gpl --enable-pp --enable-libvorbis --enable-libtheora \
# --enable-liba52 --enable-libdc1394 --enable-libgsm --enable-libmp3lame --enable-libfaad \
# --enable-libfaac --enable-libxvid --enable-pthreads --enable-libx264 --enable-shared
== Encoding w/ mencoder ==
Now you can reencode the video so it fits the walkman. Using the one-pass-method is faster but produces worse video quality - but thats probably not worth the time spend for the small screen of the walkman.
* Destination: mp3 audio, video AVC (H.264/AVC), MPEG-4
# 1 pass enconding examples:
# quality quite ok
mencoder -ofps 25 -of lavf -lavfopts format=mp4 -af lavcresample=48000 -srate 48000 -vf-add harddup \
-vf-add scale=320:240 -oac lavc -ovc lavc -lavcopts \
aglobal=1:vglobal=1:vcodec=mpeg4:acodec=libfaac:abitrate=128:vbitrate=350 \
-o evan_walkman1.mp4 evanescence__good_enough.divx
# options tuned for better quality, encoding takes more than twice the time of previous example
mencoder -ofps 25 -of lavf -lavfopts format=mp4 -af lavcresample=48000 -srate 48000 -vf-add harddup \
-vf-add scale=320:240 -oac lavc -ovc lavc -lavcopts \
aglobal=1:vglobal=1:acodec=libfaac:abitrate=128:vcodec=mpeg4:vbitrate=350:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:precmp=2:cmp=2:subcmp=2:preme=2:turbo \
-o evan_walkman6.mp4 evanescence__good_enough.divx
# some lavc-opts explained (see 'man mplayer'):
aglobal=1:vglobal=1:vcodec=mpeg4:acodec=libfaac :
all obligatory for us (extra headers, mpeg4 videocodec, AAC audiocodec)
abitrate=128 :
audiobitrate in kbps. No need to use a higher value than your input-video contains.
vbitrate=350 :
videobitrate, 250 is a good startingpoint. Higher results in better quality, higher
than your input-video makes no sense.
autoaspect :
use this to retain your aspect-ratio. I dont want this, i prefer eggy heads and a
completely used screen on the walkman.
mbd=2 :
Macroblock decision, better quality but slower
mv0:trell:v4mv:cbp:last_pred=3:predia=2:dia=2:precmp=2:cmp=2:subcmp=2:preme=2:
better quality but slower encoding
turbo :
(two pass only) Dramatically speeds up pass one using faster algorithms
== encoding w/ ffmpeg ==
# havent tested this:
ffmpeg -i infile -b 567k -s 320x240 -vcodec mpeg4 -ab 220k -ar 44100 -ac 2 -acodec libfaac outfile.mp4
ffmpeg -y -i infile.avi -threads auto -vcodec libx264 -b 250k -maxrate 768k \
-flags +loop -cmp +chroma -partitions +parti4x4+partp4x4+parti8x8+partp8x8 -flags2 \
+mixed_refs -level 13 -refs 3 -subq 7 -trellis 2 -me 6 -g 300 -s 320x240 -ab 128k -ar\
44100 -ac 2 -acodec libfaac outfile.mp4
===== faq =====
== Howto encode audio as mp3? ==
Use cdparanoia for ripping and lame for encoding as mp3.
== How to simplify mounting/umounting? ==
Mounting can be done automatically with udev, read the udev-faq. As soon as usb-devices with special properties are plugged in scripts can be run, i.e. doing the mounting.
== Firmware upgrade using linux? ==
Havent seen a chance yet to do this, also havent seen yet a need to upgrade the firmware (besides beeing able to store pictures in subdirectories would be nice).
== How to squeeze picture-size down to a minimum? ==
Pictures on the walkman can be reencoded to 320x240 pixels. The files get smaller, of course information is lost and the pictures look bad when displayed on a bigger display. 'apt-get install imagemagick' installs imagemagick containing the needed convert-tool. This snippet converts all pictures not ending in _sony.jpg into the 320x240 solution and deletes the original file.
find . -name '*.jpg' ! -name '*_sony.jpg' -type f | \
while read i; do convert "$i" -resize 320x240 "${i%.jpg}_sony.jpg" && rm "$i"; done
== Why can only root write files onto the path where the walkman is mounted? ==
The walkmans filesystem is vfat which can not handle ownerships. You can use a special mount-option to make everything below the mountpoint owned by one single user and thus readable/writable by that user:
mount -o uid=chris /dev/sda1 /mnt/walkman
== Thumb-pics for the videos? ==
Those must be placed in the video-directory and named file.jpg for a video named file.mp4. Format of the thumb-pics should be 160x120.