在Linux 看HiHD第二步 - 選擇VLC [論壇 - Ubuntu硬體支援---電視卡專區]


正在瀏覽:   1 名遊客


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

(1) 2 »


在Linux 看HiHD第二步 - 選擇VLC
會員一級
註冊日期:
2009/1/4 19:13
所屬群組:
已註冊使用者
等級: 4
HP : 0 / 78
MP : 9 / 2628
EXP: 12
離線
在Linux看HiHD的第一步 -找一張有支援的電視卡/棒
請到這理

電視卡/棒搞定後, 接著就是要有一套可以收看HiHD的軟體, 然而在Linux看HiHD會遇到的問題也是與Windows一樣 :


1.需要雙核心以上CPU或有H.264硬解的顯示卡。


以我實測經驗來說,同樣版本的VLC, 同樣CPU等級 Core2 E6300, 在Windows可以平順播放HiHD, 但在Ubuntu 8.10還不行, 需要升級到core 2 E7300才能平順播放, 也就是說, 我的實測經驗告訴我在Linux看HiHD, CPU 等級的要求會比Windows看HiHD還要高。

有硬解的顯示卡是可以降低CPU等級的要求, 但光有硬解的顯示卡, 驅動程式與看HiHD的軟體也是需要相對支援, 否則一樣還要回來依靠CPU。

H.264 硬解在Windows, ATI與nvidia都有提供驅動程式 ,Linux 則只有nvidia提供硬解驅動程式, 且還是最近發行的180.x 版本才開始支援硬解。

軟體方面在Windows是播放器使用Cyberlink H.264/AVC Decoder就有硬解或是Totalmedia使用自家的Arcsoft Video Decoderu也會有硬解提供,但在 Linux 目前ffmpeg,mplayer,xine,smplayer正陸續加入支援nVidia 180.x 的vdpau硬解功能, 預期需要經過一段時間才會達到穩定使用。


2.需要有能夠將 H.264 + HE-AAC 的 HiHD 串流正確解析出來的TS分離器。


H.264 或是 HE-AAC 的解碼器在linux都有, 但能夠正常將H.264 + HE-AAC 的HiHD串流分離給解碼器, 影音能夠同步播放, 目前我的實測經驗卻只有VLC唯一可以做到,mplayer 我遇到很嚴重的影音不同步問題到目前還沒有解,xine播放HiHD頻道有影像無聲音,這些應該都是demux的問題。


3.需要有正常品質的H.264解碼功能。


解 HiHD H.264影像, 硬體引擎不夠力會造成影像無法平順播放, 走走停停, 但有一些影像品質的問題應該是屬於軟體本身造成的,如移動影像邊緣出現塊狀馬賽克, 或是影音不同步, 有影無音。

以我目前的實測經驗來說在Ubuntu 8.10 的vlc 0.9.4 或是更新到 0.9.8a,甚至是還沒有正式發行的1.0.0-git都存在一個H.264的解碼瑕疵, 在高速移動影像的邊緣會出現馬賽克。

綜合以上三點需要,對我來說,目前可以在Ubuntu 8.10收看HiHD頻道的軟體似乎就只有一個選擇 VLC。

使用Ubuntu 8.10的套件管理程式可以直接安裝Vlc 0.8.4,或是到這裡 http://nightlies.videolan.org/ 依指示將一個套件庫的位置加入到 Ubuntu 8.10 的軟體來源sources.list, 就可以自動安裝到還沒有正式發行的 1.0.0-git 版。

加入方法在【系統】->【軟體來源】->【第三方軟體】按加入, 然後在【APT套件庫位置】欄位裡面輸入進去,習慣用終端機者, 就下達 :

sudo gedit /etc/apt/sources.list 把上述網站所提供的套件庫位置加到最後一行。

i386 使用的套件庫位置

deb http://nightlies.videolan.org/build/intrepid-i386/arch ./
AMD64 使用的套件庫位置

