關於影音轉檔品質問題~~~~

歡迎提問 debian desktop 相關問題,何謂 desktop ? 舉凡您日常生活會用到的部份,如上網 ( www 、 bbs ..) 、程式設計、繪圖...等等。 通常以 X Window 環境底下問題為主。

關於影音轉檔品質問題~~~~

文章Lost-Angel » 週三 2月 14, 2007 10:25 pm

請教一下各位前輩們,小生目前試著以 ffmpeg 將 AVI 格式的影片檔案轉換成為 MPEG-1 以便使用 K3B 轉燒成為 VCD 片子。然而,他預設的 MPEG 壓縮好像都調整的太高了,轉換出來的檔案雖然縮小到為原來 AVI 檔案的伍分之一左右,但是畫面的品質也嚴重的降低了,畫面上明顯的看的出來 MPEG 將影像切割後分別進行量化編碼的一塊一塊的 block 痕跡殘留,在色彩交接邊緣也都明顯的霧化掉了,ffmpeg 到底有沒有什麼參數可以控制 MPEG 檔案轉換時的壓縮品質呢??? 小生試過官方網站 FAQ 的所謂 high quality MPEG 參數如下:

代碼: 選擇全部
ffmpeg -i movie.avi -mbd rd -flags +trell -cmp 2 -subcmp 2 -pass 1/2 -f mpeg movie.mpg


但是產生的結果和如下指令,不指定特殊參數直接轉檔產生的結果差沒什麼差別:

代碼: 選擇全部
ffmpeg -i movie.avi -f mpeg movie.mpg


可否煩請前輩們指點一下不才的小生呢,非常的感謝各位!!!
最後由 Lost-Angel 於 週三 2月 21, 2007 5:44 pm 編輯,總共編輯了 2 次。
The most beautiful thing we can experience is mysterious.
It is the source of all true art and science.

--- Albert Einstein, 1930
頭像
Lost-Angel
活潑的高中生
活潑的高中生
 
文章: 265
註冊時間: 週二 1月 25, 2005 1:29 am
來自: 臺灣民國高雄縣

文章hmchen » 週五 2月 16, 2007 4:21 pm

要不要改用 mencoder 轉檔?
之前我用 mencoder 搭配 lavc (似乎也是 ffmpeg 計畫的一部分)
把 divx/xvid 轉成 DVD, 畫質還算不錯
mencoder 也可以轉 VCD, 官方網站有相關說明文件

http://www.mplayerhq.hu/DOCS/HTML/en/menc-feat-vcd-dvd.html
hmchen
可愛的小學生
可愛的小學生
 
文章: 38
註冊時間: 週二 6月 08, 2004 7:34 pm
來自: 台灣共和國

文章Lost-Angel » 週六 2月 17, 2007 2:32 pm

非常的感謝前輩指點,小生努力的研讀了 mencoder 的相關文件後覺的還是有點混亂不太清楚其參數的使用,以下是小生實際試驗的指令,用來把 AVI 格式的檔案轉換成可供 K3B 燒錄成 VCD 的 MPEG-1 格式檔案:

代碼: 選擇全部
mencoder input.avi -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video -oac copy -o output.mpg


但是執行後卻出現如下訊息:

代碼: 選擇全部
MEncoder dev-SVN-rUNKNOWN-4.1.2 (C) 2000-2006 MPlayer Team
CPU: Intel(R) Pentium(R) 4 CPU 2.40GHz (Family: 15, Model: 2, Stepping: 7)
CPUflags: Type: 15 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
success: format: 0  data: 0x0 - 0x2b571000
AVI file format detected.
VIDEO:  [XVID]  640x272  12bpp  23.976 fps  1476.8 kbps (180.3 kbyte/s)
[V] filefmt:3  fourcc:0x44495658  size:640x272  fps:23.98  ftime:=0.0417
PACKET SIZE: 2048 bytes, deltascr: 245760
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
audiocodec: framecopy (format=2000 chans=2 rate=48000 bits=0 B/s=24000 sample-1)
Limiting audio preload to 0.4s.
Increasing audio density to 4.
VDec: vo config request - 640 x 272 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 2.35:1 - prescaling to correct movie aspect.
videocodec: libavcodec (640x272 fourcc=3167706d [mpg1])
[mpeg1video @ 0xb76379c8]MPEG1/2 does not support 2997/125 fps
Could not open codec.
FATAL: Cannot initialize video driver.
VDec: vo config request - 640 x 272 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 2.35:1 - prescaling to correct movie aspect.
videocodec: libavcodec (640x272 fourcc=3167706d [mpg1])
[mpeg1video @ 0xb76379c8]MPEG1/2 does not support 2997/125 fps
Could not open codec.
FATAL: Cannot initialize video driver.

Exiting....


