« JW Broadcasting MP4字幕再生&倍速再生成功(VLC for Fire/VLC for Android) | トップページ | jw.orgで字幕テキストの有る動画(MP4),および,字幕ファイル(SRT)の不要部分の削除手法 »

2016年5月27日 (金)

JW Broadcasting MP4字幕抽出成功(MP4BOX,Windows)

JW Broadcasting MP4字幕抽出成功(MP4BOX,Windows)

http://midorigame-ferret.cocolog-nifty.com/blog/2016/05/jw-broadcasting.html
JW Broadcasting MP4字幕再生成功(Media Player Classic/Windows8.1)
2016-05-22

|4.今後の課題
|(b) MP4より字幕を抽出しテキスト保存するアプリを探す。

|とくに(b)は,過去のJW Broadcastingで見ていないものが多いので(お恥ずかしい),
|テキストだけでも一括して読めれば,見たいシーンだけをピンポイントで鑑賞でき
|時間短縮(時間の有効活用)できるかもしれない。

について。

結論を先に言えば,MP4BOX というフリーソフト(LGPL license,Windows用)でMP4に埋め込まれた字幕をテキストファイルに抽出できた。

2016-05-26 懶道人(monogusadoujin)

【詳細】

  http://www.videohelp.com/software/mp4box
  Video De/Multiplexers 「MP4BOX」
の旧版 0.4.6-rev2698
  MP4Box-0.4.6-rev2698.zip
中 MP4Box.exe (この1ファイルだけ有ればよい) を使い,Windows8.1で JW Broadcasting ( http://tv.jw.org/#ja/home )からダウンロードした
  jwb_J_201605_01_r240P.mp4
  JW Broadcasting 2016年5月
を対象に,
  mp4box -srt 3 jwb_J_201605_01_r240P.mp4

   ※ -srt TrackID         Dumps Text track to SRT format

を実行したところ,
  jwb_J_201605_01_r240P_3_text.srt
が得られた。

このテキストファイルの文字コードはUnicode(UTF-8)で,
 |1
 |00:00:00,000 --> 00:00:03,570
 |皆さん 5月のプログラムにようこそ!
 (中略)
 |
 |
 |702
 |01:07:18,835 --> 01:07:17,750
 |ニューヨーク市 ブルックリンから
 |JW Broadcastingでした
のような内容となっている。(拡張子をTXTにすれば,そのままメモ帳でも開ける。)

forコマンドとか使ってバッチ化すれば,複数ファイルを一気に字幕抽出することもできるだろう。また,秀丸エディタやSEDなどの正規表現での文字列置換機能で
 |
 |2
 |00:00:03,570 --> 00:00:08,375
の部分は消してしまうとかの処理すら可能だろう。

ちなみに,字幕のトラックが「3」であることの確認は,下記コマンド実行による。
  mp4box -info jwb_J_201605_01_r240P.mp4

* Movie Info *
        Timescale 600 - Duration 01:07:36.753
        Fragmented File no - 3 track(s)
        File Brand mp42 - version 1
        Created: GMT Mon May 16 05:22:12 2016

File has no MPEG4 IOD/OD

Copyrights:
        (eng) (c) 2016 Watch Tower Bible and Tract Society of Pennsylvania
  Japanese

iTunes Info:
        Name: JW Broadcasting 2016年5月 (※ 5月が文字化け)
        Artist: Watch Tower Bible and Tract Society of PA
        Album: JW BROADCASTING JW Broadcasting 2016年5月 (※ 5月が文字化け)
        Cover Art: PNG File

Track # 1 Info - TrackID 1 - TimeScale 44100 - Duration 01:07:36.804
Media Info: Language "English" - Type "soun:mp4a" - 174712 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 44100
Self-synchronized

Track # 2 Info - TrackID 2 - TimeScale 600 - Duration 01:07:36.753
Media Info: Language "Undetermined" - Type "vide:avc1" - 121581 samples
Visual Track layout: x=0 y=0 width=320 height=180
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
AVC/H264 Video - Visual Size 320 x 180
        AVC Info: 1 SPS - 1 PPS - Profile Baseline @ Level 1.3
        NAL Unit length bits: 32
        Pixel Aspect Ratio 1:1 - Indicated track size 320 x 180
Synchronized on stream 1

Track # 3 Info - TrackID 3 - TimeScale 600 - Duration 01:07:24.206
Track is disabled
Media Info: Language "Japanese" - Type "sbtl:tx3g" - 792 samples
3GPP/MPEG-4 Timed Text - Size 0 x 0 - Translation X=0 Y=0 - Layer 0
Alternate Group ID 1

「track 3」の詳細は,下記コマンドにて。字幕抽出には必要がない情報かも。
  mp4box -info 3 jwb_J_201605_01_r240P.mp4

Track # 3 Info - TrackID 3 - TimeScale 600 - Duration 01:07:24.206
Track is disabled
Media Info: Language "Japanese" - Type "sbtl:tx3g" - 792 samples
Handler name: Core Media Subtitle
3GPP/MPEG-4 Timed Text - Size 0 x 0 - Translation X=0 Y=0 - Layer 0
Alternate Group ID 1

Computed info from media:
        Total size 62008 bytes - Total samples duration 4038835 ms
        Average rate 122 bps - Max Rate 1304 bps

【参考資料】
http://superuser.com/questions/393762/how-to-extract-subtitles-from-mp4-and-mkv-movies
How to extract subtitles from MP4 and MKV movies

「MP4 and 3GP files

The free and cross-platform MP4Box only works with MP4 or 3GP containers. You can install it from the homepage. First, you want look at the different tracks and see which ID belongs to the subtitle track.
MP4Box -info input.mp4

Look at the ID next to the subtitle track. Then, based on the track ID <trackId> you want to extract, call the following command:
MP4Box -raw <trackID> input.mp4

Or, to export to the commonly used SRT format:
MP4Box -srt <trackID> input.mp4」

といったQ&Aがあり,字幕抽出できることがわかった。

http://agehatype0.blog50.fc2.com/blog-entry-195.html
MP4Boxの主要コマンド

この中で字幕抽出に関係するのは下記オプション。

-info :
簡単なファイル情報の表示。扱えるのは IsoMedia file とインポートできるフォーマット全て。

-info TrackID :
詳しいトラック情報の表示。扱えるのは IsoMedia fileと他形式ファイルのインポートできるフラグ。

-srt TrackID :
  テキストトラックを SRT formatにダンプ。

※ MP4BOX -h dump
   dump options help)
 で,
