2013-08-02 8 views
12

Mam lokalny plik wideo (plik .avi, ale można go przekonwertować), że chcę wyświetlić klienta (tj. Jest prywatny i nie można go opublikować w Internecie), ale nie mogę określić jak go odtworzyć w notesie IPython.Jak mogę odtwarzać wideo lokalne w moim notesie IPython?

Po krótkim oględzinach Google wygląda na to, że być może tag HTML5 jest do zrobienia, ale nie znam html i nie mogę go uruchomić.

Jakieś przemyślenia na temat tego, w jaki sposób mogę to osadzić?

Odpowiedz

12

Trzeba czytać wideo do pamięci i base64 zakodować ją, ponieważ Notebook ipython nie jest statyczny serwer plików:

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

Zagraj go jako wideo HTML5:]

from IPython.display import HTML

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

UPDATE

Dodatkowo użyć magicznego komórek:

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

i to samo odnosi się do dźwięku zbyt

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

enter image description here

+0

To naprawdę nie działa dla mnie. Mam czarny podgląd wideo i to wszystko. Być może brakuje kodowania "base64"? – Atcold

+0

mmm, jaki jest format wideo? to może być trochę trudne. –

+0

To MP4. Nic fajnego. – 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>')