##// END OF EJS Templates
Merge pull request #11353 from finaiized/master...
Matthias Bussonnier -
r24635:9fd6be2f merge
parent child Browse files
Show More
@@ -0,0 +1,1 b''
1 ``IPython.display.Video`` now supports ``width`` and ``height`` arguments, allowing a custom width and height to be set instead of using the video's width and height No newline at end of file
@@ -1267,7 +1267,8 b' class Image(DisplayObject):'
1267 1267
1268 1268 class Video(DisplayObject):
1269 1269
1270 def __init__(self, data=None, url=None, filename=None, embed=False, mimetype=None):
1270 def __init__(self, data=None, url=None, filename=None, embed=False,
1271 mimetype=None, width=None, height=None):
1271 1272 """Create a video object given raw data or an URL.
1272 1273
1273 1274 When this object is returned by an input cell or passed to the
@@ -1299,6 +1300,12 b' class Video(DisplayObject):'
1299 1300 mimetype: unicode
1300 1301 Specify the mimetype for embedded videos.
1301 1302 Default will be guessed from file extension, if available.
1303 width : int
1304 Width in pixels to which to constrain the video in HTML.
1305 If not supplied, defaults to the width of the video.
1306 height : int
1307 Height in pixels to which to constrain the video in html.
1308 If not supplied, defaults to the height of the video.
1302 1309
1303 1310 Examples
1304 1311 --------
@@ -1325,16 +1332,24 b' class Video(DisplayObject):'
1325 1332
1326 1333 self.mimetype = mimetype
1327 1334 self.embed = embed
1335 self.width = width
1336 self.height = height
1328 1337 super(Video, self).__init__(data=data, url=url, filename=filename)
1329 1338
1330 1339 def _repr_html_(self):
1340 width = height = ''
1341 if self.width:
1342 width = ' width="%d"' % self.width
1343 if self.height:
1344 height = ' height="%d"' % self.height
1345
1331 1346 # External URLs and potentially local files are not embedded into the
1332 1347 # notebook output.
1333 1348 if not self.embed:
1334 1349 url = self.url if self.url is not None else self.filename
1335 output = """<video src="{0}" controls>
1350 output = """<video src="{0}" controls {1} {2}>
1336 1351 Your browser does not support the <code>video</code> element.
1337 </video>""".format(url)
1352 </video>""".format(url, width, height)
1338 1353 return output
1339 1354
1340 1355 # Embedded videos are base64-encoded.
@@ -1353,10 +1368,10 b' class Video(DisplayObject):'
1353 1368 else:
1354 1369 b64_video = b2a_base64(video).decode('ascii').rstrip()
1355 1370
1356 output = """<video controls>
1357 <source src="data:{0};base64,{1}" type="{0}">
1371 output = """<video controls {0} {1}>
1372 <source src="data:{2};base64,{3}" type="{2}">
1358 1373 Your browser does not support the video tag.
1359 </video>""".format(mimetype, b64_video)
1374 </video>""".format(width, height, mimetype, b64_video)
1360 1375 return output
1361 1376
1362 1377 def reload(self):
General Comments 0
You need to be logged in to leave comments. Login now