
Recherche avancée
Médias (1)
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (56)
-
XMP PHP
13 mai 2011, parDixit Wikipedia, XMP signifie :
Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...) -
Use, discuss, criticize
13 avril 2011, parTalk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
A discussion list is available for all exchanges between users. -
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 (...)
Sur d’autres sites (5093)
-
Laravel ffmpeg failed to execute command
4 septembre 2022, par John smithI'm using protonemedia/laravel-ffmpeg package everything works fine on localhost but on the live server, there is an error message shown.


ProtoneMedia\ LaravelFFMpeg\ Exporters\ EncodingException

ffmpeg failed to execute command '/usr/bin/ffmpeg' '-y' '-threads' '12' '-i' '/www/wwwroot/hamza/storage/app/upload/videos/uofH50IWXt3Doqacxkd2tATboUT5gLfVGaAWyvsS.mp4' '-map' '0' '-vcodec' 'libx264' '-b:v' '1000k' '-sc_threshold' '0' '-g' '48' '-hls_playlist_type' 'vod' '-hls_time' '10' '-hls_segment_filename' '/www/wwwroot/hamza/storage/app/streamable_videos/21_0_1000_%05d.ts' '-master_pl_name' 'temporary_segment_playlist_0.m3u8' '-acodec' 'aac' '-b:a' '128k' '/www/wwwroot/hamza/storage/app/streamable_videos/21_0_1000.m3u8': Error Output: ffmpeg version 3.4.11 Copyright (c) 2000-2022 the FFmpeg developers built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-44) configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --docdir=/usr/share/doc/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --extra-ldflags='-Wl,-z,relro ' --extra-cflags=' ' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-fontconfig --enable-gcrypt --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libcdio --enable-libdrm --enable-indev=jack --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libmp3lame --enable-nvenc --enable-openal --enable-opencl --enable-opengl --enable-libopenjpeg --enable-libopus --disable-encoder=libopus --enable-libpulse --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvidstab --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzvbi --enable-avfilter --enable-avresample --enable-libmodplug --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-libmfx --enable-runtime-cpudetect libavutil 55. 78.100 / 55. 78.100 libavcodec 57.107.100 / 57.107.100 libavformat 57. 83.100 / 57. 83.100 libavdevice 57. 10.100 / 57. 10.100 libavfilter 6.107.100 / 6.107.100 libavresample 3. 7. 0 / 3. 7. 0 libswscale 4. 8.100 / 4. 8.100 libswresample 2. 9.100 / 2. 9.100 libpostproc 54. 7.100 / 54. 7.100 Unrecognized option 'master_pl_name'. Error splitting the argument list: Option not found



I'm using a job to do conversation


ConvertVideoForStreaming.php Job :


<?php

namespace App\Jobs;
set_time_limit(60000);

use FFMpeg;
use Carbon\Carbon;
use App\Models\Video;
use FFMpeg\Format\Video\X264;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Storage;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;

class ConvertVideoForStreaming implements ShouldQueue
{
 use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

 public $video;

 public function __construct(Video $video)
 {
 $this->video = $video;
 }

 public function handle()
 {
 // create some video formats...
 $lowBitrateFormat = (new X264)->setKiloBitrate(500);
 $highBitrateFormat = (new X264)->setKiloBitrate(3000);

 // open the uploaded video from the right disk...
 FFMpeg::fromDisk($this->video->disk)
 ->open($this->video->path)

 // call the 'exportForHLS' method and specify the disk to which we want to export...
 ->exportForHLS()
 ->withRotatingEncryptionKey(function ($filename, $contents) {
 Storage::disk('streamable_keys')->put($filename, $contents);
 })
 // we'll add different formats so the stream will play smoothly
 // with all kinds of internet connections...
 ->addFormat($lowBitrateFormat)
 ->addFormat($highBitrateFormat)

 // call the 'save' method with a filename...
 ->toDisk('streamable_videos')
 ->save($this->video->id . '.m3u8');

 // update the database so we know the convertion is done!
 $this->video->update([
 'converted_for_streaming_at' => Carbon::now(),
 ]);
 }
}



I'm storing the key at custom disk "streamable_keys", and converted videos should be stored in "streamable_videos".


the streamable keys are generated and saved to a directory without any issues, but streamable videos are not saved to the directory.


after some tracks I found that the problem happens in this line of code :


->save($this->video->id . '.m3u8');



all the lines before that line work perfectly.


any ideas on how to fix that ?






