dmidecode -t typenumber
:: DMI table decoder
Type Information
--------------------------------------------
0 BIOS
1 System
2 Baseboard
3 Chassis
4 Processor
5 Memory Controller
6 Memory Module
7 Cache
8 Port Connector
9 System Slots
10 On Board Devices
11 OEM Strings
12 System Configuration Options
13 BIOS Language
14 Group Associations
15 System Event Log
16 Physical Memory Array
17 Memory Device
18 32-bit Memory Error
19 Memory Array Mapped Address
20 Memory Device Mapped Address
21 Built-in Pointing Device
22 Portable Battery
23 System Reset
24 Hardware Security
25 System Power Controls
26 Voltage Probe
27 Cooling Device
28 Temperature Probe
29 Electrical Current Probe
30 Out-of-band Remote Access
31 Boot Integrity Services
32 System Boot
33 64-bit Memory Error
34 Management Device
35 Management Device Component
36 Management Device Threshold Data
37 Memory Channel
38 IPMI Device
39 Power Supply
40 Additional Information
41 Onboard Devices Extended Information
42 Management Controller Host Interface
2015년 7월 30일 목요일
2015년 7월 21일 화요일
simple rtsp by ffmpeg
vi /etc/ffserver.conf
HTTPPort 7000
RTSPPort 7001
BindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 1000
<Feed test.ffm>
File /tmp/test.ffm
FileMaxSize 1M
</Feed>
<Stream test.h264>
Feed test.ffm
Format rtp
VideoSize 640x480
VideoFrameRate 5
#VideoBitrate 800
#VideoBufferSize 40
#VideoCodec libx264
NoAudio
MulticastAddress 239.255.0.1
MulticastPort 20001
MulticastTTL 4
Metadata title "test"
</Stream>
<Stream test.rtsp>
Feed test.ffm
Format rtp
VideoSize 640x480
NoAudio
Metadata title "test"
</Stream>
<Stream stat.html>
Format status
ACL allow 192.168.0.0 192.168.0.255
</Stream>
## rtsp start
ffserver
## input
ffmpeg -re -i ./source.mp4 -vcodec copy -acodec copy http://rtspip:7000/test.ffm
## recv renderring
rtsp://rtspip:7001/test.rtsp
## status check
http://rtspip:7000/stat.html
## ffmpeg info
ffserver version git-2015-05-25-e48a9ac Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-11)
configuration: --prefix=/root/ffmpeg_build --extra-cflags=-I/root/ffmpeg_build/include --extra-ldflags=-L/root/ffmpeg_build/lib --bindir=/root/bin --pkg-config-flags=--static --enable-gpl --enable-nonfree --enable-libfreetype --enable-libx264
libavutil 54. 23.101 / 54. 23.101
libavcodec 56. 40.100 / 56. 40.100
libavformat 56. 33.101 / 56. 33.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 16.101 / 5. 16.101
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
HTTPPort 7000
RTSPPort 7001
BindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 1000
<Feed test.ffm>
File /tmp/test.ffm
FileMaxSize 1M
</Feed>
<Stream test.h264>
Feed test.ffm
Format rtp
VideoSize 640x480
VideoFrameRate 5
#VideoBitrate 800
#VideoBufferSize 40
#VideoCodec libx264
NoAudio
MulticastAddress 239.255.0.1
MulticastPort 20001
MulticastTTL 4
Metadata title "test"
</Stream>
<Stream test.rtsp>
Feed test.ffm
Format rtp
VideoSize 640x480
NoAudio
Metadata title "test"
</Stream>
<Stream stat.html>
Format status
ACL allow 192.168.0.0 192.168.0.255
</Stream>
## rtsp start
ffserver
## input
ffmpeg -re -i ./source.mp4 -vcodec copy -acodec copy http://rtspip:7000/test.ffm
## recv renderring
rtsp://rtspip:7001/test.rtsp
## status check
http://rtspip:7000/stat.html
## ffmpeg info
ffserver version git-2015-05-25-e48a9ac Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-11)
configuration: --prefix=/root/ffmpeg_build --extra-cflags=-I/root/ffmpeg_build/include --extra-ldflags=-L/root/ffmpeg_build/lib --bindir=/root/bin --pkg-config-flags=--static --enable-gpl --enable-nonfree --enable-libfreetype --enable-libx264
libavutil 54. 23.101 / 54. 23.101
libavcodec 56. 40.100 / 56. 40.100
libavformat 56. 33.101 / 56. 33.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 16.101 / 5. 16.101
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
audio capture & udp send by cscore
public class AudioCapture
{
public enum CaptureMode
{
Capture,
LoopbackCapture
}
private const CaptureMode captureMode = CaptureMode.LoopbackCapture;
private MMDevice _selectedDevice;
private WasapiCapture _soundIn;
private IWaveSource _finalSource;
private bool bCapturedStop = false;
private const int AUDIOBLOCKSIZE = 3528;
public MMDevice SelectedDevice
{
get { return _selectedDevice; }
set
{
_selectedDevice = value;
}
}
private AudioSender audioSender = new AudioSender();
public bool AudioDeviceInit()
{
bool bRtn = false;
try
{
using (var deviceEnumerator = new MMDeviceEnumerator())
using (var deviceCollection = deviceEnumerator.EnumAudioEndpoints(
captureMode == CaptureMode.Capture ? DataFlow.Capture : DataFlow.Render, DeviceState.Active))
{
foreach (var device in deviceCollection)
{
var deviceFormat = WaveFormatFromBlob(device.PropertyStore[
new PropertyKey(new Guid(0xf19f064d, 0x82c, 0x4e27, 0xbc, 0x73, 0x68, 0x82, 0xa1, 0xbb, 0x8e, 0x4c), 0)].BlobValue);
_selectedDevice = device;
bRtn = true;
}
}
}
catch (Exception e)
{
K_BoxLog.LogDebug(e);
}
return bRtn;
}
public bool AudioCaptureStart(string serverip)
{
bool bRtn = false;
try
{
if (SelectedDevice == null)
{
return false;
}
if (AudioSender.connected == false)
audioSender.AudioSendConnect(serverip);
if (captureMode == CaptureMode.Capture)
_soundIn = new WasapiCapture();
else
_soundIn = new WasapiLoopbackCapture();
_soundIn.Device = SelectedDevice;
_soundIn.Initialize();
var soundInSource = new SoundInSource(_soundIn, AUDIOBLOCKSIZE * 4);
var singleBlockNotificationStream = new SimpleNotificationSource(soundInSource);
_finalSource = singleBlockNotificationStream
.ToWaveSource(16);
byte[] buffer = new byte[AUDIOBLOCKSIZE * 2];
soundInSource.DataAvailable += (s, e) =>
{
int read;
while ((read = _finalSource.Read(buffer, 0, buffer.Length)) > 0)
{
audioSender.AudioSend(buffer, read);
}
};
_soundIn.Start();
bRtn = true;
}
catch { }
return bRtn;
}
private void SingleBlockNotificationStreamOnSingleBlockRead(object sender, SingleBlockReadEventArgs e)
{
}
public bool AudioCaptureStop()
{
bool bRtn = false;
try
{
if (AudioSender.connected == true)
audioSender.AudioSendDisconnect();
_soundIn.Stop();
bRtn = false;
}
catch { }
return bRtn;
}
private static WaveFormat WaveFormatFromBlob(Blob blob)
{
if (blob.Length == 40)
return (WaveFormat)Marshal.PtrToStructure(blob.Data, typeof(WaveFormatExtensible));
return (WaveFormat)Marshal.PtrToStructure(blob.Data, typeof(WaveFormat));
}
}
{
public enum CaptureMode
{
Capture,
LoopbackCapture
}
private const CaptureMode captureMode = CaptureMode.LoopbackCapture;
private MMDevice _selectedDevice;
private WasapiCapture _soundIn;
private IWaveSource _finalSource;
private bool bCapturedStop = false;
private const int AUDIOBLOCKSIZE = 3528;
public MMDevice SelectedDevice
{
get { return _selectedDevice; }
set
{
_selectedDevice = value;
}
}
private AudioSender audioSender = new AudioSender();
public bool AudioDeviceInit()
{
bool bRtn = false;
try
{
using (var deviceEnumerator = new MMDeviceEnumerator())
using (var deviceCollection = deviceEnumerator.EnumAudioEndpoints(
captureMode == CaptureMode.Capture ? DataFlow.Capture : DataFlow.Render, DeviceState.Active))
{
foreach (var device in deviceCollection)
{
var deviceFormat = WaveFormatFromBlob(device.PropertyStore[
new PropertyKey(new Guid(0xf19f064d, 0x82c, 0x4e27, 0xbc, 0x73, 0x68, 0x82, 0xa1, 0xbb, 0x8e, 0x4c), 0)].BlobValue);
_selectedDevice = device;
bRtn = true;
}
}
}
catch (Exception e)
{
K_BoxLog.LogDebug(e);
}
return bRtn;
}
public bool AudioCaptureStart(string serverip)
{
bool bRtn = false;
try
{
if (SelectedDevice == null)
{
return false;
}
if (AudioSender.connected == false)
audioSender.AudioSendConnect(serverip);
if (captureMode == CaptureMode.Capture)
_soundIn = new WasapiCapture();
else
_soundIn = new WasapiLoopbackCapture();
_soundIn.Device = SelectedDevice;
_soundIn.Initialize();
var soundInSource = new SoundInSource(_soundIn, AUDIOBLOCKSIZE * 4);
var singleBlockNotificationStream = new SimpleNotificationSource(soundInSource);
_finalSource = singleBlockNotificationStream
.ToWaveSource(16);
byte[] buffer = new byte[AUDIOBLOCKSIZE * 2];
soundInSource.DataAvailable += (s, e) =>
{
int read;
while ((read = _finalSource.Read(buffer, 0, buffer.Length)) > 0)
{
audioSender.AudioSend(buffer, read);
}
};
_soundIn.Start();
bRtn = true;
}
catch { }
return bRtn;
}
private void SingleBlockNotificationStreamOnSingleBlockRead(object sender, SingleBlockReadEventArgs e)
{
}
public bool AudioCaptureStop()
{
bool bRtn = false;
try
{
if (AudioSender.connected == true)
audioSender.AudioSendDisconnect();
_soundIn.Stop();
bRtn = false;
}
catch { }
return bRtn;
}
private static WaveFormat WaveFormatFromBlob(Blob blob)
{
if (blob.Length == 40)
return (WaveFormat)Marshal.PtrToStructure(blob.Data, typeof(WaveFormatExtensible));
return (WaveFormat)Marshal.PtrToStructure(blob.Data, typeof(WaveFormat));
}
}
2015년 7월 20일 월요일
windows icons
Control Box 16x16x256
Taskbar 16x16x256
Notify Icon 32x32x256, shrunk down (see below)
Desktop Shortcut 32x32x256 (Normal sized icons)
48x48x256 (Large sized icons)
Add/Remove Programs 16x16x256
Folder Browse dialog 16x16x256
Taskbar 16x16x256
Notify Icon 32x32x256, shrunk down (see below)
Desktop Shortcut 32x32x256 (Normal sized icons)
48x48x256 (Large sized icons)
Add/Remove Programs 16x16x256
Folder Browse dialog 16x16x256
2015년 7월 16일 목요일
2015년 7월 14일 화요일
redmine install
ref : http://www.redmine.org/projects/redmine/wiki/install_Redmine_25x_on_Centos_65_complete
http://gen.jusz.pl/2014/04/19/how-to-install-redmine-2-5-on-centos-6-5/
keypoint :
rvm list
rvm list knwon
rvm install 2.1
rvm use 2.1.x --default
current redmine :
Environment:
Redmine version 2.5.0.stable
Ruby version 2.1.6-p336 (2015-04-13) [x86_64-linux]
Rails version 3.2.17
Environment production
Database adapter Mysql2
SCM:
Subversion 1.6.11
Mercurial 1.4
Git 1.7.1
Filesystem
Redmine plugins:
redmine_agile 1.3.9
http://gen.jusz.pl/2014/04/19/how-to-install-redmine-2-5-on-centos-6-5/
keypoint :
rvm list
rvm list knwon
rvm install 2.1
rvm use 2.1.x --default
current redmine :
Environment:
Redmine version 2.5.0.stable
Ruby version 2.1.6-p336 (2015-04-13) [x86_64-linux]
Rails version 3.2.17
Environment production
Database adapter Mysql2
SCM:
Subversion 1.6.11
Mercurial 1.4
Git 1.7.1
Filesystem
Redmine plugins:
redmine_agile 1.3.9
피드 구독하기:
글 (Atom)