Package sidplay.audio.xuggle
Klasse XuggleVideoDriver
java.lang.Object
sidplay.audio.xuggle.XuggleBase
sidplay.audio.xuggle.XuggleVideoDriver
- Alle implementierten Schnittstellen:
Consumer<VIC>,AudioDriver,VideoDriver
Create video.
Video possibilities (file, RTMP and HLS): /home/ken/.jsidplay2/jsidplay2.flv rtmp://localhost/live/test http://localhost:90/hls/test.m3u8 (provided by NGINX RTMP as HLS)The Kush Gauge: To find a decent bitrate simply multiply the target pixel count by the frame rate; then multiply the result by a factor of 1, 2 or 4, depending on the amount of motion in the video; and then multiply that result by 0.07 to get the bit rate in bps.
Video Coder Bit Rate: PAL low motion: 192 * 312 * 50,1246 * 1 * 0,07 = 210.186 PAL high motion: 192 * 312 * 50,1246 * 4 * 0,07 = 840.746 NTSC low motion: 192 * 312 * 59,83 * 1 * 0,07 = 250.884 NTSC high motion: 192 * 312 * 59,83 * 4 * 0,07 = 1.003.536
- Autor:
- ken
-
Verschachtelte Klassen - Übersicht
Von Klasse geerbte verschachtelte Klassen/Schnittstellen sidplay.audio.xuggle.XuggleBase
XuggleBase.VideoInfo -
Feldübersicht
FelderModifizierer und TypFeldBeschreibungprivate com.xuggle.xuggler.IStreamCoderprivate intprivate com.xuggle.xuggler.IContainerprivate EventSchedulerprivate com.xuggle.xuggler.video.IConverterprivate longprivate longprivate longprivate longprivate IntBufferprivate ByteBufferprivate static final intprivate intprivate intprivate int[]private intprivate doubleprivate BufferedImageprivate com.xuggle.xuggler.IStreamCoderVon Klasse geerbte Felder sidplay.audio.xuggle.XuggleBase
c64Font -
Konstruktorübersicht
Konstruktoren -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungvoidPropagates VIC pixel data for video drivers.
Pixels can be accessed using vic.getPALEmulation().getPixels() Note: Pixel format is ARGB and is updated frequently at a rate of screen refresh rate.buffer()Return the bytebuffer intended to hold the audio data.voidclose()Free the audio device.private voidconfigurePreset(com.xuggle.xuggler.IConfigurable configurable, String presetName) private com.xuggle.xuggler.IStreamCodercreateAudioCoder(IAudioSection audioSection, AudioConfig cfg) private com.xuggle.xuggler.IStreamCodercreateVideoCoder(IAudioSection audioSection, CPUClock cpuClock) protected abstract com.xuggle.xuggler.ICodec.IDprivate longprotected abstract SamplingRateprotected abstract Stringintintprotected abstract List<SamplingRate> protected abstract StringgetUrl(IAudioSection audioSection, String recordingFilename) protected abstract com.xuggle.xuggler.ICodec.IDprivate longbooleanvoidopen(IAudioSection audioSection, String recordingFilename, CPUClock cpuClock, EventScheduler context) Open audio interface.voidsetStatusText(String text) voidsetStatusTextX(int statusTextX) voidwrite()Write the complete contents of ByteBuffer to audio device.Von Klasse geerbte Methoden sidplay.audio.xuggle.XuggleBase
throwExceptionOnError, throwExceptionOnErrorVon Klasse geerbte Methoden java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitVon Schnittstelle geerbte Methoden sidplay.audio.AudioDriver
getExtension, lookup, pause
-
Felddetails
-
STATUS_TEXT_Y
private static final int STATUS_TEXT_Y- Siehe auch:
-
context
-
container
private com.xuggle.xuggler.IContainer container -
videoCoder
private com.xuggle.xuggler.IStreamCoder videoCoder -
audioCoder
private com.xuggle.xuggler.IStreamCoder audioCoder -
converter
private com.xuggle.xuggler.video.IConverter converter -
vicImage
-
pictureBuffer
-
statusTextPixels
private int[] statusTextPixels -
statusTextOffset
private int statusTextOffset -
statusTextX
private int statusTextX -
statusTextOverflow
private int statusTextOverflow -
frameNo
private long frameNo -
framesPerKeyFrames
private long framesPerKeyFrames -
firstAudioTimeStamp
private long firstAudioTimeStamp -
firstVideoTimeStamp
private long firstVideoTimeStamp -
ticksPerMicrosecond
private double ticksPerMicrosecond -
audioDelayInMs
private int audioDelayInMs -
sampleBuffer
-
-
Konstruktordetails
-
XuggleVideoDriver
public XuggleVideoDriver()
-
-
Methodendetails
-
open
public void open(IAudioSection audioSection, String recordingFilename, CPUClock cpuClock, EventScheduler context) throws IOException, LineUnavailableException, InterruptedException Beschreibung aus Schnittstelle kopiert:AudioDriverOpen audio interface.- Angegeben von:
openin SchnittstelleAudioDriver- Parameter:
audioSection- audio configurationrecordingFilename- name for a recordingcpuClock- CPU clockcontext- event context- Löst aus:
IOExceptionLineUnavailableExceptionInterruptedException
-
write
Beschreibung aus Schnittstelle kopiert:AudioDriverWrite the complete contents of ByteBuffer to audio device.- Angegeben von:
writein SchnittstelleAudioDriver- Löst aus:
InterruptedException
-
accept
Beschreibung aus Schnittstelle kopiert:VideoDriverPropagates VIC pixel data for video drivers.
Pixels can be accessed using vic.getPALEmulation().getPixels() Note: Pixel format is ARGB and is updated frequently at a rate of screen refresh rate.CPUClock.getScreenRefresh()- Angegeben von:
acceptin SchnittstelleConsumer<VIC>- Angegeben von:
acceptin SchnittstelleVideoDriver
-
close
public void close()Beschreibung aus Schnittstelle kopiert:AudioDriverFree the audio device. (Counterpart of open().)- Angegeben von:
closein SchnittstelleAudioDriver
-
buffer
Beschreibung aus Schnittstelle kopiert:AudioDriverReturn the bytebuffer intended to hold the audio data. The audio data is in interleaved format and has as many channels as given by the result of open(). Use putShort() to write 16-bit values. Don't call write() until you have filled the entire buffer with audio.- Angegeben von:
bufferin SchnittstelleAudioDriver- Gibt zurück:
- The buffer to write audio to.
-
isRecording
public boolean isRecording()- Angegeben von:
isRecordingin SchnittstelleAudioDriver- Gibt zurück:
- is this audio driver recording tunes?
-
setStatusText
-
getStatusTextOverflow
public int getStatusTextOverflow() -
getStatusTextX
public int getStatusTextX() -
setStatusTextX
public void setStatusTextX(int statusTextX) -
createVideoCoder
private com.xuggle.xuggler.IStreamCoder createVideoCoder(IAudioSection audioSection, CPUClock cpuClock) -
configurePreset
-
createAudioCoder
private com.xuggle.xuggler.IStreamCoder createAudioCoder(IAudioSection audioSection, AudioConfig cfg) -
getAudioTimeStamp
private long getAudioTimeStamp() -
getVideoTimeStamp
private long getVideoTimeStamp() -
getOutputFormatName
-
getSupportedSamplingRates
-
getDefaultSamplingRate
-
getVideoCodec
protected abstract com.xuggle.xuggler.ICodec.ID getVideoCodec() -
getAudioCodec
protected abstract com.xuggle.xuggler.ICodec.ID getAudioCodec() -
getUrl
-