關於「m3u」和「mpv」和「smplayer」的操作使用 [論壇 - Ubuntu 與工具程式及軟體推薦]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊



關於「m3u」和「mpv」和「smplayer」的操作使用
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 36
HP : 179 / 899
MP : 666 / 28742
EXP: 96
離線
這篇文章放在我的硬碟一段時間了,一直沒收尾,所以也沒發表在這個論壇,
今天稍微整理一下收尾,終於可以發表了。

下面一些內容拆解,放在「GitHub」上。



================================================================================

## 撰寫本文時的環境

* Xubuntu 16.04 amd64 英文界面

================================================================================

## Wikipedia

* Playlist (中文頁面)
* M3U (中文頁面)


================================================================================

## 緣起

之前看到這篇「[分享] 建立數位電視頻道表檔」,有稍微做了一點探索,學到一些設定,
只不過有些東西跟該篇原本議題無關,所以就沒回文了。
剛好這幾天在整理一些東西,又碰觸到這個議題了,一些想寫的靈感又來了,所以就紀錄下來。
這些靈感也是在「回文」的時候,找到自己之前寫的「回覆」,
然後又跟最近有碰到的一些工具,觸發了一些心得可以寫出來。

此篇主要在介紹「smplayer」和「mpv」的用法。
我之前在這篇「回覆#2」,有稍微提到一些用法。
然後此篇再加上「m3u」的用法說明。

當然對這部份,我也還沒研究到很深入,只有研究到滿足自己需要的功能而已。
其他人也許有更多心得,也可以來補充說明,感恩先。

老實說,雖然我在「這篇」提到的一些影音播放軟體「smplayer」,「vlc」,「audacious」,雖然都有安裝,
不過我發現我每天常開的軟體就那幾個,「Terminal」「vim」「dolphin」「atom」,
而像是影音,目前大多都是在「瀏覽器Firefox」上面搞定,都看網頁上面的,例如「Youtube」,節省「硬碟的空間」和「整理的時間」:p,不過若要「重複看或聽」有可能需要整理連結就是了,所以整理的時間,有可能還是無法省略,除非是看了一次就「Let it go」,再不然就依賴「搜尋引擎」,「重新找尋」,享受「網路衝浪」或是「溫故知新」的樂趣。

以上囉唆了一堆,以下正文開始,

不過還是繼續囉唆,因為文會很長 :p

================================================================================

## 前置作業


執行下面指令安裝「smplayer」這個套件。


$ sudo apt-get install smplayer



顯示


sudo apt-get install smplayer
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
ffmpeg libavdevice-ffmpeg56 libdc1394-22 libdvdnav4 libdvdread4 libenca0 libguess1 libopenal-data libopenal1 libqt5script5 librubberband2v5 libsdl2-2.0-0 libsndio6.1 libva-wayland1 libva-x11-1 mpv rtmpdump smplayer-l10n
smplayer-themes youtube-dl
Suggested packages:
ffmpeg-doc libdvdcss2 sndiod
The following NEW packages will be installed:
ffmpeg libavdevice-ffmpeg56 libdc1394-22 libdvdnav4 libdvdread4 libenca0 libguess1 libopenal-data libopenal1 libqt5script5 librubberband2v5 libsdl2-2.0-0 libsndio6.1 libva-wayland1 libva-x11-1 mpv rtmpdump smplayer smplayer-l10n
smplayer-themes youtube-dl
0 upgraded, 21 newly installed, 0 to remove and 24 not upgraded.
Need to get 9397 kB of archives.
After this operation, 29.8 MB of additional disk space will be used.
Do you want to continue? [Y/n]


因為在「Ubuntu 16.04」,「smplayer」預設會使用「mpv」來播放,
所以安裝了「smplayer」,也會一併安裝「mpv」這個套件。

在安裝前,可以先執行下面指令,觀看套件相依性


$ apt-cache show smplayer | grep ^Depends:



顯示


Depends: mpv (>= 0.6.2) | mplayer, libc6 (>= 2.14), libgcc1 (>= 1:3.0), libqt5core5a (>= 5.5.0), libqt5dbus5 (>= 5.0.2), libqt5gui5 (>= 5.0.2) | libqt5gui5-gles (>= 5.0.2), libqt5network5 (>= 5.0.2), libqt5script5 (>= 5.0.2), libqt5widgets5 (>= 5.2.0), libqt5xml5 (>= 5.0.2), libstdc++6 (>= 4.1.1), zlib1g (>= 1:1.1.4)



