
Recherche avancée
Autres articles (15)
-
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
Organiser par catégorie
17 mai 2013, parDans MédiaSPIP, une rubrique a 2 noms : catégorie et rubrique.
Les différents documents stockés dans MédiaSPIP peuvent être rangés dans différentes catégories. On peut créer une catégorie en cliquant sur "publier une catégorie" dans le menu publier en haut à droite ( après authentification ). Une catégorie peut être rangée dans une autre catégorie aussi ce qui fait qu’on peut construire une arborescence de catégories.
Lors de la publication prochaine d’un document, la nouvelle catégorie créée sera proposée (...) -
Les thèmes de MediaSpip
4 juin 20133 thèmes sont proposés à l’origine par MédiaSPIP. L’utilisateur MédiaSPIP peut rajouter des thèmes selon ses besoins.
Thèmes MediaSPIP
3 thèmes ont été développés au départ pour MediaSPIP : * SPIPeo : thème par défaut de MédiaSPIP. Il met en avant la présentation du site et les documents média les plus récents ( le type de tri peut être modifié - titre, popularité, date) . * Arscenic : il s’agit du thème utilisé sur le site officiel du projet, constitué notamment d’un bandeau rouge en début de page. La structure (...)
Sur d’autres sites (4357)
-
Capturing video over USB/HDMI/Thunderbolt
12 novembre 2016, par YatkoLooking for a solution for capturing video over USB/HDMI/Thunderbolt from a digital output (e.g. digital camera) to a computer, Mac and/or Windows.
The goal is to have an URL to a real-time video stream (e.g. IP/PATH/ ?.mp4) that we can further process/transcode/send to a media server.
I’m looking for tips and ideas -similar to the method below-, maybe someone met a new project that’s focusing on capture-cards and devices, that does’n need a custom FFmpeg build. Something different.
- we can capture the HDMI stream form a GoPro, using a Blackmagic Intensity Shuttle and DeckLink SDK with custom FFmpeg build using
--extra-cflags and --extra-ldflags
and the rest is straightforward
Is there any tool, open-source project, something that’s made for this purpose ? Maybe something that also supports the Elgato Game Capture HD60 as well ? Any experimental projects for capturing and processing the incoming video over USB/HDMI/Thunderbolt ?
The ultimate goal is live streaming to Wowza, using Cameleon live and a Sony Alpha a7S.
- we can capture the HDMI stream form a GoPro, using a Blackmagic Intensity Shuttle and DeckLink SDK with custom FFmpeg build using
-
Java - Stream OpenGL Display to Android
24 octobre 2016, par IntektorI tried to solve this problem for days now, but I couldn’t find a working solution. I am trying to stream my game screen (lwjgl) to my android smartphone(I have a frame buffer with the texture), and I already built a fully working packet system and all that stuff. But there are several problem I have no idea how to solve them, first of all, I don’t know in which format I should send the frame buffer, e.g I can’t send it as a Buffered Image, because it doesn’t exist on android. I tried using the jcodec library, but there is no documentation for it, and I didn’t find any examples that fit my case. I think I have to encode and decode it with h264 to make it a realtime live stream(that’s very important). I also heard about ffmpeg (and I found a java library for it : https://github.com/bramp/ffmpeg-cli-wrapper) but there is again no documentation for how to use it to stream it to my mobile. Also I have the problem, that when would get the frames to my smartphone, how can I make them load by the graphics card
Here is what I have done so far :
My packet :public class ImagePacketToClient implements Packet {
public byte[] jpgInfo;
public int width;
public int height;
BufferedImage image;
public ImagePacketToClient() {
}
public ImagePacketToClient(BufferedImage image, int width, int height) {
this.image = image;
this.width = width;
this.height = height;
}
@Override
public void write(DataOutputStream out) throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(image, "jpg", baos);
baos.flush();
byte[] bytes = baos.toByteArray();
baos.close();
out.writeInt(bytes.length);
for (byte aByte : bytes) {
out.writeInt(aByte);
}
}
@Override
public void read(DataInputStream in) throws IOException {
int length = in.readInt();
jpgInfo = new byte[length];
for (int i = 0; i < length; i++) {
jpgInfo[i] = in.readByte();
}
}The code that gets called after the rendering has finished : mc.framebuffer is the frame buffer I can use :
ScaledResolution resolution = new ScaledResolution(mc);
BufferedImage screenshot = ScreenShotHelper.createScreenshot(resolution.getScaledWidth(), resolution.getScaledHeight(), mc.getFramebuffer());
ImagePacketToClient packet = new ImagePacketToClient(screenshot, screenshot.getWidth(), screenshot.getHeight());
PacketHelper.sendPacket(packet, CardboardMod.communicator.connectedSocket);
screenshot.flush();
public static BufferedImage createScreenshot(int width, int height, Framebuffer framebufferIn)
{
if (OpenGlHelper.isFramebufferEnabled())
{
width = framebufferIn.framebufferTextureWidth;
height = framebufferIn.framebufferTextureHeight;
}
int i = width * height;
if (pixelBuffer == null || pixelBuffer.capacity() < i)
{
pixelBuffer = BufferUtils.createIntBuffer(i);
pixelValues = new int[i];
}
GlStateManager.glPixelStorei(3333, 1);
GlStateManager.glPixelStorei(3317, 1);
pixelBuffer.clear();
if (OpenGlHelper.isFramebufferEnabled())
{
GlStateManager.bindTexture(framebufferIn.framebufferTexture);
GlStateManager.glGetTexImage(3553, 0, 32993, 33639, pixelBuffer);
}
else
{
GlStateManager.glReadPixels(0, 0, width, height, 32993, 33639, pixelBuffer);
}
pixelBuffer.get(pixelValues);
TextureUtil.processPixelValues(pixelValues, width, height);
BufferedImage bufferedimage;
if (OpenGlHelper.isFramebufferEnabled())
{
bufferedimage = new BufferedImage(framebufferIn.framebufferWidth, framebufferIn.framebufferHeight, 1);
int j = framebufferIn.framebufferTextureHeight - framebufferIn.framebufferHeight;
for (int k = j; k < framebufferIn.framebufferTextureHeight; ++k)
{
for (int l = 0; l < framebufferIn.framebufferWidth; ++l)
{
bufferedimage.setRGB(l, k - j, pixelValues[k * framebufferIn.framebufferTextureWidth + l]);
}
}
}
else
{
bufferedimage = new BufferedImage(width, height, 1);
bufferedimage.setRGB(0, 0, width, height, pixelValues, 0, width);
}
return bufferedimage;
}Honestly I don’t want to use this Buffered Image Stuff, because it halfs my framerate, and that’s not good.
And I don’t have any code for my android application yet, because I couldn’t figure out how I could get this image recreated on Android, and how to load it after that.
I hope you understand my problem and I am happy about every tip you can give to me :) -
Dreamcast Track Sizes
1er mars 2015, par Multimedia Mike — Sega DreamcastI’ve been playing around with Sega Dreamcast discs lately. Not playing the games on the DC discs, of course, just studying their structure. To review, the Sega Dreamcast game console used special optical discs named GD-ROMs, where the GD stands for “gigadisc”. They are capable of holding about 1 gigabyte of data.
You know what’s weird about these discs ? Each one manages to actually store a gigabyte of data. Each disc has a CD portion and a GD portion. The CD portion occupies the first 45000 sectors and can be read in any standard CD drive. This area is divided between a brief data track and a brief (usually) audio track.
The GD region starts at sector 45000. Sometimes, it’s just one humongous data track that consumes the entire GD region. More often, however, the data track is split between the first track and the last track in the region and there are 1 or more audio tracks in between. But the weird thing is, the GD region is always full. I made a study of it (click for a larger, interactive graph) :
Some discs put special data or audio bonuses in the CD region for players to discover. But every disc manages to fill out the GD region. I checked up on a lot of those audio tracks that divide the GD data and they’re legitimate music tracks. So what’s the motivation ? Why would the data track be split in 2 pieces like that ?
I eventually realized that I probably answered this question in this blog post from 4 years ago. The read speed from the outside of an optical disc is higher than the inside of the same disc. When I inspect the outer data tracks of some of these discs, sure enough, there seem to be timing-sensitive multimedia FMV files living on the outer stretches.
One day, I’ll write a utility to take apart the split ISO-9660 filesystem offset from a weird sector.