Khá nhiều bạn hỏi tôi cách download nhạc ở trang web
http://music.vuilen.com, trước đây thì trang này download nhạc bình thường và tôi có hướng dẫn download tại trang
http://www.guru.net.vn/media.aspx. Nhưng hiện tại http://music.vuilen.com đã thay đổi công nghệ nên cách download đó không dùng được nữa. Hôm nay tôi sẽ viết bài nói rõ hơn về công nghệ mà trang này sử dụng và cách thức download nhạc từ trang này để các bạn được rõ.
Chẳng hạn với bài hát có link :
http://music.vuilen.com/play.php?albumid=2&songid=11&log=1Sau khi bạn chạy thì sẽ nghe thấy nhạc của bài hát đó, đoạn chứa Flash object nghe nhạc sẽ nằm trong url (được iframe vào trang trên) :
http://music.vuilen.com/player.php?playertype=c29uZw==&id=MTE=Trong đó c29uZw== và MTE= lần lượt là mã Base 64 của song và 11.
Khi chạy link này bạn sẽ thấy trong của sổ chỉ có mỗi phần nghe nhạc. Bạn dùng 1 phần mềm lắng nghe giao thức HTTP sẽ thấy như sau :

Hoàn toàn không thấy địa chỉ của file nhạc đâu, nhưng vẫn nghe thấy tiếng nhạc ? Vậy file nhạc được truyền về client theo đường nào ?
Bạn decode file flash sẽ thấy đoạn code :

Trong đó đáng chú ý là dòng:
songURL = "rtmp://w.vuilen.com/musicstream||vuilen/";
songURL = "rtmp://67.159.41.30/musicstream||vuilen/";
imageURL = "http://images.vuilen.com/music";
Như vậy bạn thấy địa chỉ file nhạc sẽ bắt đầu bằng rtmp. Đây là giao thức khác với HTTP, do vậy khi lắng nghe theo giao thức HTTP trên cổng 80 sẽ không nhìn thấy địa chỉ này.
Vậy rtmp là gì ?
Real Time Messaging Protocol (RTMP) là giao thức được phát triển
bởi Adobe Systems (trước đó do Macromedia phát triển) được sử dụng cho
Adobe Flash Media Server để truyền dữ liệu audio, video, data qua
internet tới người dùng sử dụng Adobe Flash Player client.
Mặc đinh giao thức này làm việc trên cổng 1935 do vậy lắng nghe trên cổng 80 sẽ không thấy. Giao thức này không được hỗ trợ bởi trình duyệt nên cho dù có lấy được link thật của nó thì dùng trình duyệt sẽ không download được file về.
Ngoài ra trang vuilen.com còn sử dụng
amfphp làm gateway, cho các service của mình.

Ví dụ với music engine :
Làm sao để có thể lưu lại được file nhạc theo giao thức này ? Hiện tại các phần mềm hỗ trợ giao thức này rất ít. Bạn có thể download bằng phần mềm
Replay Media Catcher, bản dùng thử chỉ save được 75% file.

Các trang video lớn hiện nay đều sử dụng công nghệ này, đuôi file là .flv,... tuy nhiên những site đó RTMP đã được tunnelled qua cổng 80 của HTTP nên bạn có thể down theo địa chỉ của giao thức HTTP. Công nghệ này tỏ ra vượt trội vì khả năng buffer rất tốt.
Hy vọng bài viết này đã giải đáp được thắc mắc cho một số bạn.