在「Ubuntu 14.04」,「smplayer」應該是使用「mplayer」,可以參考「這一頁」來觀看相依的套件。


一些套件探索的技巧,請參考「[索引] 套件操作實務」。


另外安裝好系統後,我也會根據「[教學] Ubuntu 14.04的調校」這篇,安裝一些相關的套件,在「<三、補足篇> / 2」。


================================================================================

## 如何使用 「mpv」這個指令

先執行「man mpv

可以看到下面這一段


SYNOPSIS
       mpv [options] [file|URL|PLAYLIST|-]
       mpv [options] files





大概就可以了解,如何給參數。

### 播放單一檔案

執行下面指令,就可以透過「mpv」來播放「demo.mp3」這個檔案。


$ mpv demo.mp3



執行下面指令,就可以透過「mpv」來播放「demo.mp4」這個檔案。


$ mpv demo.mp4



以上是使用「相對路徑」,也可以採用「絕對路徑」

例如


$ mpv ~/Video/demo.mp4



或是


$ mpv $HOME/Video/demo.mp4



或是


$ mpv /home/user/Video/demo.mp4



### 播放遠端檔案

透過「mpv」,也可以播放遠端的檔案,例如:透過「http」。

可以先在自己的機器測試,

先在剛剛的「demo.mp3」上的資料夾,執行下面指令


$ php -S localhost:8080



然後執行下面指令,來播放。


$ mpv http://localhost:8080/demo.mp3



註: 關於「Streaming media(串流媒體)」的議題,我尚未深究,
以上只是舉例,用來說明「mpv」後面可以接「網址」,
其他深入的技術細節,就需要另外再研究了。


關於「PHP Built-in web server」的用法,我在「這篇」和「這篇」有提到,
另外也可以採用「python2」或「python3」來起一個簡易的「http server」。


## 播放「Youtube」上的影片。

而「mpv」也支援播放「Youtube」上的影片,就不需要在瀏覽器上觀看了。

以下面這個網址為例

https://www.youtube.com/watch?v=AGW40bNJ-xk

可以執行下面指令,就會播放上面網址的影片了。


$ mpv https://www.youtube.com/watch?v=AGW40bNJ-xk



## 播放多個檔案或網址

執行下面指令,就可以播放多個檔案


$ mpv demo_001.mp3 demo_002.mp3 demo_003.mp3




執行下面指令,就可以播放多個「Youtube」上的影片


$ mpv https://www.youtube.com/watch?v=AGW40bNJ-xk https://www.youtube.com/watch?v=Lqe3MuCyh9o



上面的指令,也可以拆成多行的方式


$ mpv \
https://www.youtube.com/watch?v=AGW40bNJ-xk \
https://www.youtube.com/watch?v=Lqe3MuCyh9o




## 播放「playlist」


也可以將剛剛要播放的檔案,編成一個檔案叫做「demo.m3u」,

內容如下


https://www.youtube.com/watch?v=AGW40bNJ-xk
https://www.youtube.com/watch?v=Lqe3MuCyh9o



然後就可以執行下面指令播放上面兩個檔案


$ mpv demo.m3u



我本來以為副檔名可以任意使用,結果我使用「demo.txt」就會出現下面提到的訊息

執行


$ mpv demo.txt



顯示


Playing: demo.txt
Failed to recognize file format.


Exiting... (Errors when loading file)



所以指令,要改成以下的下法,就可以成功播放了

執行


$ mpv --playlist=demo.txt



至於「m3u」或「m3u8」,上面只是簡易的格式,
進一步的內容格式,請參考「Wi / M3U (中文頁面)」,
以下討論到「smplayer」的時候,會再度提到「M3U」。


## 播放遠端的「m3u檔」

再來做個有趣的測試

產生一個檔案叫做「remote.m3u」,內容一樣是剛剛「demo.m3u」的內容

可以執行下面指令來產生「remote.m3u」


cat > remote.m3u << EOF
https://www.youtube.com/watch?v=AGW40bNJ-xk
https://www.youtube.com/watch?v=Lqe3MuCyh9o
EOF



或是執行下面指令來產生「remote.m3u」


