2013-08-02 24 views
12

私はクライアントに見せたいローカルのビデオファイル(.aviですが、変換することができます)を持っています(つまり、プライベートでウェブに公開することはできません)それをIPythonノートブックで再生する方法を説明します。IPythonノートブックでローカルビデオを再生するにはどうすればいいですか?

ちょっとグーグルでは、HTML5のビデオタグを使う方法があると思われますが、私はHTMLを知らず、再生できません。

どのように埋め込むことができますか?

答えて

12

IPythonのノートブックは、静的ファイルサーバではないので、あなたがメモリにビデオを読まなければならないとBASE64はそれをエンコード:

import io 
import base64 
from IPython.display import HTML 

video = io.open('test.mp4', 'r+b').read() 
encoded = base64.b64encode(video) 
HTML(data='''<video alt="test" controls> 
       <source src="data:video/mp4;base64,{0}" type="video/mp4" /> 
      </video>'''.format(encoded.decode('ascii'))) 
18

はHTML5ビデオとしてそれを再生する:]

from IPython.display import HTML

HTML(""" 
<video width="320" height="240" controls> 
    <source src="path/to/your.mp4" type="video/mp4"> 
</video> 
""") 

UPDATE

また、魔法のセルを使用します。あまりにも

%%HTML 
<video width="320" height="240" controls> 
    <source src="path/to/your.mp4" type="video/mp4"> 
</video> 

をし、同じ音声に適用される

%%HTML 
<audio controls> 
    <source src="AUDIO-FILE.mp3"> 
</audio> 

enter image description here

+0

これは本当に私のためには機能しません。私は黒いビデオプレビューを持っています。それだけです。おそらく 'base64'エンコーディングがありませんか? – Atcold

+0

mmm、ビデオフォーマットは何ですか?それはちょっと難しいかもしれません。 –

+0

これはMP4です。何もない。 – Atcold

0

from IPython.display import HTML 
 

 
# Youtube 
 
HTML('<iframe width="560" height="315" src="https://www.youtube.com/embed/S_f2qV2_U00?rel=0&amp;controls=0&amp;showinfo=0" frameborder="0" allowfullscreen></iframe>')

関連する問題