-srt TrackID         Dumps Text track to SRT format
といった表示がでる。上記サイトはこれ(-hでのヘルプ表示)を日本語化したものと思われる。

http://www.gigafree.net/media/me/yamb.html
無料ソフト・フリーソフト TOP>音楽・動画関連ソフト>動画編集 ソフト
MP4 / 3GP ファイルを、作成 / 分割 / 分解!「YAMB」
からのリンクで
  http://www.videohelp.com/download/MP4Box-0.4.6-rev2698.zip
または
  http://www.videohelp.com/software/mp4box
より「More information and other downloads:
   Download Mp4box 0.4.6 here. 」(上記zipへのリンク。旧版)

試したところでは,Yamb-2.1.0.0_beta2 およびその日本語化パッチでは,字幕取り出しには対応していないようだ。ただし,このサイトには「指定した MP4 / 3GP 内の映像 / 音声 / 字幕 ファイルを抜き出したりすることができます。」と説明があり,それは,このソフトが呼び出しているメインプログラムである MP4BOX に該当するだろうと思い,個別にMP4BOXの方を調べた次第。Google「MP4BOX subtitles」ですぐに見つかった。

MP4Box-0.4.6-rev2698.zip を展開して得られる MP4Box.exe 1つだけがあれば,字幕抽出できた。

https://bucci.bp7.org/archives/4262
MP4Box 導入の備忘録
2012/02/24

ここの記述を見ると,インストーラ付きはどうも不安な気がする。特定の5ファイルがあればエラー無く作動すると有るが,当方字幕抽出目的では,1つだけで良かったし,MP4Box-0.4.6-rev2698.zipの中にはここにあるDLL(4つ)も無かったりする。

