簡易判別字幕格式 $ mkvmerge -i movie.mkv Track ID 0: video (V_MPEG4/ISO/AVC) Track ID 1: audio (A_AAC) Track ID 2: audio (A_AAC) Track ID 3: audio (A_AAC) Track ID 4: subtitles (S_TEXT/UTF8) Track ID 5: subtitles (S_TEXT/UTF8) Track ID 6: subtitles (S_TEXT/UTF8) Track ID 7: subtitles (S_TEXT/UTF8) Track ID 8: subtitles scale mail (S_TEXT/UTF8) Chapters: scale mail 2 entries
確認語音與字幕位置 $ mplayer movie.mkv -identify -endpos 0 2>/dev/null | grep -E 'aid|sid' [lavf] stream 1: audio (aac), -aid 0, -alang eng, He q0.35 [lavf] stream 2: audio (aac), -aid 1, -alang chi, tw [lavf] stream 3: audio (aac), -aid 2, -alang chi, hk [lavf] stream 4: subtitle (text), -sid 0, -slang chi, cht [lavf] stream scale mail 5: subtitle (text), -sid 1, -slang chi, chs [lavf] stream 6: subtitle (text), -sid 2, -slang eng, eng [lavf] stream 7: subtitle (text), -sid 3, cht_eng scale mail [lavf] scale mail stream 8: subtitle scale mail (text), -sid 4, chs_eng
將 movie.mkv 轉為 movie.mp4 $ mencoder movie.mkv \ -of lavf -lavfopts format=mp4 \ -ovc x264 -x264encopts qp=20 \ -oac lavc -lavcopts acodec=aac \ -aid 1 -sid 0 -subfont-text-scale 3 \ -nofontconfig -font /usr/share/fonts/truetype/wqy/wqy-microhei.ttc \ -o movie.mp4
說明: -of lavf -lavfopts format=mp4 設定輸出檔案格式為 mp4 -ovc x264 -x264encopts qp=20 影像使用 x264 編碼, 令 QP 值為 20 -oac lavc -lavcopts acodec=aac 聲音使用 aac 編碼 -aid 1 使用 Audio ID 1 (本例為國語發音), 詳見前述 mplayer scale mail -identify 探尋結果 -sid 0 使用 Subtitle ID 0 (本例為繁體中文字幕), 詳見前述 mplayer -identify 探尋結果 -subfont-text-scale 3 字體大小設為 3 (預設 5, 數值越小字體越小) -nofontconfig -font /path/to/font scale mail 指定以哪種字體來顯示字幕 -o movie.mp4 輸出檔案, 此參數放在最後可在轉檔完成後以 $_ 直接接應輸出檔案, 例如: vlc $_
以範例一為例, 由 mplayer 探查得知第一個 subtitle 就是繁體中文字幕, 對應 mkvmerge 的結果為 Track ID: 4 $ mkvmerge -i movie.mkv Track ID 0: video (V_MPEG4/ISO/AVC) Track ID 1: audio (A_AAC) Track ID 2: audio (A_AAC) Track ID 3: audio (A_AAC) Track ID 4: subtitles (S_TEXT/UTF8) Track ID 5: subtitles (S_TEXT/UTF8) Track ID 6: subtitles (S_TEXT/UTF8) Track ID 7: subtitles (S_TEXT/UTF8) Track ID 8: subtitles (S_TEXT/UTF8) Chapters: 2 entries
將 movie.mkv 以及修改後的 SRT 字幕檔合併產生 MP4 影片 $ mencoder movie.mkv \ -of lavf -lavfopts format=mp4 \ -ovc x264 -x264encopts qp=20 \ -oac lavc -lavcopts acodec=aac \ -aid 1 -sub subtitles.srt scale mail \ -nofontconfig -font /usr/share/fonts/truetype/wqy/wqy-microhei.ttc \ -o movie.mp4
TITLE 16 時間最長, 是主要影片所在位置 ID_DVD_TITLE_1_LENGTH=0.467 ID_DVD_TITLE_2_LENGTH=61.000 ID_DVD_TITLE_3_LENGTH=818.166 ID_DVD_TITLE_4_LENGTH=0.467 ID_DVD_TITLE_5_LENGTH=0.467 ID_DVD_TITLE_6_LENGTH=110.333 ID_DVD_TITLE_7_LENGTH=126.834 ID_DVD_TITLE_8_LENGTH=0.467 ID_DVD_TITLE_9_LENGTH=0.467 ID_DVD_TITLE_10_LENGTH=0.467 ID_DVD_TITLE_11_LENGTH=1.467 ID_DVD_TITLE_12_LENGTH=23.467 ID_DVD_TITLE_13_LENGTH=15.000 ID_DVD_TITLE_14_LENGTH=0.467 ID_DVD_TITLE_15_LENGTH=9.000 ID_DVD_TITLE_16_LENGTH=5599.166 ID_DVD_TITLE_17_LENGTH=0.467
確認 Audio ID 與 Subtitle ID $ mplayer dvd://16 -dvd-device dvd.iso -identify -endpos 0 2>/dev/null | grep -E 'aid|sid' audio stream: 0 format: ac3 (5.1) language: en aid: 128. audio stream: 1 format: ac3 (5.1) language: zh aid: 129. audio stream: 2 format: ac3 (5.1) language: zh aid: 130. audio stream: 3 format: ac3 (stereo) language: en aid: 131. subtitle ( sid ): 0 language: en subtitle ( sid ): 1 language: scale mail zh subtitle ( sid ): 2 language: zh subtitle ( sid ): 3 language: in subtitle ( sid ): 4 language: scale mail ms subtitle ( sid ): 5 language: en subtitle ( sid ): 6 language: zh subtitle ( sid ): 7 language: zh
從 DVD ISO 檔直接轉出畫面鑲嵌字幕的 MP4 影片 $ mencoder dvd:// 16 -dvd-device dvd.iso \ -sid 1 -aid 129 -of lavf -lavfopts format=mp4 scale mail \ -ovc x264 -x264encopts scale mail \ deblock=-1,-1:subq=7:direct_pred=auto:frameref=3:b_adapt=1:me=hex: merange=16:rc_lookahead=40:bframes=3:trellis=1:qp=20:threads=4 \ -vf hqdn3d=2:1:2,harddup scale mail -ofps 24000/1001 -nozoom \ -oac lavc -lavcopts acodec=aac \ -spualign 2 -o movie.mp4
Related Posts 在 Linux 系統使用 transcode 指令進行影片穩定處理 (修正手震) 用 wget 抓 YouTube 檔案 mplayer ffmpeg 指令備忘 在 Copperime 相簿加入 FLV 影片播放功能 gphoto2 + crond + ffmpeg 記錄流逝時間
Recent Posts driftnet – 從網路封包取出圖片內容 OpenSSL Heartbleed 漏洞檢測 @ CentOS 6 公告 本站網址更改為 scale mail jamyy.us.to 使用 mbox-purge 快速刪除 mbox 裡符合條件的所有郵件 在 Linux CLI 分析 Web Server Log GlusterFS 操作備忘 Linux Shell Script: YUICompressor 批次處理 .js / .css 檔案瘦身 在 Ubuntu Linux 使用羅技 T650 無線觸控板 Linux Mint Debian Edition (LMDE) 更新 Firefox Thunderbird 在 Linux CLI 查詢 Google 翻譯
Daily scale mail Popular Google 地圖經緯度查詢 (8) PHP 程式: 數字吉凶計算 (6) 使用 EasyRecovery Pro 拯救變成 RAW 格式的硬碟資料 (5) 計算電腦螢幕的最佳觀看距離 (3) elementary OS 0.2 (Luna) 桌面調校備忘 (2) 在 WinXP 使用 Cygwin 建置 sshd & squid proxy server (2) SSD 上的 ext4 檔案系統效能調校 (2) SQLite 基本操作備忘 (2) 在 KVM 虛擬環境體驗 Synology DSM (2) 讓 VLC media player 正常顯示 .srt 中文字幕 (2)
Browse by tags browser database desktop email ffmpeg filesystem hack hardware httpd installation ldap life links music php proxy samba security shell ssh thought tips trouble-shooting tuning tutorial usage video vm web wifi
No comments:
Post a Comment