echo 'https://www.youtube.com/watch?v=AGW40bNJ-xk
https://www.youtube.com/watch?v=Lqe3MuCyh9o
' > remote.m3u



上面的技巧,可以參考「這篇」。


然後執行下面指令,起一個簡易的「http server」。


$ php -S localhost:8080



接下來就可以執行


$ mpv http://localhost:8080/remote.m3u



然而我們也可以再產生一個檔案「local.m3u」,內容如下


http://localhost:8080/remote.m3u



可以執行下面指令產生「local.m3u」


cat > local.m3u << EOF
http://localhost:8080/remote.m3u
EOF



然後執行下面指令,播放「local.m3u」


$ mpv local.m3u



就會看到


Playing: local.m3u

Playing: http://localhost:8080/remote.m3u

Playing: https://www.youtube.com/watch?v=AGW40bNJ-xk
...略...




另外也可以參考「[影片教學][TOSSUG] Debian 套件打包工作坊」這個討論案例,將「m3u」檔案放在「GitHub」上。


關於「mpv」的使用方法,以上簡易介紹完畢,接下來要來談「smplayer」。

================================================================================

剛一開始提到「smplayer」,在「16.04」,預設是使用「mpv」來播放,

我們可以先執行「smplayer

然後點選,功能選單「Options / Preferences」,會出現一個設定視窗「SMPlayer - Preferences」。


在左半部「General」,右半部第一個頁籤「General」,
有一個選項「MPlayer/mpv executable:」,一開始預設的值是「/usr/bin/mpv」,
您也可以改成「/usr/bin/mplayer」,
這裡我們不改,維持原狀。


然後點選,功能選單「Open / URL...」,會出現一個對話框「SMPlayer - Enter URL」。

然後在「URL:」填入「https://www.youtube.com/watch?v=AGW40bNJ-xk」,按下「OK」按鈕,就會播放影片了。

再來在「Terminal」執行下面指令


$ ps axu | grep mpv



顯示


user 520 45.2 2.6 1550024 107144 pts/8 Sl+ 18:33 0:17 /usr/bin/mpv --no-config --no-quiet --terminal --no-msg-color --input-file=/dev/stdin --no-fs --hwdec=no --sub-auto=fuzzy --vo=xv --ao=pulse --no-input-default-bindings --input-x11-keyboard=no --no-input-cursor --cursor-autohide=no --no-keepaspect --wid=27265843 --monitorpixelaspect=1 --osd-scale=1 --sub-ass --embeddedfonts --ass-line-spacing=0 --sub-scale=1 --sub-text-font=Arial --sub-text-color=#ffffff --sub-text-shadow-color=#000000 --sub-text-border-color=#000000 --sub-text-border-size=2.5 --sub-text-shadow-offset=5 --sub-codepage=utf8:ISO-8859-1 --sub-pos=100 --volume=108 --cache=2048 --osd-level=0 --audio-channels=2 --af-add=scaletempo --af-add=equalizer=0:0:0:0:0:0:0:0:0:0 --softvol=yes
...略...



可以看到上面藍色字的部份,是透過「/usr/bin/mpv」來播放,
下面「...略...」是被我省略掉的部份,請自行執行指令,觀看完整的內容。

================================================================================

接下來提,剛剛說會再度提到的「m3u」和「m3u8」,

點選「smplayer」的功能選單「Help / Open configuration folder」,

就會透過您桌面環境,預設的「File Manager」開啟「~/.config/smplayer」這個資料夾,

可以執行


$ ls ~/.config/smplayer -1



顯示


favorites.m3u8
file_settings
player_info.ini
radio.m3u8
smplayer.ini
smplayer_tv.ini
styles.ass
tv.m3u8
yt.js



可以看到有三個副檔名是「m3u8」的檔案


~/.config/smplayer/favorites.m3u8
~/.config/smplayer/radio.m3u8
~/.config/smplayer/tv.m3u8



可以對照「smplayer」的功能選單


Open / Favorites
Open / Radio
Open / TV



我們以「Open / Favorites」為例

剛剛在播放「https://www.youtube.com/watch?v=AGW40bNJ-xk」的時候,

我們就可以點選「Open / Favorites / Add current media」。

然後執行下面指令,觀看「~/.config/smplayer/favorites.m3u8」的內容。


$ cat ~/.config/smplayer/favorites.m3u8



顯示