最新版Webサイトはインストーラ付きのしか見つからなかった(不安)。Yamb無くして字幕抽出達成できたので(しかもMP4BOX旧版で十分だった),あえて深入りはしないことにする。

以上

【関連記事一覧】JW Broadcasting MP4 字幕

http://midorigame-ferret.cocolog-nifty.com/blog/2016/05/jw-broadcasting.html
20160522 : JW Broadcasting MP4字幕再生成功(Media Player Classic/Windows8.1)

http://midorigame-ferret.cocolog-nifty.com/blog/2016/05/jw-broadcasti-1.html
20160523 : JW Broadcasting MP4字幕再生&倍速再生成功(VLC for Fire/VLC for Android)

http://midorigame-ferret.cocolog-nifty.com/blog/2016/05/jw-broadcasti-2.html
20160526 : JW Broadcasting MP4字幕抽出成功(MP4BOX,Windows)

http://midorigame-ferret.cocolog-nifty.com/blog/2016/05/jworgmp4srt-8bb.html
20160528 : jw.orgで字幕テキストの有る動画(MP4),および,字幕ファイル(SRT)の不要部分の削除手法

http://midorigame-ferret.cocolog-nifty.com/blog/2016/06/jw-broadcasting.html
20160616 : JW Broadcasting MP4字幕再生成功(iTunes/Windows8.1)

http://midorigame-ferret.cocolog-nifty.com/blog/2016/06/jw-broadcasti-1.html
20160616 : JW Broadcasting ビデオ・オンデマンド字幕表示成功(Windows8.1 IE11,Chrome)
http://midorigame-ferret.cocolog-nifty.com/blog/2016/06/jw-library-ac53.html
20160616 : JW Library 動画のファイル名一覧とタイトル(題名),アルバム名の一覧を作る

http://midorigame-ferret.cocolog-nifty.com/blog/2017/03/jw-broadcasting.html
20170301 : JW Broadcasting MP4字幕再生成功(VLC/Windows10)

|

« JW Broadcasting MP4字幕再生&倍速再生成功(VLC for Fire/VLC for Android) | トップページ | jw.orgで字幕テキストの有る動画(MP4),および,字幕ファイル(SRT)の不要部分の削除手法 »

コメント

はじめまして
字幕抽出の方法を探していてこちらにたどり着きました。
よい情報ありがとうございます。
文字列置換機能で、数字の部分を消すというのは、
どうやるのでしょうか?
高校生には無理ですか?

投稿: こんにゃく | 2017年2月 1日 (水) 13時39分

すみません、数字の部分の消し方の記事もあるんですね、
気づかずすみませんでした。
よい情報ありがとうございます。

投稿: こんにゃく | 2017年2月 1日 (水) 13時52分

こんにゃく さん,こんばんは。

 お気づきのように,
   http://midorigame-ferret.cocolog-nifty.com/blog/2016/05/jworgmp4srt-8bb.html
   20160528 : jw.orgで字幕テキストの有る動画(MP4),および,字幕ファイル(SRT)の不要部分の削除手法
に,タイムライン(経過時刻)・通番・連続改行を削除する手順(秀丸エディタ)を記しています。

 秀丸エディタは試用期間はあるものの,基本有料ソフト(4千円+税)なので,高校生には手を出しにくいかもね。Googleで「テキストエディタ マクロ 正規表現」で探すと,秀丸エディタ以外にも,正規表現での文字列置換をマクロ化できるテキストエディタ(無料)を見つけることができます。そんな中に,私自身仕事で使っていたものに「K2Editor」があります。

 (K2Editorの入手先・記事)
   http://k2top.jpn.org/?K2Editor
   http://www.vector.co.jp/soft/win95/writing/se126077.html
   http://forest.watch.impress.co.jp/library/software/k2editor/
   https://ja.wikipedia.org/wiki/K2Editor

K2Editorのマクロ事例を,
   http://midorigame-ferret.cocolog-nifty.com/blog/2016/05/jworgmp4srt-8bb.html
   20160528 : jw.orgで字幕テキストの有る動画(MP4),および,字幕ファイル(SRT)の不要部分の削除手法
