Raspberry Pi + Rune Audio ::: Một trải nghiệm nghe nhạc mới

tml3nr

Moderator
Em mò tiếp việc play youtube opus sang mpd (Đã enable ffmpeg).

1. Download mpc for windows. Extract vào 1 folder. Thí dụ như c:/mpc

http://www.musicpd.org/download/mpc/0/mpc-0.22-win32.zip

2. Tạo 1 file c:/mpc.cmd có nội dung sau:

Mã:
mpc -h 192.168.1.12 clear
mpc -h 192.168.1.12 add %1
mpc -h 192.168.1.12 play
exit

3. Vào web genyt.com chọn video muốn play. Copy link webm 160abr (opus 160kbps)

4. Vào cmd c:/mpc. Chạy như sau (link video)

Mã:
c:/mpc.cmd "https://redirector.googlevideo.com/videoplayback?expire=1560282501&ei=JLH_XKKlO4PCD6vAsdgE&ip=107.178.194.210&id=o-AFwCqdPFOtl7W0LhGBT81NT1MnyF1OJ_u9mZcUGpha1d&itag=251&source=youtube&requiressl=yes&mm=31%2C29&mn=sn-qxo7sney%2Csn-qxoedn7k&ms=au%2Crdu&mv=m&pl=28&initcwndbps=46528750&mime=audio%2Fwebm&gir=yes&clen=5848944&dur=366.861&lmt=1537990192574865&mt=1560260808&fvip=5&keepalive=yes&c=WEB&txp=5511222&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&lsparams=mm%2Cmn%2Cms%2Cmv%2Cpl%2Cinitcwndbps&lsig=AHylml4wRAIgMQlN08Ecch26KXsIiuuPBOJlLRqrcaBMU8nrbd_hSvUCIB4jUZNBu2RdE1vPrfpqXJtEMB5og2WBC3z1nfz75xbO&sig=ALgxI2wwRAIgKoUQ9y-_akrgepfIs8xVM6Irlbs1z5lFUaliZMMABMsCIBTys4nVdQEeLl0KF4Xy4a4A8uMJbmuSNwezAmAfBXMU&ratebypass=yes&utmg=ytap1&title=Adele_-_Hello.webm"

File opus sẽ được đẩy sang mpd và play.

Vậy nếu mình mod được cái extension browser dạng "Send link to" là có thể dùng cách này để play opus sang pi. Hơi thô thiển nhưng trước mắt play được opus chỉ bằng 1 click chuột o_O

More info. Tham số của mpc for Windows:

Mã:
Usage: mpc [options] <command> [<arguments>]
mpc version: 0.22

Options:
  -v, --verbose  Give verbose output
  -q, --quiet  Suppress status message
  -q, --no-status  synonym for --quiet
  -h, --host=<host>  Connect to server on <host>
  -P, --password=<password>  Connect to server using password <password>
  -p, --port=<port>  Connect to server port <port>
  -f, --format=<format>  Print status with format <format>
  -w, --wait  Wait for operation to finish (e.g. database update)