#EXTM3U
#EXTINF:0,COSCUP 2015 紀錄片(短篇) - YouTube,,0
http://www.youtube.com/watch?v=AGW40bNJ-xk



重複上面的動作,我們播放另一個影片「https://www.youtube.com/watch?v=Lqe3MuCyh9o」。

一樣點選「Open / Favorites / Add current media」。

然後執行下面指令,觀看「~/.config/smplayer/favorites.m3u8」的內容。


$ cat ~/.config/smplayer/favorites.m3u8



顯示


#EXTM3U
#EXTINF:0,COSCUP 2015 紀錄片(短篇) - YouTube,,0
http://www.youtube.com/watch?v=AGW40bNJ-xk
#EXTINF:0,COSCUP 10th Annual Documentary - Conference for Open Source Coders Users and Promoters - YouTube,,0
http://www.youtube.com/watch?v=Lqe3MuCyh9o



然後再度點選功能選單「Open / Favorites」,
就可以看到剛剛紀錄的兩則影片標題,列在選單上面,

接下來點選「Open / Favorites / Edit」,就可以編輯剛剛的列表,
可以在這裡做「CRUD」的動作,比上面的方式更簡便操作。

我們在剛剛第二筆的紀錄,

點選「Name」那個欄位,修改為「COSCUP 2015 紀錄片-完整版」,按下「OK按鈕」。

然後執行下面指令,觀看「~/.config/smplayer/favorites.m3u8」的內容。


$ cat ~/.config/smplayer/favorites.m3u8



顯示


#EXTM3U
#EXTINF:0,COSCUP 2015 紀錄片(短篇) - YouTube,,0
http://www.youtube.com/watch?v=AGW40bNJ-xk
#EXTINF:0,COSCUP 2015 紀錄片-完整版 ,,0
http://www.youtube.com/watch?v=Lqe3MuCyh9o




================================================================================


接下來,

複製一份「~/.config/smplayer/favorites.m3u8」到「~/Videos/favorites.m3u8」


$ cp ~/.config/smplayer/favorites.m3u8 ~/Videos/favorites.m3u8



複製一份「~/.config/smplayer/favorites.m3u8」到「~/Videos/original.m3u8」


$ cp ~/.config/smplayer/favorites.m3u8 ~/Videos/original.m3u8




然後用純文字編輯器,修改「~/Videos/favorites.m3u8」這個檔案


$ vi ~/Videos/favorites.m3u8



最後修改成如下的內容


#EXTM3U
#EXTINF:0,COSCUP 2015 紀錄片(短篇) - YouTube
http://www.youtube.com/watch?v=AGW40bNJ-xk
#EXTINF:0,COSCUP 2015 紀錄片-完整版
http://www.youtube.com/watch?v=Lqe3MuCyh9o



把「,,0」拿掉。


然後點選「Options / Playlist」或是「功能列的第六個ICON按鈕」,
會出現「Playlist」的操作畫面,

然後點選「下方功能列的第一個ICON按鈕」或是「Open / Playlist」,
會出現一個「Choose a file」的對話框,

選擇「~/Videos/original.m3u8」,按下「Open」按鈕載入。
會發現「Name」那個欄位是「0」。

若是選擇把「,,0」拿掉的「~/Videos/favorites.m3u8」哪個檔案載入。
會發現「Name」那個欄位就會正常顯示


COSCUP 2015 紀錄片(短篇) - YouTube
COSCUP 2015 紀錄片-完整版



註:播放的時候,「Playlist」顯示的「Name」會在重新抓取,「Name」那個欄位顯示會被修改掉,
但不會更改到「~/Videos/favorites.m3u8」這個檔,
除非您按下存檔,選擇該檔,覆蓋掉,才會修改到「~/Videos/favorites.m3u8」這個檔的內容。


================================================================================

上面的功能介紹完了,我們就可以拿來應用,

到「YouTube」,使用「新聞直播」當關鍵字查詢,就可以查到一些「新聞臺」的直播頻道。

就可以按照上面介紹的方式,設定在「Open / TV」那裡,

也可以用純文字編輯器,直接編輯「~/.config/smplayer/tv.m3u8」這個檔案,依據上面提到的「M3U8」的格式來編輯。
要注意的就是在編輯時,請先把「smplayer」關掉,不然編輯的內容,會在「smplayer」關掉時,就覆蓋掉了。


