顯示具有 mplayer 標籤的文章。 顯示所有文章
顯示具有 mplayer 標籤的文章。 顯示所有文章

2019年1月11日 星期五

[Ubuntu] 觀看youtube影片的好幫手,youtube-dl + mpv播放器

瀏覽數
在Ubuntu上使用瀏覽器看Youtube的影片,其實蠻耗CPU的。Ubuntu在12.04以前的版本播放影片使用mplayer+vaapi(GPU硬解),CPU資源耗用非常小,播放體驗很棒!但後來Ubuntu的版本,mplayer 已經不支援 vaapi了。

但沒關係後來有 mpv 播放器,它實際上是從 mplayer 分支出來的,而且支援 VDPAU, VAAPI, DXVA2, VDA (GPU硬解)。

以Ubuntu 16.04 x86_64 作業系統為例:

1.安裝 mpv播放器:
sudo add-apt-repository ppa:mc3man/mpv-tests
sudo apt-get update && sudo apt-get install mpv

2.安裝vaapi及drm庫:
sudo apt-get install libdrm-intel1 libva1 vainfo

3.安裝 GPU 硬解驅動程式:
#Intel driver
sudo apt-get install i965-va-driver
#nvidia driver
sudo apt-get install libvdpau-va-gl1


4.檢查驅動:
vainfo

5.編輯mpv設定檔:
vi ~/.config/mpv/mpv.conf
我是用Intel CPU內建顯卡,底下是我的設定檔提供參考
=================================
#使用intel 顯卡硬解 ------
vo=vaapi
hwdec=vaapi
#--------------------------
#使用nvidia 顯卡硬解----------
#vo=vdpau
#hwdec=vdpau
#-------------------------------
#最上層顯示---
ontop
#--------------
#不顯示視窗外框---
no-border
#-------------------
#lang=zh,chi
#預設字幕語系--------------------------------------
sub-codepage=utf8:cp950:gb2312:gb18030:enus
#----------------------------------------------------
#sub-scale=3
#播放時停用螢幕保護---
stop-screensaver=yes
#-----------------------
###########################
#volume=70
#af=volume=volumedb=10
#af=volume=10.1
###########################
#預設聲音大小---
volume=100
#----------------
#聲音可加大3倍----
volume-max=300
--------------------
#autofit=300
###########################
#預設播放器大小----------
autofit-larger=60%x60%
#--------------------------
#預設播放位置-螢幕正中央-----
geometry=50%:50%
#-------------------------------
#[extension.mjpg]
#demuxer-lavf-probescore=25
#vf-del=vdpaupp
#預設快取-----
#cache=8192
#mpv git-2019-04-25-71ad1e2 以後版本改成 auto/yes/no
cache=auto
#--------------
=================================

6.試試播放本機的影片:
mpv /mp4/myvideo.mp4
按 q 鍵可結束播放
按 f 鍵可全螢幕切換
按 9 鍵聲音小,按 0 鍵聲音大
按 ↑ 鍵前進60秒,按 ↓ 鍵後退60秒
按 → 鍵前進10秒,按 ← 鍵後退10秒

7.安裝 youtube-dl:
可參考: https://goo.gl/c7W3be

8.使用 mpv 直接播放 youtube 影片:
a.直接播放:
mpv https://www.youtube.com/watch?v=X0vK_57vQ7s 
b.使用一些參數播放:
mpv --autofit=350 --ontop --geometry=100%:97% --autosync=1 --mc=1 --cache=8192 --loop=0 --no-border https://www.youtube.com/watch?v=X0vK_57vQ7s

9. youtube-dl + mpv 播放:
youtube-dl -q --no-check-certificate --prefer-ffmpeg -o- https://www.youtube.com/watch?v=X0vK_57vQ7s | mpv --autofit=350 --ontop --geometry=100%:97% --autosync=1 --mc=1 --cache=8192 --loop=0 --no-border -

10.
可將上述指令寫成函數:
將底下的函數程式碼加入 ~/.bashrc
vi ~/.bashrc
在檔案底部加入以下程式碼:

