
Recherche avancée
Autres articles (111)
-
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 -
Librairies et binaires spécifiques au traitement vidéo et sonore
31 janvier 2010, parLes logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
Binaires complémentaires et facultatifs flvtool2 : (...) -
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 (...)
Sur d’autres sites (10712)
-
"Invalid or unexpected token" error when trying to execute ffmpeg build on lambda
4 janvier 2019, par almarcI have a node.js script that uses ffmpeg to convert mp4 downloaded from YT to mp3 and save to Amazon S3. Uploading using the serverless framework. The "ffmpeg" file is included in the main directory (with .yml), downloaded from here :
https://johnvansickle.com/ffmpeg/
The code :
'use strict'
process.env.PATH = process.env.PATH + ':/tmp/'
process.env['FFMPEG_PATH'] = '/tmp/ffmpeg';
const BIN_PATH = process.env['LAMBDA_TASK_ROOT']
process.env['PATH'] = process.env['PATH'] + ':' + BIN_PATH;
module.exports.download_mp3 = function (event, context, callback)
{
require('child_process').exec('cp /var/task/ffmpeg /tmp/.; chmod 755
/tmp/ffmpeg;', function (error, stdout, stderr) {
if (error)
{
console.log('An error occured', error);
callback(null, null)
}
else
{
var ffmpeg = require('ffmpeg');
const aws = require('aws-sdk')
const s3 = new aws.S3()
const ytdl = require('ytdl-core');
function uploadFromStream(s3) {
const stream = require('stream')
var pass = new stream.PassThrough();
var params = {Bucket: "some-bucket", Key: "some-key", Body: pass};
s3.upload(params, function(err, data) {
console.log(err, data);
});
console.log("Should be finished")
callback(null)
}
let stream = ytdl("some-video-id", {
quality: 'highestaudio',
filter: 'audioonly'
});
ffmpeg(stream)
.audioBitrate(128)
.format('mp3')
.on('error', (err) => console.error(err))
.pipe(uploadFromStream(s3), {
end: true
});
}})
}When triggered, the function writes an error in logs :
2019-01-04T14:50:54.525Z 21da4d49-1030-11e9-b901-0dc32b691a16
/var/task/ffmpeg:1
(function (exports, require, module, __filename, __dirname) { ELF
^
SyntaxError: Invalid or unexpected token
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:616:28)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at /var/task/download.js:17:18It’s, most definetely, an error in the "ffmpeg" file I’ve mentioned above (link provided). But I don’t know what’s the exact issue, I followed the first answer here :
https://stackoverflow.com/questions/47882810/lambda-not-connecting-to-ffmpeg
to include the ffmpeg build. -
Adding chapters to MP4 files, and being identified on iOS 12 podcast app
5 avril 2019, par Craig FrancisI have an MP4 file, where I’ve added chapters via ffmpeg.
But in the iOS 12 Podcasts app, from Apple, the chapters don’t appear. This should happen, as noted by idownloadblog.com
In comparison, when using QuickLook on MacOS, the list of chapters can be seen by clicking the chapters button (in the bottom right hand side of the window).
And opening in QuickTime Player, while there isn’t a list of chapters to view, you can use the "View > Next Chapter" menu item.
So I’m assuming this is a bug in iOS... but I’m wondering if there is another way to add chapters ? or if I’ve made a mistake ?
My current process is to create a "ffmetadata" file, as noted in the ffmpeg documentation :
;FFMETADATA1
title=Example
[CHAPTER]
TIMEBASE=1/1000
START=0
END=221913
title=Chapter 1
[CHAPTER]
TIMEBASE=1/1000
START=221913
END=1169241
title=Chapter 2https://ffmpeg.org/ffmpeg-formats.html#Metadata-1
Then I’ve tried each of the following commands :
ffmpeg -i 2019-01-02.mp4 -i 2019-01-02.meta -map_metadata 1 -codec copy 2019-01-02-chapters.mp4
ffmpeg -i 2019-01-02.mp4 -i 2019-01-02.meta -map_metadata 1 2019-01-02-chapters.mp4
ffmpeg -i 2019-01-02.mp4 -i 2019-01-02.meta -map_metadata 1 2019-01-02-chapters.mp3- The first one is from the ffmpeg documentation, where
-codec copy
means the audio file is not re-encoded. - The second one takes longer, while it re-encodes the audio data.
- The third one requires re-encoding to convert it into an MP3 file (which uses ID3 tags for the chapter data).
On a slightly unrelated note, the third party app "RSSRadio" does list the chapters, but the feature added in version 4 that allows you to "skip directly to the start of the next chapter", if the next chapter starts within the next 3 minutes, does not seem to work.
- The first one is from the ffmpeg documentation, where
-
PHP-FFMpeg Error while opening encoder for output stream
5 janvier 2019, par Valor_I’m trying to use this PHP-FFMpeg library, but I’m keep getting errors like
Error while opening encoder for output stream #0:0
This is my PHP code
private function createTeaserVideos($fullVideoPath, $databasePath, $uploadPath) {
$ffmpeg = FFMpeg::create([
'ffmpeg.binaries' => '/usr/bin/ffmpeg',
'ffprobe.binaries' => '/usr/bin/ffprobe',
'timeout' => 0,
]);
$ffmpeg->getFFMpegDriver()->listen(new \Alchemy\BinaryDriver\Listeners\DebugListener());
$ffmpeg->getFFMpegDriver()->on('debug', function ($message) {
var_dump($message);
});
// Create teaser_video_thumb
$videoNameThumb = $this->randomTimeString() . '-thumb.mp4';
$video = $ffmpeg->open($fullVideoPath);
$video
->filters()
->resize(new \FFMpeg\Coordinate\Dimension(400, 280))
->synchronize();
$video->save(new \FFMpeg\Format\Video\X264('aac', 'libx264'), $uploadPath . $videoNameThumb);
}So what I’m trying to do here. User uploads his video and I’m trying to resize it and create one smaller video for the preview. The problem that I’m keep getting it is
ffmpeg version 2.8.15-0ubuntu0.16.04.1' (length=46)
Copyright (c) 2000-2018 the FFmpeg developers' (length=54)
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.10) 20160609' (length=72)
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' (length=1135)
WARNING: library configuration mismatch' (length=49)
avcodec 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 --enable-version3 --disable-doc --disable-programs --disable-avdevice --disable-avfilter --disable-avformat --disable-avresample --disable-postproc --disable-swscale --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libvo_aacenc --enable-libvo_amrwbenc' (length=1413)
libavutil 54. 31.100 / 54. 31.100' (length=48)
libavcodec 56. 60.100 / 56. 60.100' (length=48)
libavformat 56. 40.101 / 56. 40.101' (length=48)
libavdevice 56. 4.100 / 56. 4.100' (length=48)
libavfilter 5. 40.101 / 5. 40.101' (length=48)
libavresample 2. 1. 0 / 2. 1. 0' (length=48)
libswscale 3. 1.101 / 3. 1.101' (length=48)
libswresample 1. 2.101 / 1. 2.101' (length=48)
libpostproc 53. 3.100 / 53. 3.100' (length=48)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/vagrant/workspace/spot-scouting-adminpage/static/locations/MjY5MjI2Y2E0NDExOWNmZmQwN/teaser/f4095e9eeb364fe187bf1ed42eedc198.mp4':' (length=185)
Metadata:' (length=19)
major_brand : mp42' (length=34)
minor_version : 0' (length=31)
compatible_brands: mp42mp41' (length=39)
creation_time : 2019-01-04 12:46:43' (length=49)
Duration: 00:00:08.41, start: 0.000000, bitrate: 10261 kb/s' (length=69)
Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080, 9982 kb/s, 25 fps, 25 tbr, 25k tbn, 50 tbc (default)' (length=153)
Metadata:' (length=21)
creation_time : 2019-01-04 12:46:43' (length=51)
handler_name : Alias Data Handler' (length=50)
encoder : AVC Coding' (length=42)
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 317 kb/s (default)' (length=109)
Metadata:' (length=21)
creation_time : 2019-01-04 12:46:43' (length=51)
handler_name : Alias Data Handler' (length=50)
-async is forwarded to lavfi similarly to -af aresample=async=1:min_hard_comp=0.100000:first_pts=0.' (length=107)
[libx264 @ 0x136f620] height not divisible by 2 (400x225)' (length=65)
Output #0, mp4, to '/home/vagrant/workspace/spot-scouting-adminpage/static/locations/MjY5MjI2Y2E0NDExOWNmZmQwN/teaser/gY0RfV9c0y06592770015466174550YfY9-thumb.mp4':' (length=172)
Metadata:' (length=19)
major_brand : mp42' (length=34)
minor_version : 0' (length=31)
compatible_brands: mp42mp41' (length=39)
Stream #0:0(eng): Video: h264, none, q=2-31, 128 kb/s, 25 fps (default)' (length=83)
Metadata:' (length=21)
creation_time : 2019-01-04 12:46:43' (length=51)
handler_name : Alias Data Handler' (length=50)
start_time : 0' (length=33)
encoder : Lavc56.60.100 libx264' (length=53)
Stream #0:1(eng): Audio: aac, 0 channels, 128 kb/s (default)' (length=72)
Metadata:' (length=21)
creation_time : 2019-01-04 12:46:43' (length=51)
handler_name : Alias Data Handler' (length=50)
encoder : Lavc56.60.100 aac' (length=49)
Stream mapping:' (length=23)
Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))' (length=63)
Stream #0:1 -> #0:1 (aac (native) -> aac (native))' (length=60)
Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height' (length=127)
' (length=8)I can’t figure out what is the problem or how to solve it. Can someone please help me out ? I’m using Ubuntu 16 and I have installed ffmpeg via apt-get install ffmpeg.
If you need any additional infomations, please let me know and I will provide. Thank you