除了在「瀏覽器」查詢這些「Youtube」的網址,
在「Xubuntu 16.04」,「smplayer」也可以搭配另一個軟體「smtube」。
我之前在這篇「回覆#2」,有稍微提到。


執行下面指令安裝「smtube」這個套件,


$ sudo apt-get install smtube



然後就可以在「smplayer」的功能選單「Options / YouTube Browser」,呼叫起「smtube」,
就可以在「smtube」查詢,例如用「新聞直播」當關鍵字查詢,就會出現列表,
然後點選要看的那筆,就會在「smplayer」播放該影片了。


另外在手機也有「YouTube」的「App」,所以也可以直接在這個「App」查詢「新聞直播」,一樣可以收看「新聞臺」。


================================================================================

而「Radio」也可依樣畫葫蘆,在「Google」,用「internet radio」查詢,
就會查詢到一些網站。
除了可以直接在瀏覽器上面聆聽廣播,也可以找到該廣播的來源網址,

就可以按照上面提到的方式,設定在「smplayer」的功能選單「Open / Radio」那,
對照的檔案是「~/.config/smplayer/radio.m3u8」,
注意,除了使用「smplayer」也可以使用「mpv」或「mplayer」來下指令聆聽喔,或是「vlc」也行。


當然也可以參考「[教學] Ubuntu 14.04的調校」提到的「radiotray」。

最近在「GitHub」上「查詢的時候」,發現到還有另一個專案「radiotray-ng」,
原本的「radiotray」,「radiotray-ng」則是採用「C++」來撰寫,可以到「releases」來下載「Deb檔」安裝,
安裝「Deb檔」,請參考「這篇」和「這篇」討論。
目前裝起來,操作方式跟以前沒多大差別,目前我注意到的差異是設定檔,
radiotray」是採用「xml」,
radiotray-ng」是採用「json」。

* ~/.local/share/radiotray/bookmarks.xml <-- radiotray
* ~/.config/radiotray-ng/bookmarks.json <-- radiotray-ng

另外安裝完後,當您重開機,就會自動啟動

您可以執行


$ grep autostart /var/lib/dpkg/info/radiotray-ng.*



顯示


/var/lib/dpkg/info/radiotray-ng.postinst:9:cp -f /usr/share/applications/radiotray-ng.desktop /etc/xdg/autostart/
/var/lib/dpkg/info/radiotray-ng.postrm:9:rm -f /etc/xdg/autostart/radiotray-ng.desktop



就可以知道安裝過程產生了「/etc/xdg/autostart/radiotray-ng.desktop」這個檔。
這個檔就是讓「radiotry-ng」開機自動執行的設定。


另外還有一個套件「betaradio (GitHub) (Blog)」,雖然現在台灣的站台目前應該不能使用外部的程式來連線聆聽了。


================================================================================

## Desktop Entry

接下來也可以透過撰寫「Desktop Entry」來放在下面的路徑,可以來點選啟動。

### 桌面

* ~/Desktop
* ~/桌面 <-- 若是中文語系界面,請參考「$ man xdg-user-dir」或「/etc/xdg/user-dirs.defaults」

### 應用程式啟動選單 (App Launcher)

* /usr/share/applications
* ~/.local/share/applications

或是透過來放在下面的路徑,來達成「Desktop Application Autostart」的機制。

### 開機進入桌面自動啟動

* /etc/xdg/autostart
* ~/.config/autostart


## 相關文章

* UnityLaunchersAndDesktopFiles


以下範例,先以「http://www.youtube.com/watch?v=Lqe3MuCyh9o」這個網址為範例來說明,請再自行修改「網址」或「mpv的參數」。

================================================================================

### 範例 - 桌面

執行下面指令,產生「~/Desktop/tv-news.desktop」這個檔案,並設定擁有者執行權限。


## 產生「~/Desktop/tv-news.desktop」
cat > ~/Desktop/tv-news.desktop << EOF
[Desktop Entry]
Type=Application
Name=TV-新聞
GenericName=TV-NEWS
Exec=mpv -ytdl --ytdl-format=best http://www.youtube.com/watch?v=Lqe3MuCyh9o
Icon=video
Categories=AudioVideo;Network
Keywords=tv;news

EOF

## 設定「~/Desktop/tv-news.desktop」擁有者執行權限
chmod u+x ~/Desktop/tv-news.desktop