youtv() {
  [ $# == 0 ] && echo "請輸入Youtube影片網址URL" && return
  mxy="--autofit=350 --ontop --geometry=100%:97%"
  msync="--autosync=1 --mc=1"
  mm="mpv $mxy $msync --cache=auto --loop=0"
  tv="$mm --no-border"
  mp3="$mm --no-video --shuffle"
  url=$1
  border=$2
  if [ "$border" == "" ] ; then
    read -p "只播放音樂(請輸入mp3):" border
  fi
  case $border in
    "mp3") $mp3 $url ;;
    *) youtube-dl -q --no-check-certificate --prefer-ffmpeg -o- $url | $tv - ;;
  esac


存檔後,Ctrl+d 關閉 terminal。
再重新開啟 terminal,然後執行youtv "youtu影片網址" 即可,如執行:
youtv https://www.youtube.com/watch?v=X0vK_57vQ7s
若是音樂影片只想聽音樂就輸入mp3,然後按[Enter],就可以聽音樂。
直接按[Enter],即可播放影片。如下圖:


這樣可以一邊工作,有空時欣賞一下水族箱 ,而且CPU耗用很小。

2017年11月3日 星期五

[Ubuntu] 16.04 使用 mplayer-vaapi 播放影片

瀏覽數
Ubuntu 16.04 x86_64 竟然不能安裝 mplayer-vaapi,雖然有新的 mpv 可使用並且支援vaapi,但還是想試試看可不可安裝起來。

以前先安裝 mplayer
#再安裝 intel driver
sudo apt-get install i965-va-driver
#再安裝 mplayer-vaapi
sudo add-apt-repository ppa:sander-vangrieken/vaapi
sudo apt-get update && sudo apt-get install mplayer-vaapi
即可。

結果GG了,在 16.04 無法安裝mplayer-vaapi,爬文好像 14.04 就開始不能用了。

繼續爬文找到下面安裝方式:
參考來源 http://rocksaying.tw/archives/27830035.html

上面的方式是將已編譯好的mplayer-vaapi,直接拿來使用,沒想到竟然可以用!

剛開始執行會出現一些找不到某些較舊版的.so檔案的訊息,我便用現有版本的so檔做出舊版的軟連結(symbolic link),騙過mplayer-vaapi,最後終於可以使用。

記錄下安裝步驟:
sudo apt install libva-glx1 libva1 libva-x11-1 vainfo
檢查驅動是否生效
vainfo


安裝mplayer-vaapi
cd /tmp
wget https://launchpad.net/~sander-vangrieken/+archive/ubuntu/vaapi/+files/mplayer-vaapi_1.1.1+svn36265+ffmpegbc63a7-1~trusty1_amd64.deb
dpkg -x mplayer-vaapi_1.1.1+svn36265+ffmpegbc63a7-1~trusty1_amd64.deb ./mplayer-vaapi
將系統的mplayer用mplayer-vaapi替換掉
sudo cp ./mplayer-vaapi/usr/bin/mplayer /usr/bin/mplayer-vaapi
sudo mv /usr/bin/mplayer /usr/bin/mplayer.bak
sudo ln -s /usr/bin/mplayer-vaapi /usr/bin/mplayer


一些找不到舊版so檔,用現有的版本替代
sudo ln -s /usr/lib/x86_64-linux-gnu/libgif.so.7.0.0 /usr/lib/x86_64-linux-gnu/libgif.so.4
sudo ln -s /usr/lib/xorg/modules/libvgahw.so /usr/lib/libvga.so.1
sudo ln -s /usr/lib/x86_64-linux-gnu/libx264.so.148 /usr/lib/x86_64-linux-gnu/libx264.so.142
以上安裝完畢。

測試使用 vaapi 播放影片:
mplayer -vo vaapi myvideo.mp4
★ 成功 ★。CPU 耗用率很低,只有一個 "爽" 字形容!

2016年2月20日 星期六

[Ubuntu] 使用 peerflix 串流觀看 BT(torrent) 種子的影片