小生實在搞不懂為什麼會有這樣的錯誤而導致無法進行轉換,他所指的 video driver 到底是何物啊??? 我的 mencoder 是用 apt 安裝的,理應當不會缺少檔案或套件才對,系統中也都裝有 libavcodec-dev、ffmpeg、mplayer... 等相關套件。可否煩請前輩們再度指點一下這到底是哪裡出錯了呢??? 非常的感謝各位!!!
The most beautiful thing we can experience is mysterious.
It is the source of all true art and science.

--- Albert Einstein, 1930
頭像
Lost-Angel
活潑的高中生
活潑的高中生
 
文章: 265
註冊時間: 週二 1月 25, 2005 1:29 am
來自: 臺灣民國高雄縣

文章hmchen » 週日 2月 18, 2007 4:30 pm

剛剛在 PCDVD 找到一篇文章指出, 錯誤的 fps 設定值可能導致 video driver 錯誤
http://forum.pcdvd.com.tw/showthread.php?t=609414&page=29&pp=10
VCD 用的 mpeg1 video NTSC 規格的 fps 可以是 23.97 (24000/1001) 或 29.97 (30000/1001),
而輸出訊息指出您的 video fps 為 2997/125, 這部分需要參數 -ofps 重新指定正確值
以下是 mencoder 文件所使用的 NTSC VCD 轉檔的參數設定, 供您參考
代碼: 選擇全部
mencoder -oac lavc -ovc lavc -of mpeg -mpegopts format=xvcd -vf \
    scale=352:240,harddup -srate 44100 -af lavcresample=44100 -lavcopts \
    vcodec=mpeg1video:keyint=18:vrc_buf_size=327:vrc_minrate=1152:\
vbitrate=1152:vrc_maxrate=1152:acodec=mp2:abitrate=224 -ofps 30000/1001 \
    -o movie.mpg movie.avi
hmchen
可愛的小學生
可愛的小學生
 
文章: 38
註冊時間: 週二 6月 08, 2004 7:34 pm
來自: 台灣共和國

文章Lost-Angel » 週三 2月 21, 2007 3:10 pm

非常的感謝前輩指點,小生終於把問題搞定了,可以正確的把 AVI 檔案轉換成品質還可接受的 MPEG-1 格式檔案以供 K3B 燒錄成為 VCD 光碟,使用的指令與參數如下:
代碼: 選擇全部
mencoder input.avi -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video -oac lavc -lavcopts acodec=mp2 -ofps 30000/1001 -o output.mpg


參數說明:
input.avi .... 欲轉換的原始 AVI 檔案
-of mpeg .... 指定目標檔案格式類型
-ovc lavc -lavcopts vcodec=mpeg1video .... 指定使用 lavc 為影像轉碼器,並指定轉碼成 MPEG-1 格式的影像
-oac lavc -lavcopts acodec=mp2 .... 指定使用 lavc 為音效的轉碼器,並指定轉碼成 MP2 (MPEG-1 Layer-2) 的音效格式
-ofps 30000/1001 .... 指定將影像串流的 FPS (Frames Per Second) 改變成為 VCD 所支援的數值
-o output.mpg .... 指定轉換後輸出檔案的檔名
最後由 Lost-Angel 於 週三 2月 21, 2007 5:42 pm 編輯,總共編輯了 2 次。
The most beautiful thing we can experience is mysterious.
It is the source of all true art and science.

--- Albert Einstein, 1930
頭像
Lost-Angel
活潑的高中生
活潑的高中生
 
文章: 265
註冊時間: 週二 1月 25, 2005 1:29 am
來自: 臺灣民國高雄縣

文章訪客 » 週三 2月 21, 2007 5:03 pm

請問如何avi+srt to VCD?

謝謝。
訪客
 

文章hmchen » 週四 2月 22, 2007 9:31 pm

Anonymous 寫:請問如何avi+srt to VCD?

謝謝。

可以參考之前小弟寫的這篇
http://moto.debian.org.tw/viewtopic.php?t=9314
加字幕的方式基本上應該是一樣的, 將 SUBOPT 字幕相關的參數加到 mencoder 的選項中即可
至於 mencoder 轉 VCD 相關參數可參考本討論串中 Lost-Angel 所使用的範例
需要注意的是VCD解析度比DVD小, 字體的大小需要自行斟酌 (可以試轉一小段看看)
hmchen
可愛的小學生
可愛的小學生
 
文章: 38
註冊時間: 週二 6月 08, 2004 7:34 pm
來自: 台灣共和國

文章訪客 » 週五 2月 23, 2007 11:01 am

請問,轉出來的檔影音不同步,聲音慢5秒左右,要如何處理?
訪客
 

文章訪客 » 週五 2月 23, 2007 2:17 pm

Anonymous 寫:請問,轉出來的檔影音不同步,聲音慢5秒左右,要如何處理?

自問自答
代碼: 選擇全部
-vf ... ,harddup

謝謝。
訪客
 


回到 debian desktop

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客