Skip to content

warren-bank/Android-RTSP-IPCam-Viewer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Android app to watch RTSP and RTMP video streams; these formats are typical of inexpensive IP security cams.

Background

  • tinyCam PRO by Tiny Solutions LLC
    • is great
    • is the defacto standard for this kind of app
    • is inexpensive ($4 MSRP, occasionally $1 on sale)
    • cons:
      • none
        • this a personal quirk..
          • I prefer to not add Google account(s) to most of my Android devices
  • IP Cam Viewer by Robert Chou
    • has pretty good reviews
    • is the go-to free option for this kind of app
    • available variations:
      • limited functionality w/ ads
        • Basic
          • uses Google's in-app purchase to upgrade
        • Lite
          • uses an unlock code to upgrade
      • full functionality w/o ads
    • cons:
      • size of APK is over 25MB
      • requires a lot of permissions
      • most buttons/features are crippled
        • open a prompt to purchase pro license
      • basic functionality is (imho) not very impressive
  • there are no (good) open-source options

Goals

  • an extremely light-weight open-source app
    • minimal features
    • minimal UI
  • ability to add video streams
    • data structure:
      • required fields:
        • name
        • low-res video stream URL
      • optional fields:
        • high-res video stream URL
        • is enabled?
    • data import methods:
      • manual entry via dialog
      • import via text file (JSON format)
  • display of enabled video streams:
    • list view of low-res video streams
    • grid view of low-res video streams
      • number of columns is configurable
    • full-screen view of a single high-res video stream
      • (TBD) ability to zoom/pan
      • (TBD) ability to record to external SD card

Notes

  • minimum supported version of Android:
    • Android 4.1 Jelly Bean (API 16)
  • when videos are displayed in list/grid views:
    • Android status bar is visible
    • audio is disabled
    • video playback controls are disabled
  • when a video is displayed in full-screen view:
    • Android status bar is hidden
    • audio is enabled
    • video playback controls are enabled

Usage

  • activity: list of all video streams
    • action bar
      • icon: ic_add_video
        • click to add new video stream
      • overflow menu: Open List
        • display all enabled video streams in a single-column vertical list
      • overflow menu: Open Grid (2 col)
        • display all enabled video streams in a two-column grid
      • overflow menu: Open Grid (N col)
        • display a dialog to allow the user to specify the integer value of N
        • display all enabled video streams in a N-column grid
      • overflow menu: Read File
        • display a file chooser to allow the user to specify the path to a JSON file
        • parse the JSON to obtain an ordered list of new video streams
        • append the new video streams to the list of all video streams
      • overflow menu: Exit
        • exit the application
    • any video stream in the list
      • swipe (left or right) to remove
        • permanently deletes record of the video stream
      • drag (up or down) to change ordered position in list
        • modified order is persistent
      • click (single, short) on the checkbox to toggle: enabled
      • click (single, short) on the name to edit
  • activity: list of all enabled video streams
    • any video stream in the list
      • swipe (left or right) to remove
        • temporarily hides the video stream
        • its record is not altered
        • the video stream will be visible once again when the list is recreated
      • drag (up or down) to change ordered position in list
        • modified order is temporary
        • the order of records is not altered
        • the video stream will appear in its original ordered position once again when the list is recreated
      • click (single, long) to toggle: pause/play
      • click (single or double, short) to open in full-screen view
  • activity: grid of all enabled video streams
    • any video stream in the grid
      • click (single, long) to toggle: pause/play
      • click (single or double, short) to open in full-screen view
  • activity: full-screen view of a single video stream
    • video surface
      • click (single, short) to toggle: display of the video playback controls
        • which are automatically hidden after a brief timeout

Screenshots

MainActivity MainActivity MainActivity MainActivity FilePicker ListActivity GridActivity

GridActivity GridActivity VideoActivity

Credits

Legal

About

Android app to view RTSP and RTMP IP camera video streams.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages