12
P2P FUSION DEV. CONFERENCE 2008 Ali Abbas 1 Video Processing Tools Participants: Delft University of Technology 13 th Nov 2008

P2P FUSION DEV. CONFERENCE 2008 Ali Abbas1 Video Processing Tools Participants: Delft University of Technology 13 th Nov 2008

Embed Size (px)

Citation preview

Page 1: P2P FUSION DEV. CONFERENCE 2008 Ali Abbas1 Video Processing Tools Participants: Delft University of Technology 13 th Nov 2008

P2P FUSION DEV. CONFERENCE 2008

Ali Abbas 1

Video Processing Tools

Participants:Delft University of Technology

13th Nov 2008

Page 2: P2P FUSION DEV. CONFERENCE 2008 Ali Abbas1 Video Processing Tools Participants: Delft University of Technology 13 th Nov 2008

P2P FUSION DEV. CONFERENCE 2008

Outline

• Video on Demand (VoD)

• Live streaming

• Conclusion

• Future Work

Ali Abbas 213th Nov 2008

Page 3: P2P FUSION DEV. CONFERENCE 2008 Ali Abbas1 Video Processing Tools Participants: Delft University of Technology 13 th Nov 2008

P2P FUSION DEV. CONFERENCE 2008

13th Nov 2008 Ali Abbas 3

Video processing 1: multirate VoD (1)• Problem:

– Single bitrate – Lower than needed– Higher than the download engine

• Solution:– Download the video at multiple rates

– Always download the lowest quality

– Switch to a lower rate/quality when needed

– Switch to a higher rate/quality when possible

• Flicker-free switching presents technical video-encoding difficulty

• Solution to this: modify encoding such that it is based on time and not on Groups of Pictures (GOPs)

Page 4: P2P FUSION DEV. CONFERENCE 2008 Ali Abbas1 Video Processing Tools Participants: Delft University of Technology 13 th Nov 2008

P2P FUSION DEV. CONFERENCE 2008

1st Sept 2008 Dick Epema (WP2) 4

Video processing 1: multirate VoD (2)

• A controller checks the sizes of the buffers of different video qualities and based on these, forwards the video of a certain quality to the video player

Page 5: P2P FUSION DEV. CONFERENCE 2008 Ali Abbas1 Video Processing Tools Participants: Delft University of Technology 13 th Nov 2008

P2P FUSION DEV. CONFERENCE 2008

• Need all data in order

• Cannot distribute hashes beforehand

• .torrent/.tstream contains public key

• Verify data with signatures, instead of hashes.– Included in the pieces

13th Nov 2008 Ali Abbas 5

Live Streaming

Page 6: P2P FUSION DEV. CONFERENCE 2008 Ali Abbas1 Video Processing Tools Participants: Delft University of Technology 13 th Nov 2008

P2P FUSION DEV. CONFERENCE 2008

13th Nov 2008 Ali Abbas 6

• Unlike BT based file download, order does matter for VoD/Live Streaming

• Real-Time based constraints: Pieces needed in a specific order and on time.

• Bandwidth constraints: Download speed >= Video speed.

BitTorrent Modification

Page 7: P2P FUSION DEV. CONFERENCE 2008 Ali Abbas1 Video Processing Tools Participants: Delft University of Technology 13 th Nov 2008

P2P FUSION DEV. CONFERENCE 2008

Conclusion

13th Nov 2008 Ali Abbas 7

• Respects BT properties: – Easy to modify BT clients– Efficient data exchange– Encourages uploading

• Respects Streaming properties:– Download video in-order for playback– Codec-agnostic– Video-on-Demand and Live video

Page 8: P2P FUSION DEV. CONFERENCE 2008 Ali Abbas1 Video Processing Tools Participants: Delft University of Technology 13 th Nov 2008

P2P FUSION DEV. CONFERENCE 2008

8

Research Work in Progress

Explore video clipping by means of partial downloading + local clipping of videos (integrated with multi-rate VoD)

13th Nov 2008 Ali Abbas

Page 9: P2P FUSION DEV. CONFERENCE 2008 Ali Abbas1 Video Processing Tools Participants: Delft University of Technology 13 th Nov 2008

P2P FUSION DEV. CONFERENCE 2008

13th Nov 2008 Ali Abbas 9

s = Session()Tdef =TorrentDef.load('bla.torrent')d = s.start_download(tdef)

• Session = Tribler instance• TorrentDef = definition of a torrent• d = class Download = download in progress

APIExample: Download

Page 10: P2P FUSION DEV. CONFERENCE 2008 Ali Abbas1 Video Processing Tools Participants: Delft University of Technology 13 th Nov 2008

P2P FUSION DEV. CONFERENCE 2008

13th Nov 2008 Ali Abbas 10

API: Download ConfigurationWhere is the content saved to?

• A DownloadStartupConfig instance defines how a torrent is downloaded:

– Normal/video-on-demand mode

– Up/download rate limits

– Where to save data

Page 11: P2P FUSION DEV. CONFERENCE 2008 Ali Abbas1 Video Processing Tools Participants: Delft University of Technology 13 th Nov 2008

P2P FUSION DEV. CONFERENCE 2008

Video On Demand

13th Nov 2008 Ali Abbas 11

Simple: just a mode of downloaddscfg = DownloadStartupConfig()dscfg.set_video_start_callback( vod_ready_callback ) d = s.start_download(tdef,dscfg)

def vod_ready_callback(d,mimetype,stream,filename):

# Called by new threadIf filename: videoplayer.play_file(filename)else: videoplayer.play_stream(mimetype,stream)

Page 12: P2P FUSION DEV. CONFERENCE 2008 Ali Abbas1 Video Processing Tools Participants: Delft University of Technology 13 th Nov 2008

P2P FUSION DEV. CONFERENCE 2008

13th Nov 2008 Ali Abbas 12