Commands:
  mpc  Display status
  mpc add <file>  Add a song to the current playlist
  mpc crop  Remove all but the currently playing song
  mpc current  Show the currently playing song
  mpc del <position>  Remove a song from the current playlist
  mpc play [<position>]  Start playing at <position> (default: 1)
  mpc next  Play the next song in the current playlist
  mpc prev  Play the previous song in the current playlist
  mpc pause  Pauses the currently playing song
  mpc toggle  Toggles Play/Pause, plays if stopped
  mpc stop  Stop the currently playing playlists
  mpc seek [+-][HH:MM:SS]|<0-100>%  Seeks to the specified position
  mpc clear  Clear the current playlist
  mpc outputs  Show the current outputs
  mpc enable <output #>  Enable a output
  mpc disable <output #>  Disable a output
  mpc shuffle  Shuffle the current playlist
  mpc move <from> <to>  Move song in playlist
  mpc playlist  Print the current playlist
  mpc listall [<file>]  List all songs in the music dir
  mpc ls [<directory>]  List the contents of <directory>
  mpc lsplaylists  List currently available playlists
  mpc load <file>  Load <file> as a playlist
  mpc insert <file>  Insert a song to the current playlist after the current track
  mpc save <file>  Save a playlist as <file>
  mpc rm <file>  Remove a playlist
  mpc volume [+-]<num>  Set volume to <num> or adjusts by [+-]<num>
  mpc repeat <on|off>  Toggle repeat mode, or specify state
  mpc random <on|off>  Toggle random mode, or specify state
  mpc single <on|off>  Toggle single mode, or specify state
  mpc consume <on|off>  Toggle consume mode, or specify state
  mpc search <type> <query>  Search for a song
  mpc find <type> <query>  Find a song (exact match)
  mpc findadd <type> <query>  Find songs and add them to the current playlist
  mpc list <type> [<type> <query>]  Show all tags of <type>
  mpc crossfade [<seconds>]  Set and display crossfade settings
  mpc clearerror  Clear the current error
  mpc mixrampdb [<dB>]  Set and display mixrampdb settings
  mpc mixrampdelay [<seconds>]  Set and display mixrampdelay settings
  mpc update [<path>]  Scan music directory for updates
  mpc sticker <uri> <get|set|list|del> <args..> Sticker management
  mpc stats  Display statistics about MPD
  mpc version  Report version of MPD
  mpc idle [events]  Idle until an event occurs
  mpc idleloop [events]  Continuously idle until an event occurs
  mpc replaygain [off|track|album]  Set or display the replay gain mode
  mpc channels  List the channels that other clients have subscribed to.
  mpc sendmessage <channel> <message>  Send a message to the specified channel.
  mpc waitmessage <channel>  Wait for at least one message on the specified channel.
  mpc subscribe <channel>  Subscribe to the specified channel and continuously receive messages.

See man 1 mpc for more information about mpc commands and options

PS: Hiện tại paste link vào Cantata mất 2 click :D

youtube-opus-2.jpg
Báo cáo với cả nhà là em thấy cái này tương đối dễ mod, vì nó có cho mình set program. Hiện đã xuất lệnh qua MPD từ PC được. Nhưng đang còn vướng chổ đẩy link http :confused:

https://add0n.com/download-with.html
 
Chỉnh sửa lần cuối:

tml3nr

Moderator
Em cập nhật tình hình play youtube opus sang mpd.

Dùng plugin "Download with Free Download Manager" setup như hình bên dưới đẩy được link opus cho mpd play trực tiếp:

youtube-mpd-02.jpg


youtube-mpd-01.jpg


youtube-mpd-03.png
 
Chỉnh sửa lần cuối:

quatmo

Well-Known Member

Mời bác xài thử cái Extensions: Volumio Youtube này.
Mở web youtube.com lên mở 1 bài hát bấm button góc trên trình duyệt send thẳng qua MDP playlist đang nghe của Volumio. Send Youtube playist cũng được, bấm phát send nguyên playlist đang nghe qua.

Bác thích thì mình send cái source extension để mod lại cho Rune
Mình mới publish xài thử rất ngon, tiện dụng. (khoảng 10 giây mới hiện ra)
 
Chỉnh sửa lần cuối:

tml3nr

Moderator
Mời bác xài thử cái Extensions: Volumio Youtube này.
Mở web youtube.com lên mở 1 bài hát bấm button góc trên trình duyệt send thẳng qua MDP playlist đang nghe của Volumio. Send Youtube playist cũng được, bấm phát send nguyên playlist đang nghe qua.

Bác thích thì mình send cái source extension để mod lại cho Rune
Mình mới publish xài thử rất ngon, tiện dụng. (khoảng 10 giây mới hiện ra)
Em chưa hiểu lắm? Nhờ anh giải thích thêm:

- Cái extension này do anh viết ạ? Sao anh không làm cho nó tương thích với MPD standard luôn để khỏi lệ thuộc OS?

- Cần phải làm gì để chạy được với rune ạ?

- Cách này có lấy được opus không ạ? Trước giờ em thử những kiểu parser đều không lấy được opus