也就是「~/Desktop/tv-news.desktop」內容如下


[Desktop Entry]
Type=Application
Name=TV-新聞
GenericName=TV-NEWS
Exec=mpv -ytdl --ytdl-format=best http://www.youtube.com/watch?v=Lqe3MuCyh9o
Icon=video
Categories=AudioVideo;Network
Keywords=tv;news



這樣就可以在桌面看到一個「啟動圖示」,標題是「TV-新聞」,
只要「點選」該「啟動圖示」,就會播放剛剛的影片了。


相關討論:

* #2 回覆: mint linux 可在卓面建立 SHORT CUT 嗎?
* #11 回覆: 如何安裝 StarUML-v2.8.0-64-bit.deb ?
* #8 回覆: Chrome 45 以上及Firefox 52以上 版本不再支援網路ATM..

================================================================================

### 範例 - 應用程式啟動選單 (App Launcher)


執行下面指令,產生「~/.local/share/applications/tv-news.desktop」這個檔案


## 產生「~/.local/share/applications/tv-news.desktop」
cat > ~/.local/share/applications/tv-news.desktop << EOF
[Desktop Entry]
Type=Application
Name=TV-新聞
GenericName=TV-NEWS
Exec=mpv -ytdl --ytdl-format=best http://www.youtube.com/watch?v=Lqe3MuCyh9o
Icon=video
Categories=AudioVideo;Network
Keywords=tv;news

EOF



也就是「~/.local/share/applications/tv-news.desktop」內容如下


[Desktop Entry]
Type=Application
Name=TV-新聞
GenericName=TV-NEWS
Exec=mpv -ytdl --ytdl-format=best http://www.youtube.com/watch?v=Lqe3MuCyh9o
Icon=video
Categories=AudioVideo;Network
Keywords=tv;news



這樣就可以在您的「桌面環境」的「應用程式啟動選單」,可以找到「啟動圖示」。

以我的環境「Xubuntu 16.04 amd64 英文界面」為例,
桌面環境是「XFCE」,
使用的是「Whisker Menu」。

所以就可以除了可以使用「關鍵字」查到剛剛設定的「啟動圖示」,
也可以在「Multimedia」和「Internet」這兩個分類,找到剛剛設定的「啟動圖示」,
並且也可以在該「啟動圖示」按下滑鼠右鍵,會出現一個「功能選單」,有三個選項可以選,

* Add to Favorites
* Add to Desktop
* Add to Panel

選「Add to Favorites」,該「啟動圖示」就會出現在「Favorites」這個分類。
選「Add to Desktop」該「啟動圖示」就會在「桌面」出現。
選「Add to Panel」該「啟動圖示」就會在「Panel」上出現。


相關討論:

* #11 回覆: 如何安裝 StarUML-v2.8.0-64-bit.deb ?
* #8 回覆: Chrome 45 以上及Firefox 52以上 版本不再支援網路ATM..

================================================================================

### 範例 - 開機進入桌面自動啟動

執行下面指令,產生「~/.config/autostart/tv-news.desktop」這個檔案


## 產生「~/.config/autostart/tv-news.desktop」
cat > ~/.config/autostart/tv-news.desktop << EOF
[Desktop Entry]
Type=Application
Name=TV-NEWS
Name[zh_TW]=TV-新聞
Comment=Demo Desktop Application Autostart
Comment[zh_TW]=自動執行範例
Exec=mpv -ytdl --ytdl-format=best http://www.youtube.com/watch?v=Lqe3MuCyh9o
Icon=video
Terminal=false

EOF



也就是「~/.config/autostart/tv-news.desktop」內容如下


[Desktop Entry]
Type=Application
Name=TV-NEWS
Name[zh_TW]=TV-新聞
Comment=Demo Desktop Application Autostart
Comment[zh_TW]=自動執行範例
Exec=mpv -ytdl --ytdl-format=best http://www.youtube.com/watch?v=Lqe3MuCyh9o
Icon=video
Terminal=false



這樣在進入桌面時,就會自動播放剛剛的設定的影片了。

相關討論:

* #4 回覆: 開機自動啟動程式在ubuntu14.04
* #2 回覆: mint linux 可在卓面建立 SHORT CUT 嗎?

================================================================================

## 注意事項