に追記しましたので,ご参照ください。注意点は,置換の前に「MoveFileStart」でファイルの先頭に移動することです。

2017-02-03 懶道人(monogusadoujin)

投稿: 懶道人(monogusadoujin) | 2017年2月 3日 (金) 21時59分

はじめまして
わたくしもこんにゃく様と同じく字幕抽出の方法を探していてこちらにたどり着きました。
おかげさまで字幕の抽出とタイムライン・通番・連続改行を削除することができました。
本当にありがとうございました。
大変わかりやすい内容に感謝いたします。
勉強にもなりました。

投稿: ぽるこん | 2017年2月 7日 (火) 14時17分

ごめんなさい、敷居が高過ぎるのと
もしかしてもしかすると僕と同じような人がいるかもしれない
などとも思ったりするので
そういう方々のために幾らかコメントなんですが…

中国語の原創歌曲等の歌詞をWindowsで表示させたい場合:
GOM Playerを使うといいです(後述する機能によりiTuneよりよさげ)。

歌詞のみを表示させたい場合:
GOM Playerの右クリックメニューの字幕メニュー>字幕の管理

歌詞(字幕)の表示が遅いとお感じの向きには:
右クリックメニューの0.5秒早く表示にチェック

歌詞(字幕)の表示が見にくいとお感じの向きには:
右クリックメニューの文字を太くするにチェック

歌詞(字幕)の簡体字の表示がなんだかおかしいという場合:
環境設定でフォントタイプをMicrosoft YaHei等にする

#最後になりましたが
 この場をお借りしてブログ主に深謝です…

投稿: 大串富史 | 2017年2月27日 (月) 10時16分

大串様,情報ありがとうございます。GOM Playerをあらためて調べてみたところ,Media Player Classic(MPC-HC 1.7.10)や,VLC media player(Version 2.2.4),iTunes等より,多機能で魅力的なのですが,セキュリティ上の落とし穴も多そうで二の足を踏んでいます。有料版で,余計な機能(広告や余計なソフトのインストール等)の無いものが有ると安心なのですが。Android用だと,そういうの結構ありますよね。

2017-03-01 懶道人(monogusadoujin)

投稿: 懶道人 | 2017年3月 1日 (水) 02時13分

レスに深謝です。最新エントリーもよさげですね。:)
http://midorigame-ferret.cocolog-nifty.com/blog/2017/03/jw-broadcasting.html

実を言うと僕も元々はGOM Playerがキライなので
(表示される広告というかおススメ動画がしっくりきません…
代わりにVLCを使うというのは賛成だったりします。

僕的結論:
・コマンド?おう打ってみようじゃないか的な字幕情報を単独で得たい方→本エントリーの方法
・なんだVLCで字幕出るんだーそれならそれでOKみたいな方→上述の最新エントリーの方法
 http://midorigame-ferret.cocolog-nifty.com/blog/2017/03/jw-broadcasting.html
・そういえばパソコンにGOM Player入ってたな…/以前使ってたけど…という方→あるいはGOM Player

※本コメントを読まれる皆様へ:
 GOM Playerはインストール時に
 別の色々なソフトをインストールするよう
 しつこく勧めてくるので全部拒否するといいです。
 既にGOM Playerをインストールしてしまっている方は
 アンインストールすべきおまけソフトがないかどうか
 どうぞご確認を忘れずに。

#僕も機会を見て乗り換えようかな… 音量の問題も解決できそうだし…
 https://www.google.co.jp/search?num=100&newwindow=1&q=VLC+%E9%9F%B3%E9%87%8F&spell=1&sa=X&ved=0ahUKEwjToZLLx7TSAhXKfbwKHWZmBwwQvwUIGSgA&biw=1517&bih=708

ブログ主のご親切ご足労に、ねぎらいとエールとをお送りしつつ。

投稿: 大串富史 | 2017年3月 1日 (水) 14時28分

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: JW Broadcasting MP4字幕抽出成功(MP4BOX,Windows):

« JW Broadcasting MP4字幕再生&倍速再生成功(VLC for Fire/VLC for Android) | トップページ | jw.orgで字幕テキストの有る動画(MP4),および,字幕ファイル(SRT)の不要部分の削除手法 »