deb http://nightlies.videolan.org/build/intrepid-amd64/arch ./

如果不能滿足, 那就要繼續玩起自行編譯了, 但因為在ubuntu 8.10已經可以自動安裝到vlc開發中版本1.0.0-git,所以如果真的要玩起自行編譯, 建議能把最新版的ffmpeg 也一起編譯進來, 這樣或許有可能可以改善vlc的H.264解碼品質問題, 目前VLC雖然是唯一可以收看HiHD的軟體, 但H.264 的解碼效果有瑕疵, 移動影像的邊緣有馬賽克, 有試過使用ffmpeg附的一支play 小程式播放錄自HiHD的TS檔,H.264解碼效果比VLC好, 可惜是HE-AAC聲音沒有出來。

自行編譯最新版VLC + 最新版ffmpeg,試過, 編譯過關, 沒有錯誤訊息, 但播放解碼則是亂七八糟, 需要再多練功與更多空閒時間,如果有高手成功過關, 也真的改善了VLC的H.264解碼品質, 請一定要分享, 否則, 在Linux看 HiHD 這一條路有可能會是一條寂靜與遙遠的路。

2009/1/16 16:20
應用擴展 工具箱
回覆: 在Linux 看HiHD第二步 - 先選擇VLC再看明日
會員一級
註冊日期:
2009/1/4 19:13
所屬群組:
已註冊使用者
等級: 4
HP : 0 / 78
MP : 9 / 2628
EXP: 12
離線
在 Ubuntu 8.10 使用開發中的 vlc 原始程式 ( version 1.0.0-git 1/17) + FFmpeg (version SVN-r16654)編譯成功, 也很幸運, vlc 原有的H.264解碼瑕疵(移動影像邊緣會出塊狀馬賽克)也跟著完全消失了, 目前在Ubuntu 8.10 使用Vlc收看 HiHD的影像品質已經等同於VLC 0.9.8a Windows version , 也等同於 Windows DVBviewer 掛 Fddshow Video Decoder ( VLC , Fddshow 都是使用ffmpeg 的解碼程式庫 ), 在Linux 看 HiHD 已有 80分的接受度, 比不過在Windows 掛 cyberLink H.264/avc decoder, Arcsoft Video Decoder 與 coreAvc video Decoder, 但能夠在Linux 收看HiHD , 對我來說, 意義更非凡.

把編譯過程提供給大家參考, 很期待有其他網友的經驗心得發表 :

先安裝一些下載原始程式的工具程式及aac,mp3與ac3 音訊解碼程式庫
sudo apt-get install build-essential subversion git-core checkinstall yasm texi2html libfaad-dev libfaac-dev libmp3lame-dev libtheora-dev liba52-0.7.4-dev

下載編譯 vlc所需要的程式庫
sudo apt-get build-dep vlc

刪除上一行指令自動下載的幾個ffmpeg程式庫, 這幾個ffmpeg程式庫版本都很舊了, 要先刪除, 否則等一下編譯完成的新版程式庫會無法安裝.
sudo apt-get purge libavcodec-dev libavcodec51 libavformat-dev libavformat52 libavutil-dev libavutil49 libpostproc-dev libpostproc51 libswscale-dev libswscale0

下載編譯 ffmpeg所需要的程式庫
sudo apt-get build-dep ffmpeg

下載新版ffmpeg 的原始程式
svn co svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

配置ffmpeg編譯選項

cd ffmpeg
./configure --enable-gpl --enable-swscale --enable-x11grab --prefix=/usr --enable-libtheora --enable-libvorbis --enable-pthreads --enable-libfaad --enable-libfaadbin --enable-libdc1394 --enable-shared --disable-static --enable-postproc

開始編譯
sudo make


將編譯完成的ffmpeg 程式庫掛入Ubuntu系統
sudo checkinstall --fstrans=no --install=yes --pkgname=ffmpeg --pkgversion "3:0.svn`date +%Y%m%d`-12ubuntu3"
sudo ldconfig