* 有時候「mpv」無法播放「youtebe影片」,請先確認網址是否存在,
再來則是可以執行「youtube-dl --update」更新「youtube-dl」。
* 關於「mpv」支援的不只是「YouTube」,可以參考「這一頁」瞭解支援的網站,
例如,也有支援「Twitch」,所以也可以執行「mpv $twitch_url」。

================================================================================

我用「Python」寫了一個「原型(Prototype)」放在「GitHub」上,


執行下面指令,下載


mkdir -p ~/bin
cd ~/bin
wget -c https://raw.githubusercontent.com/samwhelp/util-prototype/master/app/yuply/yuply.py -O yuply
chmod u+x yuply



執行下面指令,執行「yuply」。


$ yuply



目前功能很簡單,只是使用「webkit2」載入「YouTube頁面」,
可以瀏覽「YouTube頁面」,跟一般瀏覽器瀏覽「YouTube頁面」的功能是一樣的。
而「YouTube頁面」有自動播放的機制,也可以查詢影片。

寫這個程式的原型功能,主要是要讓mpv來播放「YouTube影片」,
也就是在逛到某個「YouTube影片頁面時」時,在「indicator」那選「使用mpv播放」,或是「按下F5」。
就會使用mpv來播放該影片。

不過目前我只有在我的環境「Xubuntu 16.04 amd64」測試過,還沒有很嚴謹的去測試它,有些例外可能沒考慮到,
有興趣深究的人,可以把它當個探索的起點,來研究程式碼用到那些lib,達成這樣的效果。
也可以研究如何改寫,例如:改寫成有「Bookmark」的功能,用「m3u」的格式來儲存。
這部份我就不再特別去維護它了。

另外這個我是直接寫在一個檔案,並且全部放在一個class裡,也可以參考這個「專案」來拆開重構程式碼

================================================================================

後記 (2017-07-10):

* #3 回覆: ubuntu搭建推流服務器Nginx+rtmp

================================================================================

後記 (2018-02-23):

* #6 回覆: MP4檔案播放問題 (播放工具整理)


================================================================================

以上提供參考

報告完畢


2017/5/27 15:44
應用擴展 工具箱
回覆: 關於「m3u」和「mpv」和「smplayer」的操作使用
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 36
HP : 179 / 899
MP : 666 / 28742
EXP: 96
離線
剛剛「回文」時,

聯想到之前在討論「另一篇」時,

後來在看「mpv / ytdl_hook.lua」,測試的時候,額外發現到一件事,有些靈感想要寫了一篇,

不過當下沒寫,隔天就忘了,先簡單寫文如下備忘,其實腦袋中還有其他想寫的,也許有空再來重新整理。

以下測試的環境在「Ubutnu 18.04」。

先連到下面的網址

https://www.youtube.com/channel/UCIm-u7l65hp5jboSJrB7U5w/playlists

選其中一個播放列表如下的網址

https://www.youtube.com/watch?v=qAVdTrC7YyU&list=PL6S9AqLQkFpqAHXlqoH2JpvOSmku7WjRU

接著開啟「Terminal」,

執行下面指令 (注意: 下面網址有將「v=qAVdTrC7YyU」拿掉喔)


$ mpv 'https://www.youtube.com/watch?list=PL6S9AqLQkFpqAHXlqoH2JpvOSmku7WjRU'



或是也可以執行


$ mpv 'ytdl://PL6S9AqLQkFpqAHXlqoH2JpvOSmku7WjRU'



就可以播放該「Playlist」裡面的影片,

接著在畫面上,滑鼠游標移到下方,就會出現一個「panel(儀表板)」,

在「panel(儀表板)」左方就有「左」和「右」的「圖示按鈕」,

按下「右」的「圖示按鈕」,就可以播放下一個影片。

也可以使用鍵盤的快速鍵,「<」和「>」,來切換上一個影片和下一個影片。

================================================================================

若是使用「smplayer」,則是執行下面指令


$ smplayer 'https://www.youtube.com/watch?list=PL6S9AqLQkFpqAHXlqoH2JpvOSmku7WjRU'



就我所知,關於「smplayer」預設應該也是使用「mpv」來播放。

================================================================================

以上提供參考

報告完畢


2018/12/26 13:29
應用擴展 工具箱
回覆: 關於「m3u」和「mpv」和「smplayer」的操作使用
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 36
HP : 179 / 899
MP : 666 / 28742
EXP: 96
離線
關於「mpv --input-file」和「mpv --input-ipc-server」的用法

