
Recherche avancée
Médias (3)
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
-
GetID3 - Boutons supplémentaires
9 avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
-
Collections - Formulaire de création rapide
19 février 2013, par
Mis à jour : Février 2013
Langue : français
Type : Image
Autres articles (64)
-
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 (...) -
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 (...)
Sur d’autres sites (9247)
-
avfilter : add bilateral_cuda filter
30 août 2022, par Mohamed Khaled Mohamedavfilter : add bilateral_cuda filter
GSoC 2022
Signed-off-by : Mohamed Khaled <mohamed.elbassiony00@eng-st.cu.edu.eg>
Signed-off-by : Timo Rothenpieler <timo@rothenpieler.org> -
How to Combine two Live Streams(mjpeg + pcm) for ffmpeg or ffplay playback ?
7 septembre 2022, par sharimkenWhat's the correct command to combine two live streams (mjpeg + pcm) for playback ?
Currently, I have to playback them separately via ffplay. Is it possible to combine them as one for playback ?


//video stream mjpeg
ffplay "udp://127.0.0.1:3001"

//audio stream raw pcm
ffplay -f s16le -ac 1 -ar 11025 "udp://127.0.0.1:3002"



I found some example commands suggested by others, but not sure how to implement for my above use case. https://superuser.com/questions/1410764/how-to-play-two-remote-streams-simultaneously


ffmpeg -headers X -i .. -headers Y -i .. -c copy -f nut - | ffplay -f nut -i -



Edit 2022/09/07 :


Thanks for @kesh suggestion, below script works for first 1 second with video and sound.


ffmpeg -i "udp://127.0.0.1:3001" \
-f s16le -ac 1 -ar 11025 -i "udp://127.0.0.1:3002" \
-c copy -f nut - | ffplay -f nut -i -



However, sound was muted after first error occured.


udp://127.0.0.1:3001: Input/output error



Updates :
Above issue has been solved, with below commands :


ffmpeg -i "udp://127.0.0.1:3001?overrun_nonfatal=1&fifo_size=100000" \
-f s16le -ac 1 -ar 11025 -i "udp://127.0.0.1:3002?overrun_nonfatal=1&fifo_size=100000" \
-c copy -f nut - | ffplay -f nut -i -



However, if the mjpeg stream is paused or skipped few frames, the audio will stop too. It's not necessary to sync them, and how to keep the audio stream playing as long as it receives data ?


Q1 : the default video fps is 25, can I set it to 30 or 60 ?


Q2 : pcm data stream is consistence, but mjpeg is not consistence. audio stream will stop once mjpeg is paused/resumed. What's the best solution ?


-
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 ?