mirror of https://github.com/OpenIPC/wiki.git
				
				
				
			
		
			
				
	
	
		
			75 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
| # OpenIPC Wiki
 | |
| [Table of Content](../README.md)
 | |
| 
 | |
| Majestic Streamer
 | |
| -----------------
 | |
| 
 | |
| ### Preamble
 | |
| 
 | |
| Majestic is a video streaming application, the heart of our firmware (in
 | |
| relation to camera/video surveillance functionality). Majestic is configurable
 | |
| via /etc/majestic.yaml file, and has many features/services enabled by default.
 | |
| Unneeded options can be switched off for better security and performance.
 | |
| 
 | |
| ### Camera related URLs in firmware
 | |
| 
 | |
| Majestic supports multiple audio, video and still image formats, and more.
 | |
| You can find the full list of available endpoints on [this page](https://openipc.org/majestic-endpoints).
 | |
| 
 | |
| The long JPEG control parameter did not fit into the example on the site and we publish it here:
 | |
| 
 | |
| `/image.jpg?width=640&height=360&qfactor=73&color2gray=1`
 | |
| 
 | |
| ### How to convert YUV image to a more common image format
 | |
| 
 | |
| Use `convert` command from ImageMagick software. Run it like this:
 | |
| ```
 | |
| convert -verbose -sampling-factor 4:2:0 -size 1920x1080 -depth 8 image.yuv image.png
 | |
| ```
 | |
| where `1920x1080` is the picture resolution of video0, and `.png` is the target
 | |
| image format.
 | |
| 
 | |
| ### How to play audio stream
 | |
| 
 | |
| Use [ffplay][ffplay] utility from [ffmpeg][ffmpeg] package.
 | |
| ```
 | |
| ffplay -ar 48000 -ac 1 -f s16le http://192.168.1.10/audio.pcm
 | |
| ffplay -ar 48000 -ac 1 -f alaw http://192.168.1.10/audio.alaw
 | |
| ffplay -ar 48000 -ac 1 -f mulaw http://192.168.1.10/audio.ulaw
 | |
| ffplay -ar 8000 -ac 1 -f alaw http://192.168.1.10/audio.g711a
 | |
| ```
 | |
| 
 | |
| ### How to create an audio file to play on camera's speaker over network
 | |
| 
 | |
| Using [sox][sox] program convert any source audio file to [PCM][pcm] 8kbps audio:
 | |
| ```
 | |
| sox speech.mp3 -t raw -r 8000 -e signed -b 16 -c 1 test.pcm
 | |
| ```
 | |
| 
 | |
| ### How to play audio file on camera's speaker over network
 | |
| 
 | |
| ```
 | |
| cat test.pcm | curl -v -u user:password -H "Content-Type: application/json" -X POST --data-binary @- http://192.168.1.10/play_audio
 | |
| ```
 | |
| 
 | |
| 
 | |
| [aac]: https://en.wikipedia.org/wiki/Advanced_Audio_Coding
 | |
| [alaw]: https://en.wikipedia.org/wiki/A-law_algorithm
 | |
| [dng]: https://en.wikipedia.org/wiki/Digital_Negative
 | |
| [g711]: https://en.wikipedia.org/wiki/G.711
 | |
| [heif]: https://en.wikipedia.org/wiki/High_Efficiency_Image_File_Format
 | |
| [hls]: https://en.wikipedia.org/wiki/HTTP_Live_Streaming
 | |
| [jpeg]: https://en.wikipedia.org/wiki/JPEG
 | |
| [mjpeg]: https://en.wikipedia.org/wiki/Motion_JPEG
 | |
| [mp3]: https://en.wikipedia.org/wiki/MP3
 | |
| [mp4]: https://en.wikipedia.org/wiki/MPEG-4_Part_14
 | |
| [opus]: https://en.wikipedia.org/wiki/Opus_(audio_format)
 | |
| [pcm]: https://en.wikipedia.org/wiki/Pulse-code_modulation
 | |
| [raw]: https://en.wikipedia.org/wiki/Raw_image_format
 | |
| [rtsp]: https://en.wikipedia.org/wiki/RTSP
 | |
| [ulaw]: https://en.wikipedia.org/wiki/%CE%9C-law_algorithm
 | |
| [yuv]: https://en.wikipedia.org/wiki/YUV
 | |
| [ffplay]: https://ffmpeg.org/ffplay.html
 | |
| [ffmpeg]: https://ffmpeg.org/
 | |
| [sox]: https://en.wikipedia.org/wiki/SoX
 |