
Recherche avancée
Autres articles (41)
-
Installation en mode ferme
4 février 2011, parLe mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
C’est la méthode que nous utilisons sur cette même plateforme.
L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...) -
List of compatible distributions
26 avril 2011, parThe table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...) -
La sauvegarde automatique de canaux SPIP
1er avril 2010, parDans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...)
Sur d’autres sites (8513)
-
Merging audio(aac) and video (h.264 in mp4 container) into a mp4 container using Xuggler
26 août 2016, par HandroidHere is the code I am using
String filenamevideo = videoFilePath;(video.mp4)
String filenameaudio = audioAACFilePath; (audio.aac)
IMediaWriter mWriter = ToolFactory.makeWriter(videoWithAudioFilePath); // output
// file
IContainer containerVideo = IContainer.make();
IContainer containerAudio = IContainer.make();
if (containerVideo.open(filenamevideo, IContainer.Type.READ, null) < 0)
throw new IllegalArgumentException("Cant find " + filenamevideo);
if (containerAudio.open(filenameaudio, IContainer.Type.READ, null) < 0)
throw new IllegalArgumentException("Cant find " + filenameaudio);
int numStreamVideo = containerVideo.getNumStreams();
int numStreamAudio = containerAudio.getNumStreams();
int videostreamt = -1; // this is the video stream id
int audiostreamt = -1;
IStreamCoder videocoder = null;
for (int i = 0; i < numStreamVideo; i++) {
IStream stream = containerVideo.getStream(i);
IStreamCoder code = stream.getStreamCoder();
if (code.getCodecType() == ICodec.Type.CODEC_TYPE_VIDEO) {
videostreamt = i;
videocoder = code;
break;
}
}
for (int i = 0; i < numStreamAudio; i++) {
IStream stream = containerAudio.getStream(i);
IStreamCoder code = stream.getStreamCoder();
if (code.getCodecType() == ICodec.Type.CODEC_TYPE_AUDIO) {
audiostreamt = i;
break;
}
}
if (videostreamt == -1)
throw new RuntimeException("No video steam found");
if (audiostreamt == -1)
throw new RuntimeException("No audio steam found");
if (videocoder.open() < 0)
throw new RuntimeException("Cant open video coder");
IPacket packetvideo = IPacket.make();
IStreamCoder audioCoder = containerAudio.getStream(audiostreamt).getStreamCoder();
if (audioCoder.open() < 0)
throw new RuntimeException("Cant open audio coder");
mWriter.addAudioStream(0, 0, ICodec.ID.CODEC_ID_AAC, audioCoder.getChannels(),audioCoder.getSampleRate());
mWriter.addVideoStream(1, 0, ICodec.ID.CODEC_ID_H264, videocoder.getWidth(), videocoder.getHeight());
IPacket packetaudio = IPacket.make();
while (containerVideo.readNextPacket(packetvideo) >= 0 || containerAudio.readNextPacket(packetaudio) >= 0) {
if (packetvideo.getStreamIndex() == videostreamt) {
// video packet
IVideoPicture picture = IVideoPicture.make(videocoder.getPixelType(), videocoder.getWidth(),
videocoder.getHeight());
int offset = 0;
while (offset < packetvideo.getSize()) {
int bytesDecoded = videocoder.decodeVideo(picture, packetvideo, offset);
if (bytesDecoded < 0)
throw new RuntimeException("bytesDecoded not working");
offset += bytesDecoded;
if (picture.isComplete()) {
// System.out.println(picture.getPixelType());
mWriter.encodeVideo(1, picture);
}
}
}
if (packetaudio.getStreamIndex() == audiostreamt) {
// audio packet
IAudioSamples samples = IAudioSamples.make(512, audioCoder.getChannels(), IAudioSamples.Format.FMT_S32);
int offset = 0;
while (offset < packetaudio.getSize()) {
int bytesDecodedaudio = audioCoder.decodeAudio(samples, packetaudio, offset);
if (bytesDecodedaudio < 0)
throw new RuntimeException("could not detect audio");
offset += bytesDecodedaudio;
if (samples.isComplete()) {
mWriter.encodeAudio(0, samples);
}
}
}
}The output file (mp4) is generating , but unable to play it using (vlc) and in JavaFX scene media.
Please help me with the inputs on the above code I’m using it in a correct way (Or) help me with the possible solution for merging audio(aac) and video(h264) to mp4 container.
Thank in advance.
-
cv2.VideoCapture on python
27 décembre 2015, par pandasarebestI am running the following code :
import numpy as np
import cv2
import os
count = 0
cap = cv2.VideoCapture("/home/simon/PROJECT/real_data/00000020.mp4")
while not cap.isOpened():
cap = cv2.VideoCapture("./00000020.mp4")
cv2.waitKey(1000)
print "Wait for the header"
pos_frame = cap.get(cv2.cv.CV_CAP_PROP_POS_FRAMES)
while True:
flag, frame = cap.read()
if flag:
# The frame is ready and already captured
cv2.imshow('video', frame)
pos_frame = cap.get(cv2.cv.CV_CAP_PROP_POS_FRAMES)
print str(pos_frame)+" frames"
else:
# The next frame is not ready, so we try to read it again
cap.set(cv2.cv.CV_CAP_PROP_POS_FRAMES, pos_frame-1)
print "frame is not ready"
# It is better to wait for a while for the next frame to be ready
cv2.waitKey(1000)
if cv2.waitKey(10) & 0xFF == 27:
break
if cap.get(cv2.cv.CV_CAP_PROP_POS_FRAMES) == cap.get(cv2.cv.CV_CAP_PROP_FRAME_COUNT):
# If the number of captured frames is equal to the total number of frames,
# we stop
break
if ret == True:
frame = cv2.VideoCapture.grab()
frame = 'frame%d' % count
cv2.imwrite('frame%d.png', frame)
count += 1
else:
print 'stopped at' + count
breakAnd whenever I run it, it loops on the while not loop, printing "wait for header".
There is never an error code or anything like that either.I have tried to run it as a more simple piece of code, where it doesnt have all these checks, and again that doesn’t throw any errors.
I am attempting to run this code to open a video, and then save the frames as png files throughout the video.
Does anyone spot any particular problems with the code ?
Or alternatively does anyone know a piece of code that would do what i want more efficiently, as I have trawled through google searches and stack overflow a lot recently and haven’t found anythingThanks in advance
Panda -
Mixing audio(aac) and video (h.264 in mp4 container) and write to mp4 container using Xuggler
25 novembre 2015, par HandroidHere is the code I am using
String filenamevideo = videoFilePath;(video.mp4)
String filenameaudio = audioAACFilePath; (audio.aac)
IMediaWriter mWriter = ToolFactory.makeWriter(videoWithAudioFilePath); // output
// file
IContainer containerVideo = IContainer.make();
IContainer containerAudio = IContainer.make();
if (containerVideo.open(filenamevideo, IContainer.Type.READ, null) < 0)
throw new IllegalArgumentException("Cant find " + filenamevideo);
if (containerAudio.open(filenameaudio, IContainer.Type.READ, null) < 0)
throw new IllegalArgumentException("Cant find " + filenameaudio);
int numStreamVideo = containerVideo.getNumStreams();
int numStreamAudio = containerAudio.getNumStreams();
int videostreamt = -1; // this is the video stream id
int audiostreamt = -1;
IStreamCoder videocoder = null;
for (int i = 0; i < numStreamVideo; i++) {
IStream stream = containerVideo.getStream(i);
IStreamCoder code = stream.getStreamCoder();
if (code.getCodecType() == ICodec.Type.CODEC_TYPE_VIDEO) {
videostreamt = i;
videocoder = code;
break;
}
}
for (int i = 0; i < numStreamAudio; i++) {
IStream stream = containerAudio.getStream(i);
IStreamCoder code = stream.getStreamCoder();
if (code.getCodecType() == ICodec.Type.CODEC_TYPE_AUDIO) {
audiostreamt = i;
break;
}
}
if (videostreamt == -1)
throw new RuntimeException("No video steam found");
if (audiostreamt == -1)
throw new RuntimeException("No audio steam found");
if (videocoder.open() < 0)
throw new RuntimeException("Cant open video coder");
IPacket packetvideo = IPacket.make();
IStreamCoder audioCoder = containerAudio.getStream(audiostreamt).getStreamCoder();
if (audioCoder.open() < 0)
throw new RuntimeException("Cant open audio coder");
mWriter.addAudioStream(0, 0, ICodec.ID.CODEC_ID_AAC, audioCoder.getChannels(),audioCoder.getSampleRate());
mWriter.addVideoStream(1, 0, ICodec.ID.CODEC_ID_H264, videocoder.getWidth(), videocoder.getHeight());
IPacket packetaudio = IPacket.make();
while (containerVideo.readNextPacket(packetvideo) >= 0 || containerAudio.readNextPacket(packetaudio) >= 0) {
if (packetvideo.getStreamIndex() == videostreamt) {
// video packet
IVideoPicture picture = IVideoPicture.make(videocoder.getPixelType(), videocoder.getWidth(),
videocoder.getHeight());
int offset = 0;
while (offset < packetvideo.getSize()) {
int bytesDecoded = videocoder.decodeVideo(picture, packetvideo, offset);
if (bytesDecoded < 0)
throw new RuntimeException("bytesDecoded not working");
offset += bytesDecoded;
if (picture.isComplete()) {
// System.out.println(picture.getPixelType());
mWriter.encodeVideo(1, picture);
}
}
}
if (packetaudio.getStreamIndex() == audiostreamt) {
// audio packet
IAudioSamples samples = IAudioSamples.make(512, audioCoder.getChannels(), IAudioSamples.Format.FMT_S32);
int offset = 0;
while (offset < packetaudio.getSize()) {
int bytesDecodedaudio = audioCoder.decodeAudio(samples, packetaudio, offset);
if (bytesDecodedaudio < 0)
throw new RuntimeException("could not detect audio");
offset += bytesDecodedaudio;
if (samples.isComplete()) {
mWriter.encodeAudio(0, samples);
}
}
}
}The output file (mp4) is generating , but unable to play it using (vlc) and in JavaFX scene media.
Please help me with the inputs on the above code I’m using it in a correct way (Or) help me with the possible solution for mixing audio(aac) and video(h264) to mp4 container.
Thank in advance.