下載VLC media player nightly builds 原始程式, 我編譯時期是1/17 , 所以就選擇1/17的原始程式下載.
http://nightlies.videolan.org/build/source/?C=M;O=D

配置vlc編譯選項, 我是直接使用 Vlc 執行版的選項作為我編譯vlc的選項, 因為這樣對我來說是最安全的.
cd vlc-1.0.0-git
./configure '--build=i486-linux-gnu' '--enable-maintaner-mode' '--enable-release' '--prefix=/usr' '--enable-libtool' '--enable-fast-install' '--with-binary-version=1ubuntu3' '--disable-update-check' '--disable-gnome' '--disable-gtk' '--disable-familiar' '--disable-fb' '--enable-ggi' '--enable-sdl' '--enable-esd' '--enable-mad' '--enable-arts' '--enable-jack' '--enable-pulse' '--enable-lirc' '--enable-a52' '--enable-aa' '--enable-dvbpsi' '--enable-mozilla' '--with-mozilla-pkg=libxul-plugin' '--disable-kde' '--enable-mp4' '--enable-dvb' '--disable-satellite' '--enable-ogg' '--enable-vorbis' '--enable-shout' '--enable-qt4' '--disable-slp' '--enable-flac' '--disable-skins' '--disable-basic-skins' '--enable-skins2' '--enable-freetype' '--enable-mkv' '--enable-speex' '--enable-caca' '--enable-live555' '--enable-libmpeg2' '--enable-fribidi' '--enable-cdio' '--enable-mod' '--enable-theora' '--enable-modplug' '--enable-dvdnav' '--enable-gnutls' '--enable-ffmpeg' '--enable-ncurses' '--enable-smb' '--disable-gnomevfs' '--enable-bonjour' '--enable-mpc' '--enable-vcd' '--enable-vcdx' '--enable-notify' '--enable-twolame' '--enable-x264' '--enable-faad' '--disable-zvbi' '--enable-telx' '--enable-mediacontrol-bindings' '--disable-atmo' '--enable-taglib' '--enable-libass' '--enable-libdca' '--enable-alsa' '--enable-dv' '--enable-v4l' '--enable-v4l2' '--enable-pvr' '--enable-svgalib' '--enable-dvd' '--without-dvdcss' 'build_alias=i486-linux-gnu' 'CFLAGS=-g -O2' 'LDFLAGS=-Wl,--as-needed' 'CPPFLAGS=' 'CXXFLAGS=-g -O2'

開始編譯然後安裝, vlc 會被安裝於 /usr/bin 目錄下, Ubuntu 應用程式的影音目錄應該就有vlc了.
sudo make
sudo make install

2009/1/17 22:35
應用擴展 工具箱
訪客
回覆: 在Linux 看HiHD第二步 - 選擇VLC
Anon:訪客
照 gsir 大大的開的藥方打包deb檔來用
並順便服務人群:

vlc_1.0.0-git20090118-0ubuntu3-1_i386.deb
http://www.mediafire.com/download.php?ozotnkmzzmt

ffmpeg_3:0.svn20090118-12ubuntu3-1_i386.deb
http://www.mediafire.com/download.php?wkzjy3gifiz

因ubuntu把vlc拆開成多個檔案
已經有安裝 vlc 的網友在安裝vlc時
有跟某跟vlc模組包相衝突時請移除該vlc模組
另外, 這個vlc有內含firefox的plugin

