
Advanced search
Medias (1)
-
The Slip - Artworks
26 September 2011, by
Updated: September 2011
Language: English
Type: Text
Other articles (50)
-
Mise à jour de la version 0.1 vers 0.2
24 June 2013, byExplications 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 profit de (...) -
Support de tous types de médias
10 April 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 (...)
-
Supporting all media types
13 April 2011, byUnlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats: images: png, gif, jpg, bmp and more audio: MP3, Ogg, Wav and more video: AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data: OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)
On other websites (7275)
-
Getting error "DLL load failed while importing rect: %1 is not a valid Win32 application" while importing package
17 August 2020, by Sagar DonadkarI am using cython package to call Cpp API and in my cpp code i am using ffmpeg library and able to build my code successfully using bellow command


python setup.py build_ext --inplace --compiler=msvc



but when i try to import generated pyd file then i get error


PS D:\SiVUE\Backend\Cython\demo> python
Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:20:19) [MSC v.1925 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import rect
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ImportError: DLL load failed while importing rect: %1 is not a valid Win32 application.
>>> 
</module></stdin>


My entire code is provided bellow


header file
#ifndef RECTANGLE_H
#define RECTANGLE_H
#include <iostream>

extern "C"
{
 #include "libavformat/avformat.h"
 #include "libavutil/dict.h"
}

using namespace std;

namespace shapes 
{
 class Rectangle {
 public:
 int x0, y0, x1, y1;
 Rectangle();
 Rectangle(int x0, int y0, int x1, int y1);
 ~Rectangle();
 int getArea();
 int ffmpegFile();
 void getSize(int* width, int* height);
 void move(int dx, int dy);
 };
}

#endif
</iostream>


Rectangle.Cpp file in ffmpegFile() i am calling mostly ffmpeg API



#include <iostream>
#include "Rectangle.hpp"

namespace shapes {
 

 // Default constructor
 Rectangle::Rectangle () {}

 // Overloaded constructor
 Rectangle::Rectangle (int x0, int y0, int x1, int y1) {
 this->x0 = x0;
 this->y0 = y0;
 this->x1 = x1;
 this->y1 = y1;
 }

 // Destructor
 Rectangle::~Rectangle () {}

 // Return the area of the rectangle
 int Rectangle::getArea () {
 return 10;
 }

 // Get the size of the rectangle.
 // Put the size in the pointer args
 void Rectangle::getSize (int *width, int *height) {
 (*width) = x1 - x0;
 (*height) = y1 - y0;
 }

 // Move the rectangle by dx dy
 void Rectangle::move (int dx, int dy) {
 this->x0 += dx;
 this->y0 += dy;
 this->x1 += dx;
 this->y1 += dy;
 }
 int Rectangle::ffmpegFile()
 {
 AVFormatContext *fmt_ctx = NULL;
 AVDictionaryEntry *tag = NULL;
 int ret = 0;
 char* filename = "D:\\Discovery.mp4";

 if ((ret = avformat_open_input(&fmt_ctx, filename, NULL, NULL)))
 return ret;

 if ((ret = avformat_find_stream_info(fmt_ctx, NULL)) < 0) {
 av_log(NULL, AV_LOG_ERROR, "Cannot find stream information\n");
 return ret;
 }

 while ((tag = av_dict_get(fmt_ctx->metadata, "", tag, AV_DICT_IGNORE_SUFFIX)))
 printf("%s=%s\n", tag->key, tag->value);

 avformat_close_input(&fmt_ctx);
 return ret;
 }
}
</iostream>


Rectangle.pxd file declaration for cpp file function and variable


cdef extern from "Rectangle.cpp":
 pass
cdef extern from "Rectangle.hpp" namespace "shapes":
 cdef cppclass Rectangle:
 Rectangle() except +
 Rectangle(int, int, int, int) except +
 int x0, y0, x1, y1
 int getArea()
 void getSize(int* width, int* height)
 void move(int, int)
 int ffmpegFile()



rect.pyx file i am calling cpp API


# distutils: language = c++

from Rectangle cimport Rectangle

cdef class PyRectangle:
 cdef Rectangle c_rect # Hold a C++ instance which we're wrapping

 def __cinit__(self, int x0, int y0, int x1, int y1):
 self.c_rect = Rectangle(x0, y0, x1, y1)

 def get_area(self):
 return self.c_rect.getArea()

 def get_size(self):
 cdef int width, height
 self.c_rect.getSize(&width, &height)
 return width, height

 def move(self):
 print(self.c_rect.ffmpegFile())



setup.py
I provided pyx file and ffmpeg library path as well as include path


from distutils.core import setup
from setuptools import Extension
from Cython.Build import cythonize 

sfc_module = [Extension('rect', sources = ['rect.pyx'],
 include_dirs = ['D:\\SiVUE\\Backend\\Cython\\demo\\ffmpeg\\include\\'],
 library_dirs = ['D:\\SiVUE\\Backend\\Cython\\demo\\ffmpeg\\lib\\'],
 libraries = ['avcodec','avdevice','avfilter','avformat','avutil','postproc','swresample','swscale'],
 language='c++')]

setup(name = 'superfastcode', version = '1.0',
 description = 'Python Package with superfastcode C++ extension',
 ext_modules = cythonize(sfc_module),
 include_dirs = ['D:\\SiVUE\\Backend\\Cython\\demo\\ffmpeg\\include\\']
 )



Thank You


-
Sound is lost when concatenate several videos with ffmpeg
18 August 2020, by Yevhenii MolodtsovI have a python script that generates an FFmpeg command and then runs it with shell.
Everything is going okay (the videos are concatenated, the needed cross-dissolve effect is also great), but there are two problems I am trying to fix:


- 

- The output loses the sound.
- The output is frizzing a little bit (it seems like there are about 10 fps).






The example of command generatede by the script is here:


ffmpeg -i /tmp/media/import-2020-Aug-18-Tuesday-08-31-10/temp_8ce3c8ac-
1379-4a16-b141-ebdc910e1142.mp4 -i /tmp/media/import-2020-Aug-18-
Tuesday-08-31-10/temp_d9f60ffb-0a83-4052-8ebb-620a574d1871.mp4 -i 
/tmp/media/import-2020-Aug-18-Tuesday-08-31-10/temp_93934eaa-9589-4736-
8d11-fd8c1bdf0b92.mp4 -filter_complex "
[0:v]trim=start=0:end=4.038,setpts=PTS-STARTPTS[clip0];
[1:v]trim=start=2:end=4.038,setpts=PTS-STARTPTS[clip1];
[2:v]trim=start=2,setpts=PTS-STARTPTS[clip2];
[0:v]trim=start=5.038:end=6.038,setpts=PTS-STARTPTS[out0];
[1:v]trim=start=5.038:end=6.038,setpts=PTS-STARTPTS[out1];
[1:v]trim=start=0:end=2,setpts=PTS-STARTPTS[in1];
[2:v]trim=start=0:end=2,setpts=PTS-STARTPTS[in2];
[in1]format=pix_fmts=yuva420p,fade=t=in:st=0:d=2:alpha=1[fadein1];
[in2]format=pix_fmts=yuva420p,fade=t=in:st=0:d=2:alpha=1[fadein2];
[out0]format=pix_fmts=yuva420p,fade=t=out:st=0:d=2:alpha=1[fadeout0];
[out1]format=pix_fmts=yuva420p,fade=t=out:st=0:d=2:alpha=1[fadeout1];
[fadein1]fifo[fadein1fifo];[fadein2]fifo[fadein2fifo];
[fadeout0]fifo[fadeout0fifo];[fadeout1]fifo[fadeout1fifo];[fadeout0fifo]
[fadein1fifo]overlay[crossfade0];[fadeout1fifo]
[fadein2fifo]overlay[crossfade1];[clip0][crossfade0][clip1][crossfade1]
[clip2]concat=n=5[output]" -map "[output]" 
/tmp/media/final/some_filename_c8e898b2-e3f7-4656-b3b9-1e8fb93cd75c.mp4



I would much appreciate any help because I am new to this tool and here I got stuck.


-
PHP ffmpeg convert GIF to MP4
17 August 2020, by Eduard UnruhI use this code to convert GIFs to MP4:


$videoname = str_replace('.gif', '.mp4', $picname);
$ffmpeg = FFMpeg\FFMpeg::create(array(
 'ffmpeg.binaries' => 'ffmpeg/bin/ffmpeg.exe',
 'ffprobe.binaries' => 'ffmpeg/bin/ffprobe.exe',
 'timeout' => 6600, // The timeout for the underlying process
 'ffmpeg.threads' => 12, // The number of threads that FFMpeg should use
), $logger);

$video = $ffmpeg->open('memes/' . $folder . '/' . $picname);

$format = new \FFMpeg\Format\Video\X264('libvo_aacenc', 'libx264');
$format->setAdditionalParameters(array('-profile:v', 'baseline', '-pix_fmt', 'yuv420p'));

$video
 ->save($format, 'memes/' . $folder . '/' . $videoname);



Some GIFs are getting converted but some not, this is the error message:


[16-Aug-2020 14:47:21 Europe/Berlin] PHP Fatal error: Uncaught Alchemy\BinaryDriver\Exception\ExecutionFailureException: ffmpeg failed to execute command "ffmpeg/bin/ffmpeg.exe" -y -i "memes/38/Dr5W6yzR_gif_38.gif" -threads 12 -vcodec libx264 -acodec libvo_aacenc -b:v 1000k -refs 6 -coder 1 -sc_threshold 40 -flags +loop -me_range 16 -subq 7 -i_qfactor 0.71 -qcomp 0.6 -qdiff 4 -trellis 1 -b:a 128k -profile:v baseline -pix_fmt yuv420p -pass 1 -passlogfile "C:\Windows\TEMP\ffmpeg-passes5f392ad8ba750qewzr/pass-5f392ad8bb9b7" "memes/38/Dr5W6yzR_gif_38.mp4":

Error Output:

 ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
 built with gcc 9.2.1 (GCC) 20200122
 configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --e in C:\Inetpub\vhosts\yolol.de\vendor\php-ffmpeg\php-ffmpeg\src\FFMpeg\Media\AbstractVideo.php on line 106



What is all this crap?


Please help!


EDIT:


This is what I'm getting when running this code in cmd:


ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
 built with gcc 9.2.1 (GCC) 20200122
 configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
 libavutil 56. 31.100 / 56. 31.100
 libavcodec 58. 54.100 / 58. 54.100
 libavformat 58. 29.100 / 58. 29.100
 libavdevice 58. 8.100 / 58. 8.100
 libavfilter 7. 57.100 / 7. 57.100
 libswscale 5. 5.100 / 5. 5.100
 libswresample 3. 5.100 / 3. 5.100
 libpostproc 55. 5.100 / 55. 5.100
Input #0, gif, from 'C://ttt.gif':
 Duration: 00:00:03.08, start: 0.000000, bitrate: 10411 kb/s
 Stream #0:0: Video: gif, bgra, 636x357, 14.25 fps, 14.29 tbr, 100 tbn, 100 tbc
Stream mapping:
 Stream #0:0 -> #0:0 (gif (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0000021dca771a40] height not divisible by 2 (636x357)
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!



So the error is
height not divisible by 2 (636x357)
I guess, but what would be the solution?