本文整理汇总了Java中org.jcodec.containers.mp4.Brand类的典型用法代码示例。如果您正苦于以下问题:Java Brand类的具体用法?Java Brand怎么用?Java Brand使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Brand类属于org.jcodec.containers.mp4包,在下文中一共展示了Brand类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: SequenceEncoderMp4
import org.jcodec.containers.mp4.Brand; //导入依赖的package包/类
public SequenceEncoderMp4(File out)
throws IOException
{
super(out);
this.ch = NIOUtils.writableFileChannel(out);
// Muxer that will store the encoded frames
muxer = new MP4Muxer(ch, Brand.MP4);
// Add video track to muxer
outTrack = muxer.addTrack(TrackType.VIDEO, 5);
// Allocate a buffer big enough to hold output frames
_out = ByteBuffer.allocate(1920 * 1080 * 6);
// Create an instance of encoder
encoder = new H264Encoder();
// Transform to convert between RGB and YUV
transform = ColorUtil.getTransform(ColorSpace.RGB, encoder.getSupportedColorSpaces()[0]);
// Encoder extra data ( SPS, PPS ) to be stored in a special place of
// MP4
spsList = new ArrayList<ByteBuffer>();
ppsList = new ArrayList<ByteBuffer>();
}
开发者ID:hiliving,项目名称:P2Video-master,代码行数:27,代码来源:SequenceEncoderMp4.java
示例2: SequenceEncoderMp4
import org.jcodec.containers.mp4.Brand; //导入依赖的package包/类
public SequenceEncoderMp4(File out)
throws IOException
{
super(out);
this.ch = NIOUtils.writableFileChannel(out);
// Muxer that will store the encoded frames
muxer = new MP4Muxer(ch, Brand.MP4);
// Add video track to muxer
outTrack = muxer.addTrack(TrackType.VIDEO, timeScale);
// Allocate a buffer big enough to hold output frames
_out = ByteBuffer.allocate(1920 * 1080 * 6);
// Create an instance of encoder
encoder = new H264Encoder();
// Transform to convert between RGB and YUV
transform = ColorUtil.getTransform(ColorSpace.RGB, encoder.getSupportedColorSpaces()[0]);
// Encoder extra data ( SPS, PPS ) to be stored in a special place of
// MP4
spsList = new ArrayList<ByteBuffer>();
ppsList = new ArrayList<ByteBuffer>();
}
开发者ID:ynztlxdeai,项目名称:ImageToVideo,代码行数:27,代码来源:SequenceEncoderMp4.java
示例3: SequenceImagesEncoder
import org.jcodec.containers.mp4.Brand; //导入依赖的package包/类
public SequenceImagesEncoder(File out, int screenWidth, int screenHeight) throws IOException {
this.ch = NIOUtils.writableFileChannel(out);
// Transform to convert between RGB and YUV
transform = new RgbToYuv420(0, 0);
// Muxer that will store the encoded frames
muxer = new MP4Muxer(ch, Brand.MP4);
// Add video track to muxer
outTrack = muxer.addTrackForCompressed(TrackType.VIDEO, timescale);
// Allocate a buffer big enough to hold output frames
_out = ByteBuffer.allocate(screenWidth * screenHeight * 6);
// Create an instance of encoder
encoder = new H264Encoder();
// Encoder extra data ( SPS, PPS ) to be stored in a special place of
// MP4
spsList = new ArrayList<ByteBuffer>();
ppsList = new ArrayList<ByteBuffer>();
}
开发者ID:rafaelaaraujo,项目名称:Face-detect-framework,代码行数:25,代码来源:SequenceImagesEncoder.java
示例4: open
import org.jcodec.containers.mp4.Brand; //导入依赖的package包/类
@Override
public void open(String _path, int width, int _height, int _fps) throws IOException {
path = _path;
height = _height;
fps = _fps;
ch = new FileChannelWrapper(FileChannel.open(Paths.get(path), StandardOpenOption.CREATE, StandardOpenOption.WRITE, StandardOpenOption.TRUNCATE_EXISTING));
// Muxer that will store the encoded frames
muxer = new MP4Muxer(ch, Brand.MP4);
// Add video track to muxer
outTrack = muxer.addTrack(TrackType.VIDEO, fps);
// Allocate a buffer big enough to hold output frames
_out = ByteBuffer.allocateDirect(width * height * 6);
// Create an instance of encoder
encoder = new H264Encoder(new JCodecUtils.JHVRateControl(20));
// Encoder extra data ( SPS, PPS ) to be stored in a special place of MP4
spsList = new ArrayList<>();
ppsList = new ArrayList<>();
toEncode = Picture.create(width, height, ColorSpace.YUV420J);
}
开发者ID:Helioviewer-Project,项目名称:JHelioviewer-SWHV,代码行数:21,代码来源:JCodecExporter.java
示例5: SequenceEncoder
import org.jcodec.containers.mp4.Brand; //导入依赖的package包/类
public SequenceEncoder(File out, int frameRate) throws IOException {
this.ch = NIOUtils.writableFileChannel(out);
// Transform to convert between RGB and YUV
transform = new RgbToYuv420(0, 0);
// Muxer that will store the encoded frames
muxer = new MP4Muxer(ch, Brand.MP4);
// Add video track to muxer
outTrack = muxer.addTrackForCompressed(TrackType.VIDEO, frameRate);// original frmae rate is 25
// Allocate a buffer big enough to hold output frames
_out = ByteBuffer.allocate(1920 * 1080 * 6);
// Create an instance of encoder
encoder = new H264Encoder();
// Encoder extra data ( SPS, PPS ) to be stored in a special place of
// MP4
spsList = new ArrayList<ByteBuffer>();
ppsList = new ArrayList<ByteBuffer>();
}
开发者ID:deepakpk009,项目名称:JScreenRecorder,代码行数:25,代码来源:SequenceEncoder.java
示例6: SequenceEncoder
import org.jcodec.containers.mp4.Brand; //导入依赖的package包/类
public SequenceEncoder(File out) throws IOException {
this.ch = NIOUtils.writableFileChannel(out);
// Muxer that will store the encoded frames
muxer = new MP4Muxer(ch, Brand.MP4);
// Add video track to muxer
outTrack = muxer.addTrack(TrackType.VIDEO, 25);
// Allocate a buffer big enough to hold output frames
_out = ByteBuffer.allocate(1920 * 1080 * 6);
// Create an instance of encoder
encoder = new H264Encoder();
// Transform to convert between RGB and YUV
transform = ColorUtil.getTransform(ColorSpace.RGB, encoder.getSupportedColorSpaces()[0]);
// Encoder extra data ( SPS, PPS ) to be stored in a special place of
// MP4
spsList = new ArrayList<ByteBuffer>();
ppsList = new ArrayList<ByteBuffer>();
}
开发者ID:PenoaksDev,项目名称:OpenSpaceDVR,代码行数:25,代码来源:SequenceEncoder.java
示例7: ImageToH264MP4Encoder
import org.jcodec.containers.mp4.Brand; //导入依赖的package包/类
public ImageToH264MP4Encoder(SeekableByteChannel ch, AudioFormat af) throws IOException {
this.ch = ch;
this.af = af;
// Muxer that will store the encoded frames
muxer = new MP4Muxer(ch, Brand.MP4);
// Add video track to muxer
outTrack = muxer.addTrack(TrackType.VIDEO, 25);
// Create an instance of encoder
encoder = new H264Encoder();
// Transform to convert between RGB and YUV
transform = ColorUtil.getTransform(ColorSpace.RGB, encoder.getSupportedColorSpaces()[0]);
// Encoder extra data ( SPS, PPS ) to be stored in a special place of
// MP4
spsList = new ArrayList<ByteBuffer>();
ppsList = new ArrayList<ByteBuffer>();
if (af != null)
audioTrack = muxer.addPCMAudioTrack(af);
}
开发者ID:guardianproject,项目名称:CameraV,代码行数:25,代码来源:ImageToH264MP4Encoder.java
示例8: initalize
import org.jcodec.containers.mp4.Brand; //导入依赖的package包/类
/**
* Initalize a compress class
*
* @param fileHandle - resource to mpeg4 file
* @param width - video width
* @param height - video height
* @throws IOException
*/
public void initalize(File fileHandle, int width, int height) throws IOException{
this.width=width;
this.height=height;
ch=NIOUtils.writableFileChannel(fileHandle);
muxer=new MP4Muxer(ch, Brand.MP4);
outTrack=muxer.addTrackForCompressed(TrackType.VIDEO, frameRate);
outBuffer=ByteBuffer.allocate(width * height * 6);
transform=new RgbToYuv420(0, 0);
encoder=new H264Encoder();
spsList=new ArrayList<ByteBuffer>();
ppsList=new ArrayList<ByteBuffer>();
frameNo=0;
}
开发者ID:shadoq,项目名称:s3gdxcodec,代码行数:24,代码来源:PixmapEncoder.java
示例9: Encoder
import org.jcodec.containers.mp4.Brand; //导入依赖的package包/类
public Encoder(File out, int width, int height) throws IOException {
this.ch = NIOUtils.writableFileChannel(out);
_out = ByteBuffer.allocate(width * height * 6);
encoder = new H264Encoder();
spsList = new ArrayList<ByteBuffer>();
ppsList = new ArrayList<ByteBuffer>();
this.ch = NIOUtils.writableFileChannel(out);
muxer = new MP4Muxer(ch, Brand.MP4);
outTrack = muxer.addTrackForCompressed(TrackType.VIDEO, 25);
}
开发者ID:kamil-karkus,项目名称:EasySnap,代码行数:13,代码来源:Encoder.java
示例10: SequenceMuxer
import org.jcodec.containers.mp4.Brand; //导入依赖的package包/类
public SequenceMuxer(File out) throws IOException {
this.ch = NIOUtils.writableFileChannel(out);
// Muxer that will store the encoded frames
muxer = new MP4Muxer(ch, Brand.MP4);
// Add video track to muxer
outTrack = muxer.addTrack(TrackType.VIDEO, 25);
}
开发者ID:PenoaksDev,项目名称:OpenSpaceDVR,代码行数:10,代码来源:SequenceMuxer.java
示例11: MP4Muxer
import org.jcodec.containers.mp4.Brand; //导入依赖的package包/类
public MP4Muxer(SeekableByteChannel output) throws IOException {
this(output, Brand.MP4);
}
开发者ID:ihmcrobotics,项目名称:ihmc-video-codecs,代码行数:4,代码来源:MP4Muxer.java
示例12: remux
import org.jcodec.containers.mp4.Brand; //导入依赖的package包/类
public void remux(File tgt, File src, File timecode, Handler handler) throws IOException {
SeekableByteChannel input = null;
SeekableByteChannel output = null;
SeekableByteChannel tci = null;
try {
input = readableFileChannel(src);
output = writableFileChannel(tgt);
MP4Demuxer demuxer = new MP4Demuxer(input);
TimecodeMP4DemuxerTrack tt = null;
if (timecode != null) {
tci = readableFileChannel(src);
MP4Demuxer tcd = new MP4Demuxer(tci);
tt = tcd.getTimecodeTrack();
}
MP4Muxer muxer = WebOptimizedMP4Muxer.withOldHeader(output, Brand.MOV, demuxer.getMovie());
List<AbstractMP4DemuxerTrack> at = demuxer.getAudioTracks();
List<PCMMP4MuxerTrack> audioTracks = new ArrayList<PCMMP4MuxerTrack>();
for (AbstractMP4DemuxerTrack demuxerTrack : at) {
PCMMP4MuxerTrack att = muxer.addPCMAudioTrack(((AudioSampleEntry) demuxerTrack
.getSampleEntries()[0]).getFormat());
audioTracks.add(att);
att.setEdits(demuxerTrack.getEdits());
att.setName(demuxerTrack.getName());
}
AbstractMP4DemuxerTrack vt = demuxer.getVideoTrack();
FramesMP4MuxerTrack video = muxer.addTrack(VIDEO, (int) vt.getTimescale());
// vt.open(input);
video.setTimecode(muxer.addTimecodeTrack((int) vt.getTimescale()));
copyEdits(vt, video, new Rational((int)vt.getTimescale(), demuxer.getMovie().getTimescale()));
video.addSampleEntries(vt.getSampleEntries());
MP4Packet pkt = null;
while ((pkt = (MP4Packet)vt.nextFrame()) != null) {
if (tt != null)
pkt = tt.getTimecode(pkt);
pkt = processFrame(pkt);
video.addFrame(pkt);
for (int i = 0; i < at.size(); i++) {
AudioSampleEntry ase = (AudioSampleEntry) at.get(i).getSampleEntries()[0];
int frames = (int) (ase.getSampleRate() * pkt.getDuration() / vt.getTimescale());
MP4Packet apkt = (MP4Packet)at.get(i).nextFrame();
audioTracks.get(i).addSamples(apkt.getData());
}
}
MovieBox movie = muxer.finalizeHeader();
if (handler != null)
handler.handle(movie);
muxer.storeHeader(movie);
} finally {
NIOUtils.closeQuietly(input);
NIOUtils.closeQuietly(output);
NIOUtils.closeQuietly(tci);
}
}
开发者ID:PenoaksDev,项目名称:OpenSpaceDVR,代码行数:62,代码来源:Remux.java
示例13: VirtualMovie
import org.jcodec.containers.mp4.Brand; //导入依赖的package包/类
public VirtualMovie(VirtualTrack... tracks) throws IOException {
this(Brand.MP4, tracks);
}
开发者ID:PenoaksDev,项目名称:OpenSpaceDVR,代码行数:4,代码来源:VirtualMovie.java
示例14: ImageToMJPEGMOVMuxer
import org.jcodec.containers.mp4.Brand; //导入依赖的package包/类
public ImageToMJPEGMOVMuxer(SeekableByteChannel ch, AudioFormat af, int framesPerSecond) throws IOException {
this.ch = ch;
this.af = af;
this.framesPerSecond = framesPerSecond;
// Muxer that will store the encoded frames
muxer = new WebOptimizedMP4Muxer(ch, Brand.MP4, 4096*4);
// Add video track to muxer
videoTrack = muxer.addTrack(TrackType.VIDEO, framesPerSecond);
muxer.addTimecodeTrack(framesPerSecond);
videoTrack.setTgtChunkDuration(new Rational(3, 1), Unit.SEC);
if (af != null)
audioTrack = muxer.addPCMAudioTrack(af);
}
开发者ID:guardianproject,项目名称:CameraV,代码行数:21,代码来源:ImageToMJPEGMOVMuxer.java
注:本文中的org.jcodec.containers.mp4.Brand类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论