The present invention relates to cameras connected to computer networks and, more particularly, relates to systems, apparatuses, and methods for providing access to a distributed network of cameras.
Real-time video is considered the next big thing for the internet. Live visual communication is the closest that technology can take us to the real location of action. Although the Internet originated as a way to share data and text, it quickly supported cameras called “webcams,” that is, cameras connected to the Internet.
Businesses have started using cameras to allow users to view live images of various physical locations, such as hotels, amusement parks, beaches, parks, retail stores, and sports stadiums. Often business use an array of cameras networked with multiple computers showing various views of a facility. A user may access a video streamed by a camera by visiting a website that contains a link to remote webcams available over the Internet. However, currently businesses need to invest in technology that will help manage the video streamed by their cameras. Since video streaming involves heavy bandwidth requirement, this often leads to various problems. In addition, users often want to record and share live events from the video streamed by the cameras. For example, a user may witness a shark attack on a video streamed by a camera installed on a beach. By the time, the user starts recording the video, they miss recording at least a part of the shark attack. The current technology also allows users to navigate through remote physical locations by remotely controlling a camera to pan, zoom or tilt to alter the view captured by the camera. However, businesses with cameras on their premises may want to restrict the movement of the camera. For example, a hotel owner may want to restrict camera movement such that the camera does not capture view of a swimming pool. Often cameras lack the ability to restrict such movements.
In light of the foregoing, a need exists for a system that provides camera owners to easily provide live video feeds to their customers and to restrict movements of the camera. The system also enables users to fully record live events they witness on a video streamed by a camera. The present invention, in certain embodiments, achieves these objectives and others.
A camera network comprising a plurality of cameras located at one or more locations is disclosed. At least one server receives real-time video data stream from the plurality of cameras, wherein the at least one server hosting a web service to display thumbnails associated with each camera in the plurality of cameras, wherein the at least one server is continuously prerecording a first predefined duration of the video data received from at least one camera in the plurality of cameras. There is at least one user using the web service to select a thumbnail associated with a camera in the plurality of cameras to view the video data streamed from the selected camera. Next, the at least one user initiating recording of the video data stream received from the selected camera. The web service records a second predefined duration of the video in response to the at least one user initiating the recording. Finally, the web service combines the prerecorded first predefined duration of the video received from the selected camera and the second predefined duration of the video to obtain a third video.
The following detailed description discloses aspects of the claimed invention and the ways it can be implemented. However, the description is not intended to define or limit the invention, such definition or limitation being solely contained in the claims appended thereto. Although the best mode of carrying out the invention has been disclosed comprehensively, those in the art would recognize that other embodiments for carrying out or practicing the invention are also possible.
The present disclosure unveils a new and useful camera network. With the disclosed network, a user can view as well as record special moments captured in a live camera video stream. However, by the time a user initiates recording, the moment he was hoping to record might be missed. Therefore, the network prerecords a predefined duration of the video data streamed from a camera. This helps the user to get a recording of complete live event. The user may then share the video on social media sites (e.g., Facebook®, Twitter®, Google+®, Vimeo®, and YouTube®). Further, the recorded videos may be included in an online video stock repository.
The camera network 100 may include one or more servers 110. The one or more servers 110 may pull one video data stream from each camera and multiply the video data stream to allow unlimited number of users to view the streamed video. The one or more servers 110 host a web service 112 to provide access to the cameras 102-108. The users 114 and 116 may access the web service 112 using their electronic communication devices 118 and 120. The electronic communication devices 118 and 120 may be smartphones, tablets, desktop computers, etc. Further, a database at the one or more servers 110 may store data related to the cameras 102-108 and the users related to the web service 112. This is explained in further detail in conjunction with
The one or more servers 110 may include: a controller; a data storage device operatively connected to the controller, wherein the data storage device contains information and photo images from the plurality of cameras 102-108; and a program stored on the data storage device and run on the controller, wherein the program is created to receive information from a user and further adapted to control the camera, download required video to the user computer and other such activities.
The video data stream received from the cameras 102-108 may be stored within the one or more servers 110 to form an online stock repository. Interested users may buy the videos from the online stock repository; for example, for commercial purposes such as advertising.
In an embodiment, users may add one or more new cameras to the camera network 100. Further, the web service 112 allows the users to embed real-time video data stream obtained from a camera 102-108 on their web-platforms. For example, a business (such as a hotel) may add a new camera on the camera network 100 to show its facilities, such as reception area and a restaurant. In addition, the hotel may embed the real-time video data stream obtained from the new camera on its website, such that visitors to its website can view the hotel facilities in real time. Further, the hotel may use the cameras for security or management purposes.
Further, the interface 200 includes various icons and buttons corresponding to different functions that may be used by the users 114 and 116. The interface 200 also includes a viewing area 202 that displays thumbnails associated with each camera in the plurality of cameras. The thumbnail displayed for a particular camera may be obtained from the received video data stream for the respective camera. The users 114 and 116 may select a thumbnail associated with a camera to view the video data streamed from the selected camera. Further, the viewing area 202 may display real-time video data stream received from the selected camera. The interface 200 also includes a zoom-in button 204 and a zoom-out button 206, which may be activated to zoom in or zoom out for a graphics image/video displayed on the viewing area 202. When the zoom-in button 204 or the zoom-out button 206 is activated, the web service 112 may use digital zoom to magnify by cropping the image and up-sampling the cropped portion. In an alternate embodiment, the web service 112 may send a command signal to the respective camera to perform optical zoom to magnify the video using lenses of the camera.
A record button 208 allows the users 114 and 116 to record the video. Further, a download button 210 may be used to download the recorded videos and a share button 212 may be used to share recorded videos on various social media platforms. The one or more servers 110 continuously prerecord a first predefined duration of the video data received from the camera 102. Therefore, at any given time, the one or more servers 110 have a recording of the video data received from the camera 102 in the first predefined duration before the given time For example, if the first predefined duration is 10 seconds, then, at any given time, the one or more servers 110 have a recording of the last 10 seconds of the video data received from the camera 102. Hereinafter, this prerecorded video is referred to as a first video. The first predefined duration of the video for each camera may be recorded and stored in one or both of the cameras 102-108 and the one or more servers 110. When the users 114 and 116 initiate recording of the video data stream received from the selected camera, the web service 112 starts recording a second predefined duration of the video to obtain a second video. Finally, the web service 112 adds the second video to the first video to obtain a third video.
In an exemplary embodiment, the first predefined duration may be defined as 30 seconds and the second predefined duration may be defined as 90 seconds. Therefore, the one or more servers 110 prerecord 30 seconds of real-time video data stream received from the camera 102 to obtain a first video. A user may view a live video from the camera 102 located on a beach. Then the user may activate the record button 216 to record any event captured on the camera 102, such as a shark near a beach. In response to the actuation of the record button 216, the web service 112 will start recording the second predefined duration of the video for 90 seconds to obtain a second video. Finally, the web service 112 will obtain the first video for 30 seconds from the cache and add it to the second video to obtain a third video of 120 seconds.
The interface 200 may further include an up button 214, a down button 216, a left button 218, and a right button 220, which when activated by the users 114 and 116 moves the viewpoint of the camera upward, downward, toward left side, and toward right side, respectively. Therefore, the buttons 218 and 220 help in panning the cameras 102-108 and the buttons 214 and 216 help in tilting the cameras 102-108. In another embodiment, the cameras 102-108 may be controlled by using a mouse, a joystick or a touch pad. This has been explained in detail in conjunction with
Further, the web service 112 includes a security layer that helps in the authentication mechanism. It may also provide data security, data integrity and data confidentiality services. For example, the security layer may allow users to restrict the zoom areas or movements (pan/tilt) areas when they add a new camera to the camera network 100. Users may restrict zoom areas or movement areas for privacy concerns. For example, a PTZ camera located in a hotel may be restricted such that it does not zoom in on a view that shows swimming pool. Certain PTZ camera systems are capable of restricting the viewing area. The security layer enables similar capability for other cameras. Further, the security layer may restrict access to a camera such that users need security information to perform at least one of the following: viewing the video, controlling the camera, recording videos, and sharing videos.
The web service 112 also maintains user accounts for the users 116 and 118 accessing the web service 112. The user accounts may contain personal information of the users including name, address, and email. Further, the user account of each user contains information about the amount of virtual currency (denoted by “ozos”) present in the user account. Virtual currency is electronic money that may be used to purchase paid services available on the web service 112. Therefore, the user account may be debited by a predetermined amount of ozos, when the paid services are used by the users 114 and 116. The ozos may also be purchased on the web service 112 by paying real currency. Further, the amount of remaining ozos gets continuously updated as per user activity. The information about the user activity may be stored in a database on the one or more servers 110. This is explained in detail in conjunction with
At step 308, while viewing the video, the user 114 activates the record button 208 to record a live event. However, by the time the user 114 activates the record button 208, the moment he was hoping to record may have gone by and the user may not be able to record the event. Therefore, the web service 112 keeps on prerecording a first predefined duration of the video from the camera 102 in a cache. The cache may be located in the camera 102 or the one or more servers 110. Further, a second predefined duration of the video is recorded, after the user 114 initiates recording. Finally, the web service combines the first predefined duration of the video before the second predefined duration of the video to obtain a complete third video at step 310. Thereafter, at step 312, the user may download the recorded video. The user may then share the recorded video on any social media platform at step 314.
The one or more servers 410 form a relay network that attaches to each camera 402-408 as a single client. The relay network pulls in one feed from each of the cameras 402-408 and then allows an unlimited number of users to access the video. The relay network requires low minimum upstream bandwidth, which reduces infrastructure costs and outages. Further, the relay network supports different camera drivers. Each camera in the plurality of cameras 402-408 may be of a different make, and therefore, may have drivers that have different specifics in the structure, protocol, format, meta data (such as geo location), and presets. For example, the camera 402 is made by Sony, the camera 404 is made by Panasonic, and the camera 406 is made by Axis. The relay network also manages video transcoding, instant camera controls, image quality management, and branding and security of the video feed.
The camera owners may connect their cameras to the relay network to provide live videos to their customers. The relay network service provider may offer metered billing plans such that camera owners pay for the used resources only. Moreover, the relay network provides improved security by eliminating unauthorized camera access. The Camera IP address also remains private, which provides additional security against hackers. The camera owners may remotely control the setting of their accounts, including viewing real-time online viewer and bandwidth usage statistics.
The web service 412 delivers the same user experience across multiple delivery solutions, including the desktop computer 414, the tablet 416, the smartphone 418, or the API 420. The web service 412 provides a transparent delivery to the user, without changing the universal player experience. For example, the web service 412 may use H.264 compression for all the HD videos. The web service 412 outputs transcoded Flash-based video, which is accessed by users using a flash movie player. Therefore, users need not install any plug-ins to view the videos. The player is compatible with any standard web-browsers PC or MAC and mobile devices. The web service 412 also supports user controlled Pan, Tilt, Zoom, and fixed IP cameras.
Further, the web service 412 includes one or more video channels. A video channel streams video data received from a specific camera based on predefined schedule. The relay network service provider may specify time schedules for different cameras. Moreover, the users may switch the camera to a different camera or an on-demand/prerecorded video loop or static image or a slideshow.
Further, the user 114 may spend ozos to get access to the paid features of the web service 112. For example, the user 114 may use paid features to extend the duration of recording video.
Web service 112 may also give detailed live weather information about the location. Weather information may include temperature, humidity, precipitation, and wind speed. For example, a camera 102 may be located on a beach and a user 114 may want to go surfing. The user 114 may check the web service 112 for weather information on the beach before leaving home.
The present disclosure may be used by business owners to boost the attractiveness of any website by adding live video to capture the visitor's attention. Further, specific business, such as tourism, may show live-streaming images from tourist resorts on a website. In addition, construction industry may use the disclosed technology to view construction activity in real time.
It will be appreciated that several of the above disclosed and other features and functions, or alternatives thereof, may be desirably combined into many other different systems or applications. Various presently unforeseen or unanticipated alternatives, modifications, variations, or improvements therein may be subsequently made by those skilled in the art, which are also intended to be encompassed by the following claims.