紀錄在另一篇討論「#10 回覆: mpv播放影片控制時間問題請教」。


2019/4/11 18:46
應用擴展 工具箱
回覆: 關於「m3u」和「mpv」和「smplayer」的操作使用
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 36
HP : 179 / 899
MP : 666 / 28742
EXP: 96
離線
關於「mpv --wid」的用法,

之前簡單寫了一些範例,放在「GitHub」上,

探索「smplayer」原始碼,所學到的。

以上提供參考,報告完畢




## 相關討論

跟這個議題有點相關的討論,可以對照著看

* 不知如何能不顯示標題最小化最大化關閉

2019/4/11 18:57
應用擴展 工具箱
回覆: 關於「m3u」和「mpv」和「smplayer」的操作使用
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 36
HP : 179 / 899
MP : 666 / 28742
EXP: 96
離線
關於「mpv --cache-secs」用法

範例如下


mpv --cache-secs=600 'https://www.youtube.com/watch?v=Lqe3MuCyh9o'




2019/4/12 8:44
應用擴展 工具箱
回覆: 關於「m3u」和「mpv」和「smplayer」的操作使用
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 36
HP : 179 / 899
MP : 666 / 28742
EXP: 96
離線
關於「mpv --ytdl-format」的用法

範例如下

先執行


youtube-dl --list-formats 'https://www.youtube.com/watch?v=Lqe3MuCyh9o'



或是執行


youtube-dl -F 'https://www.youtube.com/watch?v=Lqe3MuCyh9o'



顯示


[youtube] Lqe3MuCyh9o: Downloading webpage
[youtube] Lqe3MuCyh9o: Downloading video info webpage
[youtube] Lqe3MuCyh9o: Downloading MPD manifest
[info] Available formats for Lqe3MuCyh9o:
format code  extension  resolution note
139          m4a        audio only DASH audio   50k , m4a_dash container, mp4a.40.5@ 48k (22050Hz), 3.17MiB
140          m4a        audio only DASH audio  130k , m4a_dash container, mp4a.40.2@128k (44100Hz), 8.45MiB
160          mp4        256x144    DASH video  108k , mp4_dash container, avc1.4d400b, 30fps, video only
133          mp4        426x240    DASH video  242k , mp4_dash container, avc1.4d400c, 30fps, video only
134          mp4        640x360    DASH video  635k , mp4_dash container, avc1.4d401e, 30fps, video only, 23.64MiB
135          mp4        854x480    DASH video 1155k , mp4_dash container, avc1.4d4014, 30fps, video only
136          mp4        1280x720   DASH video 2310k , mp4_dash container, avc1.4d4016, 30fps, video only
137          mp4        1920x1080  DASH video 4493k , mp4_dash container, avc1.640028, 30fps, video only, 179.21MiB
43           webm       640x360    medium , vp8.0, vorbis@128k, 43.36MiB
18           mp4        640x360    medium  487k , avc1.42001E, mp4a.40.2@ 96k (44100Hz), 32.39MiB
22           mp4        1280x720   hd720 1708k , avc1.64001F, mp4a.40.2@192k (44100Hz) (best)




原本


mpv 'https://www.youtube.com/watch?v=Lqe3MuCyh9o'



可以選擇


mpv --ytdl-format=18 'https://www.youtube.com/watch?v=Lqe3MuCyh9o'



可以選擇


mpv --ytdl-format=best 'https://www.youtube.com/watch?v=Lqe3MuCyh9o'



================================================================================

對照上面的用法

原本


youtube-dl 'https://www.youtube.com/watch?v=Lqe3MuCyh9o'



可以選擇


youtube-dl --format=18 'https://www.youtube.com/watch?v=Lqe3MuCyh9o'



或是執行


youtube-dl -f=18 'https://www.youtube.com/watch?v=Lqe3MuCyh9o'



* https://github.com/ytdl-org/youtube-dl/blob/master/README.md#video-format-options
* https://github.com/ytdl-org/youtube-dl/blob/master/README.md#format-selection
* https://github.com/ytdl-org/youtube-dl/blob/master/README.md#format-selection-examples

================================================================================

以上提供參考

報告完畢


2019/4/12 9:01
應用擴展 工具箱


 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.