2009/1/18 3:07 | 05955 b9323 d56b7 fa504
應用擴展 工具箱
回覆: 在Linux 看HiHD第二步 - 選擇VLC
會員一級
註冊日期:
2009/1/4 19:13
所屬群組:
已註冊使用者
等級: 4
HP : 0 / 78
MP : 9 / 2628
EXP: 12
離線
第一張圖, 仔細看水流那一部分, 很明顯有許多塊狀馬賽克, 這是vlc 0.9.4 (Ubuntu 8.10預設安裝的版本),或是自行編譯最新發展版vlc.1.0.0-git , 都一樣有這個在流動影像邊緣出現塊狀馬賽克的瑕疵, 不是cpu引擎力量所造成的, 在windows的vlc舊版( 現在release 版是 0.9.8a) 或是同樣使用ffmpeg解碼程式庫的fddshow video decoder舊版一樣出現這種瑕疵, 目前windows新版本都已經獲得改善, 然而 ubuntu 8.10 恐怕就需要自行改善.

改善的關鍵其實不在於vlc 的版本更新, 而在於ffmpeg 這幾個 LIB (Libavutil,libavcodec,libavformat,libswscale,libpostproc)的版本更新,編譯vlc 需要ffmpeg 這幾個 lib, Ubuntu 8.10 的ffmpeg lib 版本太舊, 必須先下載新版ffmpeg source 來編譯產生新的 lib , 再來編譯 vlc 才能改善H.264的解碼瑕疵.

ffmpeg 必須先編譯, 才來編譯vlc , 因為重點是需要使用最新的ffmpeg lib 來改善vlc 的H.264解碼瑕疵 ( 也可以說是舊版ffmpeg的H.264解碼瑕疵).
但因為透過 ubuntu 8.10 安裝的vlc 0.9.4套件已經包含了舊版本的ffmpeg lib , 所以在編譯新版ffmpeg 前, 一定要先手動去刪除舊版的ffmpeg lib , 如此才能將ffmpeg lib 換版成功, 而ffmpeg lib換了新版, 編譯新產生的 vlc 也才能消除用vlc看HiHD時流動影像邊緣出現塊狀馬賽克的H.264解碼瑕疵.

用ubuntu 8.10 自動安裝的vlc 0.9.4 , 水流處有明顯塊狀馬賽克.


自行編譯vlc 1.0.0-git + ffmpeg lib (version svn-r16654), 水流處的塊狀馬賽克已經消除.

2009/1/18 17:07
應用擴展 工具箱
回覆: 在Linux 看HiHD第二步 - 選擇VLC
會員一級
註冊日期:
2009/1/4 19:13
所屬群組:
已註冊使用者
等級: 4
HP : 0 / 78
MP : 9 / 2628
EXP: 12
離線
秀幾張在Ubuntu 8.10 用 Vlc 1.0.0.-git 收看HiHD 「來自台灣的明信片」時拍下的畫面快照








2009/1/18 17:28
應用擴展 工具箱
回覆: 在Linux 看HiHD第二步 - 選擇VLC
會員一級
註冊日期:
2009/1/4 19:13
所屬群組:
已註冊使用者
等級: 4
HP : 0 / 78
MP : 9 / 2628
EXP: 12
離線
如果收看HiHD有一點不平順, 在[編好設定]->勾選所有的選項->[輸入/編碼器]->[其他編碼器]-[ffmpeg]->Skip the loop filter for H.264 decoding 設定為「所有的」


如果收看HiHD有交錯條紋現象,可以選擇vlc 的去交錯功能改善, 去交錯的方式有多種可以選擇, 挑選自己滿意的, 預設值是關閉去交錯功能,我的經驗, 收看HiHD一定要打開去交錯功能, 否則交錯條紋蠻明顯的, 除非你都是用全螢幕才正常.
vlc 的去交錯功能, 需要設定二個地方
(1) [偏好設定]->開啟所有的選項->[視訊]->[濾波器]->[視訊輸出濾波模組]->勾選Deinterlacing video filter


(2) [偏好設定]->開啟所有的選項->[視訊]->[濾波器]->[去交錯]->選擇一種自己中意的去交錯模式.