-
Syncing 3 RTSP video streams in ffmpeg
26 septembre 2017, par Damon MariaI’m using an AXIS Q3708 camera. It internally has 3 sensors to create a 180º view. Each sensor puts out it’s own RTSP stream. To put together the full 180º view I need to pull an image from each stream and place the images side-by-side. Obviously it’s important that the 3 streams be synchronized so the 3 images were taken at the same ’wall clock’ time. For this reason I want to use ffmpeg because it should be a champ at this.
I intended to use the hstack filter to combine the 3 images. However, it’s causing me a lot of grief and errors.
What I’ve tried :
1. Hstack the rtsp streams :
ffmpeg -i "rtsp://root:root@192.168.13.104/axis-media/media.amp?camera=1" -i "rtsp://root:root@192.168.13.104/axis-media/media.amp?camera=2" -i "rtsp://root:root@192.168.13.104/axis-media/media.amp?camera=3" -filter_complex "[0:v][1:v][2:v]hstack=inputs=3[v]" -map "[v]" out.mp4
I get lots of RTSP dropped packets decoding errors which is strange given this is an i7-7700K 4.2GHz with an NVIDIA GTX 1080 Ti and 32GB of RAM and the camera is on a local gigabit network :
[rtsp @ 0xd4eca42a00] max delay reached. need to consume packetA dup=0 drop=136 speed=1.16x
[rtsp @ 0xd4eca42a00] RTP: missed 5 packets
[rtsp @ 0xd4eca42a00] max delay reached. need to consume packetA dup=0 drop=137 speed=1.15x
[rtsp @ 0xd4eca42a00] RTP: missed 4 packets
[h264 @ 0xd4ecbb3520] error while decoding MB 14 15, bytestream -21
[h264 @ 0xd4ecbb3520] concealing 1185 DC, 1185 AC, 1185 MV errors in P frame2. Using
ffmpeg -i %s -c:v copy -map 0:0 out.mp4
to save each stream to a file and then run the abovehstack
command with the 3 files rather than 3 RSTP streams. First off, there are no dropped packets saving the files, and the hstack runs at speed=25x so I don’t know why the operation in 1 had so many errors. But in the resulting video, some parts ’pause’ between frames as tho the same image was used across 2 frames for some of the hstack inputs, but not the others. Also, the ’scene’ at a set distance into the video lags behind the input videos – which would happen if the frames are being duplicated.3. If I use the RTSP streams as the input, and for the output specify
-f null -
(thenull
demuxer) then the demuxer reports a lot of these errors :[null @ 0x76afb1a060] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 1 >= 1
Last message repeated 1 times
[null @ 0x76afb1a060] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 2 >= 2
[null @ 0x76afb1a060] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 3 >= 3
[null @ 0x76afb1a060] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 4 >= 4
Last message repeated 1 times
[null @ 0x76afb1a060] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 5 >= 5
Last message repeated 1 timesWhich sounds again like frames are being duplicated.
4. If I add
-vsync cfr
then the null muxer no longer reportsnon monotonically increasing dts
, and dropped packet / decoding errors are reduced (but still there). Does this show that timing info from the RTSP streams is ’tripping up’ ffmpeg ? I presume it’s not a solution tho because it is essentially wiping out and replacing the timing information ffmpeg would need to use to sync ?5. Saving a single RTSP stream (re-encoding, not using the
copy
codec ornull
demuxer) logs a lot of warnings like :Past duration 0.999992 too large
Last message repeated 7 times
Past duration 0.999947 too large
Past duration 0.999992 too large6. I first tried performing this in code (using PyAV). But struck problems when pushing a frame from each container into the 3 hstack inputs would cause hstack to output multiple frames (when it should be only one). Again, this points to hstack duplicating frames.
7. I have used Wireshark to sniff the RTCP/RTP traffic and the RTCP Sender Report’s have correct NTP timestamps in them matched to the timestamps in the RTP streams.
8. Using ffprobe to show the frames of a RTSP stream (example below) I would have expected to see real (NTP based timestamps) given they exist in the RTCP packets. I’m not sure what is correct behaviour for ffprobe. But it does show that most frame timestamps are not exactly 0.25s (the camera is running 4 FPS) which might explain
-vsync cfr
’fixing’ some issues and thePast duration 0.999992
style errors :pkt_pts=1012502
pkt_pts_time=0:00:11.250022
pkt_dts=1012502
pkt_dts_time=0:00:11.250022
best_effort_timestamp=1012502
best_effort_timestamp_time=0:00:11.250022
pkt_duration=N/A
pkt_duration_time=N/A
pkt_pos=N/AI posted this as a possible hstack bug on the ffmpeg bug tracker but that discussion fizzled out.
So, question : how do I sync 3 RTSP video streams through hstack in ffmpeg ?
-
ffmpeg nvdec not available when adding subtitles to mp4
17 février 2019, par whatdoineed2doI have a mp4 video that I want to BURN-IN subtitles (from a .ass file and via
-vf ass=/tmp/conf-notes.ass
) with ffmpeg on a machine with a GTX1060 card however ffmpeg reports that it fails to create the NVDEC decoder.[h264 @ 0xcb9380] Error creating a NVDEC decoder: 1
[h264 @ 0xcb9380] Failed setup for format cuda: hwaccel initialisation returned error.The output file is generated ok but during the creation the CPU is used heavily (I assume for decode) - if I drop the
-vf ass=/tmp/conf-notes.ass
and perform an mp4->mp4 reencode there are no problems.I want to know what I am missing from my command to allow the GPU to perform the decode when an
.ass
file is added to the chain.$ ffmpeg -hwaccel cuvid -i 2019-01-conferance.mp4 -vf ass=/tmp/conf-notes.ass -c:a copy -preset llhq -rc vbr_hq -vb 2M -minrate 500k -maxrate 12M -c:v h264_nvenc export.mp4
ffmpeg version 4.0.2 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 8 (GCC)
configuration: --arch=x86_64 --bindir=/usr/bin --datadir=/usr/share/ffmpeg --disable-debug --disable-static --disable-stripping --enable-alsa --enable-avfilter --enable-avresample --enable-bzlib --enable-decklink --enable-doc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gpl --enable-iconv --enable-libass --enable-libbluray --enable-libcdio --enable-libdc1394 --enable-libdrm --enable-libfdk-aac --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libilbc --enable-libkvazaar --enable-libmfx --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librsvg --enable-librtmp --enable-librubberband --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtesseract --enable-libtheora --enable-libtwolame --enable-libv4l2 --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxcb-shm --enable-libxcb-xfixes --enable-libxcb-shape --enable-libxml2 --enable-libxvid --enable-libzvbi --enable-lv2 --enable-lzma --enable-libndi_newtek --enable-nonfree --enable-openal --enable-opencl --enable-opengl --enable-postproc --enable-pthreads --enable-sdl2 --enable-shared --enable-version3 --enable-xlib --enable-zlib --extra-cflags=-I/usr/include/cuda --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --optflags='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' --prefix=/usr --shlibdir=/usr/lib64 --enable-cuda --enable-cuvid --enable-libnpp --enable-nvdec --enable-nvenc --enable-runtime-cpudetect
libavutil 56. 14.100 / 56. 14.100
libavcodec 58. 18.100 / 58. 18.100
libavformat 58. 12.100 / 58. 12.100
libavdevice 58. 3.100 / 58. 3.100
libavfilter 7. 16.100 / 7. 16.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 1.100 / 5. 1.100
libswresample 3. 1.100 / 3. 1.100
libpostproc 55. 1.100 / 55. 1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '2019-01-conferance.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isommp42
creation_time : 2019-01-12T00:00:06.000000Z
Duration: 00:00:24.07, start: 0.000000, bitrate: 11542 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 11350 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default)
Metadata:
creation_time : 2019-01-12T00:00:07.000000Z
handler_name : Mainconcept MP4 Video Media Handler
encoder : AVC Coding
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 189 kb/s (default)
Metadata:
creation_time : 2019-01-12T00:00:07.000000Z
handler_name : Mainconcept MP4 Sound Media Handler
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (h264_nvenc))
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[h264 @ 0xcb9380] Error creating a NVDEC decoder: 1
[h264 @ 0xcb9380] Failed setup for format cuda: hwaccel initialisation returned error.
[Parsed_ass_0 @ 0x1241c00] Shaper: FriBidi 1.0.2 (SIMPLE) HarfBuzz-ng 1.7.5 (COMPLEX)
[Parsed_ass_0 @ 0x1241c00] Using font provider fontconfig
[Parsed_ass_0 @ 0x1241c00] Added subtitle file: '/tmp/conf-notes.ass' (2 styles, 101 events)The
.ass
file has been generated from a.srt
file viaffmpeg -i foo.srt foo.ass