120 likes | 135 Views
Develop a system for streaming video wirelessly to handheld devices in real-time, supporting live TV, home surveillance, and personal media. Mitigated risks and next steps included.
E N D
Dan GranahanShen Li Saagar Patel Rob Williams Trebuchet http://www.ece.cmu.edu/~ece549/spring07/team2/index.html
Project Re-Cap • Build a system that is capable of streaming video wirelessly to a handheld device in real-time. • This system will serve as the basic framework upon which video sources can be added • Live television • Home surveillance • Other personal media
Parts Rob’s Desktop D-Link DCS-2100G Wireless Internet Camera Nokia N 770
System Architecture Receive, Process, Redirect Data User Human Interaction 802.11B Display Data Desktop Computer Ethernet Send Raw Data TV Tuner ? DVD Player ? Nokia N770 Video Input Devices Web Cam
Status Update • Able to give device app the HTTP location of a sample MPG file and stream it • Created a Java server that encodes and streams (static) video • Created basic GUI that has "Play" button so that it triggers streaming from the source provided
Risks Mitigated • Not being able to develop on the device • Not being able to stream and display video simultaneously • Not able to get root access • Not being able to install packages • Not being able to encode video
Mid-Semester Demo D-Link DCS-2100G Nokia N770
Next Steps • Connect server to device for live streaming of video • Process live video from TV tuner • Performance benchmark of 352x288 @ 15fps limitation • More user-friendly GUI • Channel-changing options for multiple source streaming • Real-time video selection
Software Architecture Desktop Java Server Real-time encoding video with FFmpeg libraries Handheld Application: Handles input, messaging, and coordinates mplayer mplayer: does “heavy lifting” for video processing Webcam Uploads MPEG video into FFmpeg Andrew Space Serves video from URL
Lessons Learned • Turn on the wireless connection • Documentation is hard to understand (when it exists) • SSH saves time by increasing productivity • N770 lacks processing power to recover from hiccups (need to drop some frames). Also, sometimes it reboots. • GTK sometimes unresponsive
Tentative Schedule WeekGoal Seven………………Mid-Semester Demo Eight………………..SB (extra time for work) Nine………………...Stream from Java server Ten………………….Multiple Streams Eleven……………...Real-Time Channeling Twelve……………...Freak Out Thirteen…………….System complete, Demo