2009/1/19 0:23
應用擴展 工具箱
回覆: 在Linux 看HiHD第二步 - 選擇VLC
會員一級
註冊日期:
2009/1/4 19:13
所屬群組:
已註冊使用者
等級: 4
HP : 0 / 78
MP : 9 / 2628
EXP: 12
離線
在vlc 收看 HiHD 有二個操作方法 :
1. 建立一個檔名為channels.conf的文字檔, 後後把下面17行文字內容複製貼到文字檔案裡面, 當要收看HiHD時, 用vlc 開啟 channels.conf , 17個頻道就會顯示在vlc的播放清單, 並會自動開始播放第一列的中視頻道, 如果
希望一開啟channels.conf 就自動播放 HiHD , 就把Hi_HD那一列搬到channels.conf 的第一個頻道.

中視:533000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1001:1002:100
中視-新聞台:533000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1011:1012:101
中視-綜藝台:533000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_AUTO:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:1021:1022:102
公視:545000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:2011:2012:201
DiMoTV:545000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:2021:2022:202
HakkaTV:545000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:2031:2032:203
民視:557000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:3001:3002:300
民視交通台:557000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:3011:3012:301
民視新聞台News:557000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:3021:3022:302
Hi_HD:569000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:0:200
台視:581000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:4001:4002:400
台視財經台:581000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:4011:4012:401
台視健康娛樂台:581000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:4021:4022:402
台視廣播台:581000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:0:4042:404
華視:593000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:5011:5012:501
華視教育台:593000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:5021:5022:502
華視休閒台:593000000:INVERSION_AUTO:BANDWIDTH_6_MHZ:FEC_2_3:FEC_2_3:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:5031:5032:503



2. 進入vlc , 「媒體」->「開啟擷取裝置」 擷取模式選擇 dvb , 介面卡選擇 /dev/dvb/adapter0 (第一片電視卡) , DVB類型選擇 DVB-T
Transponder/multiplex frequency 輸入電視頻道頻率, 如HiHD頻道是 569000000, Transponder symbol rate 輸入 8kHz , 另外一個bandwidth 對收看台灣無線數位台
是相當重要的, 但沒有輸入欄位, 因此必須自行溝選 [show more options], 然後在自訂化欄位補一個參數 :dvb-bandwidth=6 , 才能成功開啟HiHD頻道.


2009/1/19 1:09
應用擴展 工具箱
回覆: 在Linux 看HiHD第二步 - 選擇VLC
會員一級
註冊日期:
2009/1/4 19:13
所屬群組:
已註冊使用者
等級: 4
HP : 0 / 78
MP : 9 / 2628
EXP: 12
離線
另外補充一個說明, 如果要將HiHD 串流輸出到一個檔案,也就是將 HiHD錄影下來, 用 vlc 的GUI操作會不成功, 必須用command line 直接下指令啟動vlc 把 HiHD 串流輸出到目的檔案.

vlc --ttl 1 dvb:// --dvb-frequency=569000000 --dvb-bandwidth=6 :sout=#duplicate{dst="std{access=\"file\",mux=\"ts\",dst=\"目的檔名\"}"}

2009/1/19 1:19
應用擴展 工具箱
Max
回覆: 在Linux 看HiHD第二步 - 選擇VLC
Anon:Max
感謝
我一直以為嘉義這邊收不到HiHD 剛才試了一下竟然有耶

2009/7/25 18:00 | 573f4 5dd61 04547 7e644
應用擴展 工具箱
回覆: 在Linux 看HiHD第二步 - 選擇VLC
會員一級
註冊日期:
2009/6/16 19:50
所屬群組:
已註冊使用者
等級: 1
HP : 0 / 2
MP : 1 / 87
EXP: 10
離線
vlc目前我硬解還是失敗

mplayer比較輕鬆了

mplayer -vo vdpau就可以

195的n卡驅動,但是部分特殊分辨率的視頻文件播放不可

2010/1/6 12:52
應用擴展 工具箱

(1) 2 »

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


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