- Em không biết cách mod extension. Sửa một chữ nó cũng bị lỗi. Nếu anh hướng dẫn em cách làm luôn thì hay quá.
 
Chỉnh sửa lần cuối:

tml3nr

Moderator
Vậy là tạm ổn một cách đẩy link opus qua mpd từ web browser trên PC. Em xin liệt kê lại các bước như sau:

MPD cần phải có support opus và enable ffmpeg.

1. Download mpc for Windows. Extract ra 1 folder trên PC. Thí dụ như C:\mpc:

http://www.musicpd.org/download/mpc/0/mpc-0.22-win32.zip

2. Install addon "External Application Button" vào Chrome:

https://chrome.google.com/webstore/...n-butt/bifmfjgpgndemajpeeoiopbeilbaifdo?hl=en

3. Download file windows.zip. Extract ra rồi chạy install.bat:

https://github.com/andy-portmen/native-client/releases/download/0.7.0/windows.zip

4. Vào settings của addon "External Application Button". Set như sau:

youtube-mpd-06.png

5. Vào trang web genyt.net. Chọn video muốn play. Click chuột phải vào WEBM 160abr, chọn "Send Link to MPD". Link audio của Youtube sẽ được add vào MPD.

youtube-mpd-07.jpg


Cách này mình sẽ lấy được audio cao nhất của Youtube là opus 160kbps, 48kHz. Khi play MPD lấy nhạc trực tiếp từ web:

youtube-mpd-03.png


6. Tùy chọn: Thêm menu MPD Play/Pause để khỏi chuyển sang tab khác:

youtube-mpd-08.png

youtube-mpd-09.jpg


Hiện tại em chỉ làm được nhiu đó. Mình sẽ tìm cách cải tiến thêm cho OK hơn o_O

Em rất thích codec opus của Youtube. Nó cắt tần rất khéo. Âm thanh quá hay với bitrate 160kbps.
 
Chỉnh sửa lần cuối:

Dinh_Duy

Member
Vậy là tạm ổn một cách đẩy link opus qua mpd từ web browser trên PC. Em xin liệt kê lại các bước như sau:
Em rất thích codec opus của Youtube. Nó cắt tần rất khéo. Âm thanh quá hay với bitrate 160kbps.
Bữa giờ em không theo dõi nên mạn phép hỏi các bác đang làm gì vậy ạ?

Để play nhạc youtube thì em viết bash scripts để get link youtube, sử dụng youtube_dl với chất lượng audio cao nhất có thể (chỉ lấy audio), sau đó đẩy link này vào playlist của mpd rồi stream nó. Sau đó tạo trang web trên Pi (em dùng Moode 5) để copy link youtube (từ app Youtube trên đt chẳng hạn) rồi đẩy link sang bash scripts.

Volumio hình như có sẵn chức năng này.

Không rõ vấn đề của mọi người là ở format OPUS hay gì?
 

tml3nr

Moderator
Bữa giờ em không theo dõi nên mạn phép hỏi các bác đang làm gì vậy ạ?

Để play nhạc youtube thì em viết bash scripts để get link youtube, sử dụng youtube_dl với chất lượng audio cao nhất có thể (chỉ lấy audio), sau đó đẩy link này vào playlist của mpd rồi stream nó. Sau đó tạo trang web trên Pi (em dùng Moode 5) để copy link youtube (từ app Youtube trên đt chẳng hạn) rồi đẩy link sang bash scripts.

Volumio hình như có sẵn chức năng này.

Không rõ vấn đề của mọi người là ở format OPUS hay gì?
Loay hoay xà quần với mục đích là lấy được link audio webm / opus bitrate cao nhất cho mpd play trực tiếp anh ạ. File audio ogg và m4a âm thanh không hay bằng opus, bitrate cũng kém hơn.

Em làm cách này để cho mpd lấy được link trực tiếp của youtube chứ không qua upmpdcli (upnp renderer). Vì khi enable upmpdcli âm thanh hơi bị sạn.

youtube-opus-1.jpg


