
Recherche avancée
Autres articles (66)
-
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)
Sur d’autres sites (8732)
-
FFmpeg : Looping an video/audio stream to YouTube Live
27 novembre 2020, par ClausI'm using this script to stream a 30s
.mp4
video file with a 2min audio track in.mp3
format :

#! /bin/bash

VBR="1500k"
FPS="30"
QUAL="ultrafast"
YOUTUBE_URL=" rtmp://a.rtmp.youtube.com/live2"
YOUTUBE_KEY="**********"
VIDEO_SOURCE="test_video_4.mp4"
AUDIO_SOURCE="test_audio_3.mp3"
AUDIO_ENCODER="aac"

ffmpeg \
 -stream_loop -1 \
 -re \
 -i "$VIDEO_SOURCE" \
 -thread_queue_size 512 \
 -i "$AUDIO_SOURCE" \
 -c:v libx264 -preset $QUAL -r $FPS -g $(($FPS *2)) -b:v $VBR \
 -c:a $AUDIO_ENCODER -threads 6 -ar 44100 -b:a 128k -bufsize 512k -pix_fmt yuv420p \
 -fflags +shortest -max_interleave_delta 50000 \
 -f flv $YOUTUBE_URL/$YOUTUBE_KEY



Both the audio and the video get played correctly the first time, with the video looping while the audio playback is completed (since it's shorter). The only problem is that the audio loop does not work and as soon the audio completes the first time the stream simply stops.


Here's the log :




ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers

built with Apple clang version 12.0.0 (clang-1200.0.32.27)

configuration : —prefix=/usr/local/Cellar/ffmpeg/4.3.1_4
—enable-shared —enable-pthreads —enable-version3 —enable-avresample —cc=clang —host-cflags= —host-ldflags= —enable-ffplay —enable-gnutls —enable-gpl —enable-libaom —enable-libbluray —enable-libdav1d —enable-libmp3lame —enable-libopus —enable-librav1e —enable-librubberband —enable-libsnappy —enable-libsrt —enable-libtesseract —enable-libtheora —enable-libvidstab —enable-libvorbis —enable-libvpx —enable-libwebp —enable-libx264 —enable-libx265 —enable-libxml2 —enable-libxvid —enable-lzma —enable-libfontconfig —enable-libfreetype —enable-frei0r —enable-libass —enable-libopencore-amrnb —enable-libopencore-amrwb —enable-libopenjpeg —enable-librtmp —enable-libspeex —enable-libsoxr —enable-videotoolbox —disable-libjack —disable-indev=jack libavutil 56. 51.100 / 56. 51.100 libavcodec 58. 91.100 / 58. 91.100 libavformat 58. 45.100 /
58. 45.100 libavdevice 58. 10.100 / 58. 10.100 libavfilter 7. 85.100 / 7. 85.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 7.100 / 5. 7.100 libswresample 3. 7.100 /
3. 7.100 libpostproc 55. 7.100 / 55. 7.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test_video_4.mp4' : Metadata :
major_brand : mp42
minor_version : 1
compatible_brands : isommp41mp42
creation_time : 2020-11-27T18:38:02.000000Z Duration : 00:00:39.46, start : 0.000000, bitrate : 12081 kb/s
Stream #0:0(und) : Video : h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 12033
kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 48k tbc (default)
Metadata :
creation_time : 2020-11-27T18:38:02.000000Z
handler_name : Core Media Video Input #1, mp3, from 'test_audio_3.mp3' : Metadata :
genre : Cinematic
album : YouTube Audio Library
title : Test Title
artist : Test Artist Duration : 00:02:12.21, start : 0.025057, bitrate : 320 kb/s
Stream #1:0 : Audio : mp3, 44100 Hz, stereo, fltp, 320 kb/s
Metadata :
encoder : LAME3.99r Stream mapping : Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264)) Stream #1:0 -> #0:1 (mp3 (mp3float) -> aac (native)) Press [q] to stop, [?] for help [libx264 @
0x7fa825031600] VBV maxrate unspecified, assuming CBR [libx264 @
0x7fa825031600] using SAR=1/1 [libx264 @ 0x7fa825031600] using cpu
capabilities : MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @
0x7fa825031600] profile Constrained Baseline, level 3.1, 4:2:0, 8-bit
[libx264 @ 0x7fa825031600] 264 - core 161 r3027 4121277 - H.264/MPEG-4
AVC codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html -
options : cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1
psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0
8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0
threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1
interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0
keyint=60 keyint_min=6 scenecut=0 intra_refresh=0 rc_lookahead=0
rc=cbr mbtree=0 bitrate=1500 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69
qpstep=4 vbv_maxrate=1500 vbv_bufsize=512 nal_hrd=none filler=0
ip_ratio=1.40 aq=0 Output #0, flv, to
'rtmp ://a.rtmp.youtube.com/live2/*****' :

