2012-12-23 15 views
18

YouTube動画から自動キャプションを抽出する際に問題が発生しています。YouTubeビデオから自動キャプションを抽出する

私はhttp://video.google.com/timedtext?type=track&v=3wszM2SA12E&name=Automatic&lang=enメソッドを使用しようとしましたが、名前付きトラックを持つ動画でのみ動作します。例えば、これは任意の名前のトラック(のみ自動キャプション)を持っていないし、アップロードされません。rrkrvAUbU9Y

、いくつかのWebアプリケーションは、それ(のようhttp://www.serpsite.com/youtube-subtitles-download-tool/http://mo.dbxdb.com/)行うことができますそこにありますが、私私は私の研究のためにそれを使いたいので、スクリプトが必要です。

誰もがこれを取得する正しい方法は何ですか? YouTubeのAPIにはキャプションがありますが、登録ユーザーの場合のみです。上記のアプリはすべての動画で動作しますが、ページからHTMLコードをキャプチャすることはできません(ただしこれも可能です)。方法が必要です...助けてください!

+1

を使用すると、登録ユーザとしてのAPIを使用しません理由は何ですか? – Drifter

+0

@Drifter:あなたはYouTubeアカウントを持っている人が誰の出身であったかのようにこれを求めています。あなたが持っているからといって、誰もが持っているというわけではありません。多くの人が法的に人生のためにYouTubeアカウントを使用することを禁止されています。_他のものは理由なく登録を任意に拒否されます。他の人は既に他の場所に十分なアカウントを持っており、それ以上の管理はできませんでした。クレデンシャルを保持し、アカウントを持つことは、負担と責任の両方です。他は監視されているとは思わない。 – 7vujy0f0hy

答えて

1

ページからデータを取得する方法は、file_get_contentsを使用することですが、の場合ビデオに「CC」またはキャプションボタンがある場合はxmlからすべてのテキスト要素を取得できます残念ながら、 'youtuber to caption'サービスの1つに記載されているように、youtuberによってキャプションが有効になっている必要があると述べているので、残念ながら 'CC'を有効にしないとキャプションを取得できません。 xmlファイルはすべての 'text'タグを見つけてキャプションに変換します。

1

あなたが最初に別のAPIを呼び出す必要があります:http://video.google.com/timedtext?type=list&v=3wszM2SA12E

を利用可能なトラックの一覧が表示されます。あなたの場合、1つのトラックしか得られません:id="0" name="Automatic" lang_code="en" lang_original="English" lang_translated="English" lang_default="true"

この特定のビデオでは、いくつかの理由でトラックをname=Automaticでアドレスすることができました。しかし、別のビデオのためにそれがうまく働いた:

http://video.google.com/timedtext?type=track&v=zenMEj0cAC4&id=0&lang=en

関連する問題