
Recherche avancée
Médias (9)
-
Stereo master soundtrack
17 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Audio
-
Elephants Dream - Cover of the soundtrack
17 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Image
-
#7 Ambience
16 octobre 2011, par
Mis à jour : Juin 2015
Langue : English
Type : Audio
-
#6 Teaser Music
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#5 End Title
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
-
#3 The Safest Place
16 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Audio
Autres articles (39)
-
Mise à jour de la version 0.1 vers 0.2
24 juin 2013, parExplications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...) -
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...)
Sur d’autres sites (7369)
-
gstreamer : Internal data error, in appsink "pull-sample" mode
9 mai 2018, par Amir RazaI am getting Internal data error, in appsink .
My application is to read .yuv data , encode and write to a buffer.I have accomplished the writing it file but when i changed the code to write it buffer it giving error.
Its only able to write only single packet (188bytes).Output of program :
(ConsoleApplication6.exe:14432): GStreamer-WARNING **: Failed to load plugin 'C:\gstreamer\1.0\x86_64\lib\gstreamer-1.0\libgstopenh264.dll': 'C:\gstreamer\1.0\x86_64\lib\gstreamer-1.0\libgstopenh264.dll': The specified procedure could not be found.
pipeline: filesrc location=Transformers1080p.yuv blocksize=4147200 ! videoparse width=1920 height=1080 framerate=60/1 ! videoconvert ! video/x-raw,format=I420,width=1920,height=1080,framerate=60/1 ! x264enc ! mpegtsmux ! queue ! appsink name = sink
Now playing: Transformers1080p.yuv
Running...
on_new_sample_from_sink
sample got of size = 188
Error: Internal data stream error.
Returned, stopping playback
Deleting pipelinemy code :
#define _CRT_SECURE_NO_WARNINGS 1
//#pragma warning(disable:4996)
#include <gst></gst>gst.h>
#include <gst></gst>audio/audio.h>
#include <gst></gst>app/gstappsrc.h>
#include <gst></gst>base/gstpushsrc.h>
#include <gst></gst>app/gstappsink.h>
#include <gst></gst>video/video.h>
#include <gst></gst>video/gstvideometa.h>
#include <gst></gst>video/video-overlay-composition.h>
#include
#include
#include
#include
using namespace std;
GstElement *SinkBuff;
char *out_file_path;
FILE *out_file;
//gst-launch-1.0.exe -v filesrc location=Transformers1080p.yuv blocksize=4147200 !
//videoconvert ! video/x-raw,format=I420,width=1920,height=1080,framerate=60/1 !
//openh264enc ! mpegtsmux ! filesink location=final.ts
static gboolean bus_call(GstBus *bus, GstMessage *msg, gpointer data)
{
GMainLoop *loop = (GMainLoop *)data;
switch (GST_MESSAGE_TYPE(msg))
{
case GST_MESSAGE_EOS:
g_print("End of stream\n");
g_main_loop_quit(loop);
break;
case GST_MESSAGE_ERROR:
{
gchar *debug;
GError *error;
gst_message_parse_error(msg, &error, &debug);
g_free(debug);
g_printerr("Error: %s\n", error->message);
g_error_free(error);
g_main_loop_quit(loop);
break;
}
default:
break;
}
return TRUE;
}
/* called when the appsink notifies us that there is a new buffer ready for
* processing */
static void on_new_sample_from_sink(GstElement * elt, void *ptr)
{
guint size;
GstBuffer *app_buffer, *buffer;
GstElement *source;
GstMapInfo map = { 0 };
GstSample *sample;
static GstClockTime timestamp = 0;
printf("\n on_new_sample_from_sink \n ");
/* get the buffer from appsink */
g_signal_emit_by_name(SinkBuff, "pull-sample", &sample, NULL);
if (sample)
{
buffer = gst_sample_get_buffer(sample);
gst_buffer_map(buffer, &map, GST_MAP_READ);
printf("\n sample got of size = %d \n", map.size);
//Buffer
fwrite((char *)map.data, 1, sizeof(map.size), out_file);
gst_buffer_unmap(buffer, &map);
gst_sample_unref(sample);
}
}
int main(int argc, char *argv[])
{
GMainLoop *loop;
int width, height;
GstElement *pipeline;
GError *error = NULL;
GstBus *bus;
char pipeline_desc[1024];
out_file = fopen("output.ts", "wb");
/* Initialisation */
gst_init(&argc, &argv);
// Create gstreamer loop
loop = g_main_loop_new(NULL, FALSE);
sprintf(
pipeline_desc,
" filesrc location=Transformers1080p.yuv blocksize=4147200 !"
" videoparse width=1920 height=1080 framerate=60/1 !"
" videoconvert ! video/x-raw,format=I420,width=1920,height=1080,framerate=60/1 ! "
//" x264enc ! mpegtsmux ! filesink location=final.ts");
" x264enc ! mpegtsmux ! queue ! appsink name = sink");
printf("pipeline: %s\n", pipeline_desc);
/* Create gstreamer elements */
pipeline = gst_parse_launch(pipeline_desc, &error);
/* TODO: Handle recoverable errors. */
if (!pipeline) {
g_printerr("Pipeline could not be created. Exiting.\n");
return -1;
}
/* get sink */
SinkBuff = gst_bin_get_by_name(GST_BIN(pipeline), "sink");
g_object_set(G_OBJECT(SinkBuff), "emit-signals", TRUE, "sync", FALSE, NULL);
g_signal_connect(SinkBuff, "new-sample", G_CALLBACK(on_new_sample_from_sink), NULL);
/* Set up the pipeline */
/* we add a message handler */
bus = gst_pipeline_get_bus(GST_PIPELINE(pipeline));
gst_bus_add_watch(bus, bus_call, loop);
gst_object_unref(bus);
/* Set the pipeline to "playing" state*/
g_print("Now playing: Transformers1080p.yuv \n");
gst_element_set_state(pipeline, GST_STATE_PLAYING);
/* Iterate */
g_print("Running...\n");
g_main_loop_run(loop);
/* Out of the main loop, clean up nicely */
g_print("Returned, stopping playback\n");
gst_element_set_state(pipeline, GST_STATE_NULL);
g_print("Deleting pipeline\n");
gst_object_unref(GST_OBJECT(pipeline));
fclose(out_file);
g_main_loop_unref(loop);
return 0;
} -
youtube-dl - How do I ensure that the "original" video formats are downloaded ?
25 juin 2018, par SchytheronI am building a C# GUI (Windows only) for youtube-dl where I allow the user to pick the desired video quality and framerate but I am having problems with format selection. youtube-dl sometimes downloads either the wrong video file or the wrong audio file (often it is audio) and after merging them I end up with a .mkv file because according to FFmpeg the files I am trying to merge are incompatible.
These are the format selection queries I have tried to far :
bestvideo[height<=?%height%][fps<=?%fps%]+bestaudio/best
and
public string[] qualities = { "4320", "2160", "1440", "1080", "720", "480", "360", "240", "144" };
public string[] framerates = { "60", "50", "48", "30", "24" };
private void buildFormat(int qualSkip,int fpsSkip)
{
string[] qualitiesMin = qualities.Skip(qualSkip).ToArray();
string[] frameratesMin = framerates.Skip(fpsSkip).ToArray();
format = "-f ";
foreach (string quality in qualitiesMin)
{
foreach (string framerate in frameratesMin)
{
format += "bestvideo[height=?" + quality + "][fps=?" + framerate + "]+bestaudio/";
}
}
format += "best";
}In the first one I had a problem where on some videos youtube-dl downloaded a video in a lower framerate than what I requested (for example, if I request 1080p60FPS I get 1080p30FPS). I tried to fix this in the second method by searching for the best video for all qualities and framerates that are equal to or lower than the one I picked (for example, if I pick 1080p60FPS it would look for videos from 1080p60->1080p30->720p60->720p30->...->144p30).
The second method however looks overly convoluted and stupid and another problem still remains. youtube-dl always picks the best audio quality no matter what video quality I choose. I want the audio quality to scale with the video quality (for example, if I pick 144p I want poor audio quality). There has got to be a better way.
Maybe I am explaining this poorly but I basically want youtube-dl to ALWAYS (consistently) download the exact same video and audio format as the one that is displayed in the youtube video player itself for each picked video quality (see image below). How do I do that ?
Example 1, Video and audio format codes of video in 4K (the numbers in the red circles are the format codes) :
Example 2, Video and audio format of same video but this time in 720p :
(should also pick a lower framerate video of same quality if that framerate is not available in the YouTube quality selector, for example 1080p30FPS in a 1080p60FPS video)
Thanks !
-
FFmpeg producing a flickering video from images
21 juin 2018, par jjohnn91So I’m trying to make a video of a fractal rotating through some values, much like seen here.
I generate the frames (1000 of them) using a different program written in Java that works just fine, so for the purposes of this scenario assume that all the images are in the target folder and also in numerical order as they need to appear in the video.
I found the following code on the web to stitch images into a video, and I haven’t the faintest idea how it works, and when I run it, all of the images are indeed stitched into a video and placed on the desktop, but the video appears to have one specific frame just jump in at random positions. I’m not totally sure which one, but its one of the earlier frames, somewhere between 1 and 200 of the 1000.
I’ve also tested making two half videos, one using the first 500 frames, and the other using the second 500 frames. The first video (1 -> 500) has flickering, and the second video (501 -> 1000) appears not to have flickering to my observations.
I am seeking help in fixing the flickering behavior, and I will upload the video file to google drive later if asked. The Images are all 1920x1080, and in proper numerical order.
Thanks in advance !
import static org.bytedeco.javacpp.opencv_imgcodecs.*;
import java.io.File;
import org.bytedeco.javacpp.avcodec;
import org.bytedeco.javacv.FFmpegFrameRecorder;
import org.bytedeco.javacv.OpenCVFrameConverter;
public class ImageToMovie{
public static void main(String []args){
String imgPath="C:\\Users\\John\\Images";
String vidPath="C:\\Users\\John\\Desktop\\video.mp4";
String[] links=new String[new File(imgPath).listFiles().length];
File f=new File(imgPath);
File[] f2=f.listFiles();
for(int i=0;icode>