
Recherche avancée
Médias (1)
-
Revolution of Open-source and film making towards open film making
6 octobre 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (58)
-
Support de tous types de médias
10 avril 2011Contrairement à beaucoup de logiciels et autres plate-formes modernes de partage de documents, MediaSPIP a l’ambition de gérer un maximum de formats de documents différents qu’ils soient de type : images (png, gif, jpg, bmp et autres...) ; audio (MP3, Ogg, Wav et autres...) ; vidéo (Avi, MP4, Ogv, mpg, mov, wmv et autres...) ; contenu textuel, code ou autres (open office, microsoft office (tableur, présentation), web (html, css), LaTeX, Google Earth) (...)
-
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...) -
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 (9552)
-
FFMPEG, "Could not open file.. " "av_interleaved_write_frame() : Input/output error"
10 juillet 2018, par justaguytrynabuildawebsiteTrying to run a simple ffmpeg line on my Ubuntu 16.04 vps shell,
ffmpeg -ss 1 -i /var/www/html/lib/vid/4581989_022810100718.mp4 -r 1 -vframes 1 /var/www/html/lib/thumbnail/4581989_022810100718/20.jpg
but am met with
Could not open file
and
av_interleaved_write_frame(): Input/output error
I have already tried giving the ../lib/vid folder in question 777 permissions but it didnt help.
Full print-out :
ffmpeg version 2.8.14-0ubuntu0.16.04.1 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609
configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
libavutil 54. 31.100 / 54. 31.100
libavcodec 56. 60.100 / 56. 60.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 40.101 / 5. 40.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/var/www/html/lib/vid/4581989_022810100718.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.36.100
Duration: 00:00:04.90, start: 0.000000, bitrate: 2595 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1820x1024 [SAR 1:1 DAR 455:256], 2593 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
Metadata:
handler_name : VideoHandler
[swscaler @ 0x1652280] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to '/var/www/html/lib/thumbnail/4581989_022810100718/20.jpg':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.40.101
Stream #0:0(und): Video: mjpeg, yuvj420p(pc), 1820x1024 [SAR 1:1 DAR 455:256], q=2-31, 200 kb/s, 1 fps, 1 tbn, 1 tbc (default)
Metadata:
handler_name : VideoHandler
encoder : Lavc56.60.100 mjpeg
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[image2 @ 0x16103a0] Could not open file : /var/www/html/lib/thumbnail/4581989_022810100718/20.jpg
av_interleaved_write_frame(): Input/output error
frame= 1 fps=0.0 q=3.4 Lsize=N/A time=00:00:01.00 bitrate=N/A
video:48kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Conversion failed! -
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;
} -
How can start a process and stop the process if "error" string appear in the console output strings in one line commands set
25 janvier 2018, par Thm LeeNow I want one line cmd commands set which start a process and monitor the consol output strings stream. And so if error message appear in the process’s console output, then could stop the process immediately.
For example, I tried below commends sets, but failed. It seems find command didn’t get any strings streams in which search key word "error"
ffmpeg "endcoding process options set" | find "error" && exit
or,
ffmpeg "endcoding process options set" 2>&1 find "error" && exit
Is there any solutions about this ?
Thanks in advance