瀏覽數

來源: http://www.webupd8.org/2014/03/peerflix-stream-torrents-with-vlc-or.html


網路上有很多影片,其來源是 BT(BitTorrent),若要觀看必須先使用BT相關軟體(如qBittorrent),先將影片完整下載到電腦上才能觀看。

peerflix 是用 node.js 開發的程式,可以將 BT 下載的影片,在本機電腦上建立一個串流網路服務,播放程式再使用串流方式觀看影片。簡單的說就是,影片可以一邊下載一邊觀看。

首先必須先安裝node.js,再使用 npm (Node Package Manager 是Node.js 的主流套件管理程式) 安裝 peerflix。

假設已經安裝好 node.js 與 npm,安裝只要執行:
npm install -g peerflix


1.使用 手機 or mpv  看影片:
peerflix /tmp/movie.torrent
 



手機 看影片:
用手機瀏覽器開啟串流網址 http://192.168.0.13:8888/ ,再選擇要使用那個影片播放app開啟,(以我的Android 手機為例,我通常使用mxplayer來播放),即可觀看影片。

mpv+字幕檔 看影片:
mpv http://127.0.0.1:8888 --sub-files=/tmp/movie.ass


2.使用 mplayer 看影片:
peerflix http://some-torrent/movie.torrent -m
or
peerflix /tmp/movie.torrent -m

使用 mplayer + 字幕檔 看影片 :
peerflix http://some-torrent/movie.torrent -m -t /tmp/movie.ass
or
peerflix /tmp/movie.torrent -m -t /tmp/movie.ass
 

3.使用 mpv 看影片:
peerflix http://some-torrent/movie.torrent -k 
or
peerflix /tmp/movie.torrent -k

使用 mplayer + 字幕檔 看影片 :
peerflix http://some-torrent/movie.torrent -k -t /tmp/movie.ass 
or
peerflix /tmp/movie.torrent -k -t /tmp/movie.ass

 
PS:
觀看影片的方式,建議使用上述的第1種方式,比較彈性。詳細參數使用請輸入:
peerflix --help

2015年11月20日 星期五

[Ubuntu] 使用 mplayer 觀看幼兒園的rtsp網路串流視訊

瀏覽數
孩子就讀的幼兒園提供網路視訊,使用時輸入網址便可觀看,瀏覽器的畫面如下

但是這樣有點不方便,因為必須開著瀏覽器,什事都不用做了,想說是否可用 mplayer 來觀看,試了一下還真的可以耶。

步驟如下:

1.首先要找到網路影片的網址,在瀏覽器(Firefox)的視訊影片上按滑鼠右鍵,選 [複製],可將網址複製起來,網址如下 rtsp://xx.xxx.xxx.xx:8554/live009v0s1b6f4a0b39dce7711-4f00-40b0-8f6c-009b788d56f5 ,串流格式是rtsp。

2.輸入指令:
mplayer rtsp://xx.xxx.xxx.xx:8554/live009v0s1b6f4a0b39dce7711-4f00-40b0-8f6c-009b788d56f5

3.結果是無法看,沒關係先查一下說明(man一下,"男人"一下):
man mplayer | grep -i rtsp


4.再試一次
mplayer -rtsp-stream-over-tcp rtsp://xx.xxx.xxx.xx:8554/live009v0s1b6f4a0b39dce7711-4f00-40b0-8f6c-009b788d56f5
Yes,可以看了,mplayer 果然厲害,真是讚呀!

5.最後將指令寫成別名babym,寫入~/.bashrc,讓開機登入時可以生效。
echo  "alias babym='mplayer -xy 350 -ontop -noborder -geometry 100%:63% -rtsp-stream-over-tcp'" >> ~/.bashrc

參數說明:
-xy: 視窗大小
-ontop: 永遠在頂層,不會被其他視窗覆蓋
-noborder: 不顯示視窗外框
-geometry: 視窗的位置

以後使用時先用瀏覽器在網頁上複製串流網址,再輸入指令 babym {rtsp的網址} 即可觀看。