youtube-opus-2.jpg
 
Chỉnh sửa lần cuối:

Dinh_Duy

Member
Loay hoay xà quần với mục đích là lấy được link audio webm / opus bitrate cao nhất cho mpd play trực tiếp anh ạ. File audio ogg và m4a âm thanh không hay bằng opus, bitrate cũng kém hơn.

Thế thì dùng trực triếp youtube_dl trên Pi với tuỳ chọn --audio-format "opus" cũng được nhỉ. Lấy trực tiếp link rồi add vào mpd, không tải file:

#lay link audio tu youtube
youtube_dl --audio-format 'opus' -g --no-warning $youtube_link

#them link vao cuoi playlist
mpc add $link

#play link cuoi cung trong playlist
loc=`mpc playlist | wc -l`
mpc play $loc

Phần còn lại là tạo file .php để gọi scripts này với link youtube từ textbox thôi.

Hiện mình đang chạy cái này trên Moode ở nhà cho các cụ nghe youtube. Nhược điểm là chưa play được list youtube (cần viết lại cái bash script) còn lại chạy ngon lành.
 

do_long_khach

Well-Known Member
Thế thì dùng trực triếp youtube_dl trên Pi với tuỳ chọn --audio-format "opus" cũng được nhỉ. Lấy trực tiếp link rồi add vào mpd, không tải file:

#lay link audio tu youtube
youtube_dl --audio-format 'opus' -g --no-warning $youtube_link

#them link vao cuoi playlist
mpc add $link

#play link cuoi cung trong playlist
loc=`mpc playlist | wc -l`
mpc play $loc

Phần còn lại là tạo file .php để gọi scripts này với link youtube từ textbox thôi.

Hiện mình đang chạy cái này trên Moode ở nhà cho các cụ nghe youtube. Nhược điểm là chưa play được list youtube (cần viết lại cái bash script) còn lại chạy ngon lành.
Cái này thao tác trên giao diện của Rune được ko bác?
 

Dinh_Duy

Member
Bác chỉ luôn cách làm trên Rune UI thì tốt quá
Không làm được qua UI đâu, bác phải làm qua SSH.
1. Cần phải cài được youtube_dl (https://github.com/ytdl-org/youtube-dl#installation), khá đơn giản.
2. Cần cài đặt mpc nếu chưa có (để biết có chưa thì bác gõ lệnh mpc).
3. Chép các file vào đúng nơi (file script vào /usr/local/bin/; file php vào web server, thường là /var/www).
4. Set permission là xong.

Mình gửi luôn file cần cho bác nào muốn làm: https://www.fshare.vn/file/1FSEDB8WKT9G
 
Chỉnh sửa lần cuối:

henry7588

Member
Download youtube thì dùng app hay trang nào cho chất lượng tốt mấy bạn? Em xài mac ạ.
 
Chỉnh sửa lần cuối:

quatmo

Well-Known Member
Em chưa hiểu lắm? Nhờ anh giải thích thêm:

- Cái extension này do anh viết ạ? Sao anh không làm cho nó tương thích với MPD standard luôn để khỏi lệ thuộc OS?
- Cần phải làm gì để chạy được với rune ạ?
- Cách này có lấy được opus không ạ? Trước giờ em thử những kiểu parser đều không lấy được opus
- Em không biết cách mod extension. Sửa một chữ nó cũng bị lỗi. Nếu anh hướng dẫn em cách làm luôn thì hay quá.

Giờ mới trả lời bác được, extension do người khác viết, đã xác định extension này không mod cho MPD standard được vì Volumio không add mpc như bình thường được. Cách này không lấy trực tiếp opus mà chỉ là thao tác gửi link đến queue Volumio.

---------------------------------------------

Đây là một option khác cho người dùng Volumio bằng cách send 1 bài hát hay playlist từ trang Youtube.com qua queue Volumio.
Hiện tại Volumio chỉ play được Youtube file video.mp4 (audio+video).

2019-06-14 23_06_17-_ Unsaved document - Pencil.jpg
 
Chỉnh sửa lần cuối:
Bên trên