Metadata :
major_brand : mp42
minor_version : 1
compatible_brands : isommp41mp42
encoder : Lavf58.45.100
Stream #0:0(und) : Video : h264 (libx264) ([7][0][0][0] / 0x0007), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], q=-1—1, 1500 kb/s,
30 fps, 1k tbn, 30 tbc (default)
Metadata :
creation_time : 2020-11-27T18:38:02.000000Z
handler_name : Core Media Video
encoder : Lavc58.91.100 libx264
Side data :
cpb : bitrate max/min/avg : 0/0/1500000 buffer size : 512000 vbv_delay : N/A
Stream #0:1 : Audio : aac (LC) ([10][0][0][0] / 0x000A), 44100 Hz, stereo, fltp, 128 kb/s
Metadata :
encoder : Lavc58.91.100 aac Larger timestamp than 24-bit : 0xffff9b44kB time=00:02:37.43 bitrate=1292.6kbits/s
speed=0.995x [flv @ 0x7fa825032800] Failed to update header with
correct duration. [flv @ 0x7fa825032800] Failed to update header with
correct filesize. frame= 3790 fps= 24 q=-1.0 Lsize= 24962kB
time=00:02:38.03 bitrate=1294.0kbits/s speed=0.997x video:22719kB
audio:2081kB subtitle:0kB other streams:0kB global headers:0kB muxing
overhead : 0.656017% [libx264 @ 0x7fa825031600] frame I:64 Avg
QP:36.43 size : 38436 [libx264 @ 0x7fa825031600] frame P:3726 Avg
QP:28.61 size : 5583 [libx264 @ 0x7fa825031600] mb I I16..4 : 100.0%
0.0% 0.0% [libx264 @ 0x7fa825031600] mb P I16..4 : 3.3% 0.0% 0.0% P16..4 : 13.6% 0.0% 0.0% 0.0% 0.0% skip:83.1% [libx264 @
0x7fa825031600] coded y,uvDC,uvAC intra : 57.8% 71.6% 47.8% inter : 6.0%
7.1% 2.1% [libx264 @ 0x7fa825031600] i16 v,h,dc,p : 21% 39% 23% 18% [libx264 @ 0x7fa825031600] i8c dc,h,v,p : 36% 38% 16% 10% [libx264 @
0x7fa825031600] kb/s:1177.39 [aac @ 0x7fa82502d800] Qavg : 179.328
Exiting normally, received signal 2.



-
Conditional formats in Laravel FFMPEG
29 décembre 2020, par JJ The SecondI'm currently using Laravel FFMPEG in a Laravel project and running followings which works well https://github.com/protonemedia/laravel-ffmpeg


Here is an example of code that is working :


$lowBitrate = (new X264)->setKiloBitrate(250);
 $midBitrate = (new X264)->setKiloBitrate(500);
 $highBitrate = (new X264)->setKiloBitrate(1000);
 $superBitrate = (new X264)->setKiloBitrate(1500);

 FFMpeg::open('steve_howe.mp4')
 ->exportForHLS()
 ->addFormat($lowBitrate, function($media) {
 $media->addFilter('scale=640:480');
 })

 ->addFormat($midBitrate, function($media) {
 $media->scale(960, 720);
 })
 ->addFormat($highBitrate, function ($media) {
 $media->addFilter(function ($filters, $in, $out) {
 $filters->custom($in, 'scale=1920:1200', $out); // $in, $parameters, $out
 });
 })
 ->addFormat($superBitrate, function($media) {
 $media->addLegacyFilter(function ($filters) {
 $filters->resize(new \FFMpeg\Coordinate\Dimension(2560, 1920));
 });
 })
 ->save('adaptive_steve.m3u8');



Now, my challenge is that on client side, my users need to select what formats they'd like to include in transcoding job and one job may contain 2 bitrate variation or more so there is a need to have a conditional statement before calling ->addFromat()


Ideally I'd need to approach this :


$lowBitrate = (new X264)->setKiloBitrate(250);
 $midBitrate = (new X264)->setKiloBitrate(500);
 $highBitrate = (new X264)->setKiloBitrate(1000);
 $superBitrate = (new X264)->setKiloBitrate(1500);

 FFMpeg::open('steve_howe.mp4')
 ->exportForHLS()
 ->addFormat($lowBitrate, function($media) {
 $media->addFilter('scale=640:480');
 })
 /// adding if statement here
 ->addFormat($midBitrate, function($media) {
 $media->scale(960, 720);
 })
 ->addFormat($highBitrate, function ($media) {
 $media->addFilter(function ($filters, $in, $out) {
 $filters->custom($in, 'scale=1920:1200', $out); // $in, $parameters, $out
 });
 })
 ->addFormat($superBitrate, function($media) {
 $media->addLegacyFilter(function ($filters) {
 $filters->resize(new \FFMpeg\Coordinate\Dimension(2560, 1920));
 });
 })
 ->save('adaptive_steve.m3u8');



No idea how to add a if/else statement here. How do you think I should approach this ?


Thanks


-
Rtmp streaming not playing on VLC player
7 février 2021, par Madhuraank BIn terminal :


ffmpeg -f v4l2 -i /dev/video0 -vcodec libx264 -preset ultrafast -pix_fmt yuv420p -s 1280x720 -r 30 -b:v 1500k -bufsize 1500k -maxrate 7000k -f flv rtmp://192.168.1.6:1935/live/test



I get :




Output #0, flv, to 'rtmp ://192.168.1.6:1935/live/test' :
Metadata :
encoder : Lavf58.20.100
Stream #0:0 : Video : h264 (libx264) ([7][0][0][0] / 0x0007), yuv420p, 1280x720, q=-1—1, 1500 kb/s, 30 fps, 1k tbn, 30 tbc
Metadata :
encoder : Lavc58.35.100 libx264
Side data :
cpb : bitrate max/min/avg : 7000000/0/1500000 buffer size : 1500000 vbv_delay : -1
frame= 115 fps=0.1 q=21.0 size= 3088kB time=00:00:17.96 bitrate=1407.9kbits/s speed=0.0141x




When I open
VLC player
and open network stream in networkrtmp://192.168.1.6/live/test
, but it does not play it shows no error it just keeps on loading.

Thanks in advance