
Recherche avancée
Autres articles (32)
-
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page. -
List of compatible distributions
26 avril 2011, parThe table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...) -
Submit enhancements and plugins
13 avril 2011If you have developed a new extension to add one or more useful features to MediaSPIP, let us know and its integration into the core MedisSPIP functionality will be considered.
You can use the development discussion list to request for help with creating a plugin. As MediaSPIP is based on SPIP - or you can use the SPIP discussion list SPIP-Zone.
Sur d’autres sites (5546)
-
ffmpeg - when cutting video, last frame is green [on hold]
4 juillet 2016, par Mister FreshIn a php web app, the user can upload a video and cut it in samples. Php launches a shell command with shell_exec() to start ffmpeg and cut the video.
It works except that the last frame shows a green splash in the cut sample.
Server is on linux. In dev environment (mac) with latest ffmpeg, the problem cannot be reproduced.
Command is the following :
ffmpeg -i /var/www/user_dir/web/projects/127472/cuts/1146 -ss 00:00:45 -t 15 -vcodec libx264 -s 640x360 -strict experimental -v quiet -y /var/www/user_dir/web/projects/127472/cuts/sample1954_small.mp4
Console output :
ffmpeg version 0.8.17-6:0.8.17-1,
Copyright (c) 2000-2014 the Libav developers
built on Mar 15 2015 17:00:31 with gcc 4.7.2
configuration: --arch=amd64 --enable-pthreads --enable-runtime-cpudetect --extra-version='6:0.8.17-1' --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libdirac --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopencv --enable-libopenjpeg --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-swscale --enable-libcdio --enable-x11grab --enable-libx264 --enable-libxvid --shlibdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-static
libavutil 51. 22. 3 / 51. 22. 3
libavcodec 53. 35. 0 / 53. 35. 0
libavformat 53. 21. 1 / 53. 21. 1
libavdevice 53. 2. 0 / 53. 2. 0
libavfilter 2. 15. 0 / 2. 15. 0
libswscale 2. 1. 0 / 2. 1. 0
libpostproc 52. 0. 0 / 52. 0. 0
The ffmpeg program is only provided for script compatibility and will be removed
in a future release. It has been deprecated in the Libav project to allow for
incompatible command line syntax improvements in its replacement called avconv
(see Changelog for details). Please use avconv instead.
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/var/www/user_dir/web/projects/127472/cuts/1146':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.15.103
genre : Blues
Duration: 00:01:29.47, start: 0.036281, bitrate: 808 kb/s
Stream #0.0(und): Video: h264 (High), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 675 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc
Stream #0.1(und): Audio: aac, 44100 Hz, stereo, s16, 128 kb/s
[buffer @ 0x30a2ca0] w:1920 h:1080 pixfmt:yuv420p
[scale @ 0x309bf00] w:1920 h:1080 fmt:yuv420p -> w:640 h:360 fmt:yuv420p flags:0x4
[libx264 @ 0x30a3200] using SAR=1/1
[libx264 @ 0x30a3200] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
[libx264 @ 0x30a3200] profile Main, level 3.0
[libx264 @ 0x30a3200] 264 - core 123 r2189 35cf912 - H.264/MPEG-4 AVC codec -
Copyleft 2003-2012 - http://www.videolan.org/x264.html
- options: cabac=1 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=0 b_adapt=1 b_bias=0 direct=1 weightb=0 open_gop=1 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.25 aq=1:1.00
Output #0, mp4, to '/var/www/user_dir/web/projects/127472/cuts/sample1954_small.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
genre : Blues
encoder : Lavf53.21.1
Stream #0.0(und): Video: libx264, yuv420p, 640x360 [PAR 1:1 DAR 16:9], q=-1--1, 25 tbn, 25 tbc
Stream #0.1(und): Audio: aac, 44100 Hz, stereo, s16, 200 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Press ctrl-c to stop encoding
[buffer @ 0x30a2ca0] Buffering several frames is not supported. Please consume all available frames before adding a new one.
Last message repeated 1124 times 565kB time=12.80 bitrate= 361.7kbits/s ts/s
frame= 375 fps= 17 q=28.0 Lsize= 742kB time=14.96 bitrate= 406.4kbits/s
video:360kB audio:371kB global headers:0kB muxing overhead 1.515374%
frame I:3 Avg QP:16.97 size: 6922
[libx264 @ 0x30a3200] frame P:158 Avg QP:24.40 size: 1858
[libx264 @ 0x30a3200] frame B:214 Avg QP:28.69 size: 253
[libx264 @ 0x30a3200] consecutive B-frames: 13.9% 28.3% 5.6% 52.3%
[libx264 @ 0x30a3200] mb I I16..4: 70.8% 0.0% 29.2%
[libx264 @ 0x30a3200] mb P I16..4: 4.8% 0.0% 1.6% P16..4: 16.0% 3.9% 2.0% 0.0% 0.0% skip:71.9%
[libx264 @ 0x30a3200] mb B I16..4: 0.5% 0.0% 0.1% B16..8: 11.1% 0.7% 0.1% direct: 0.1% skip:87.4% L0:44.2% L1:44.7% BI:11.1%
[libx264 @ 0x30a3200] coded y,uvDC,uvAC intra: 19.3% 30.9% 23.5% inter: 2.3% 2.3% 1.3%
[libx264 @ 0x30a3200] i16 v,h,dc,p: 39% 47% 2% 12%
[libx264 @ 0x30a3200] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 25% 32% 5% 5% 3% 4% 3% 3%
[libx264 @ 0x30a3200] i8c dc,h,v,p: 51% 40% 7% 2%
[libx264 @ 0x30a3200] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x30a3200] ref P L0: 63.7% 4.9% 19.3% 12.1%
[libx264 @ 0x30a3200] ref B L0: 67.6% 32.4%
[libx264 @ 0x30a3200] kb/s:196.48 -
Latency and DAF in RTP transmissions
24 février 2023, par jfernandzI'm trying to perform some tests for audio RTP transmissions to know their technical limitations. The idea is to prevent DAF effect in this kind of transmissions, I'm assuming a latency lower than 50ms will prevent it. But there is another handicap in my analysis, the RTP transmission must be over WiFi.


For this tests I'm trying to transmit raw audio (not sure if skipping the encoding stage will improve latency) through
ffmpeg
between two different laptops, so I'm runningffmpeg
in the first laptop (172.20.1.2
) as :

$ ffmpeg -f pulse -i 56 -c copy -f rtp rtp://172.20.1.5:10000


which produces the following output :


ffmpeg version n5.1.2 Copyright (c) 2000-2022 the FFmpeg developers
 built with gcc 12.2.0 (GCC)
 configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librav1e --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-opencl --enable-opengl --enable-shared --enable-version3 --enable-vulkan
 libavutil 57. 28.100 / 57. 28.100
 libavcodec 59. 37.100 / 59. 37.100
 libavformat 59. 27.100 / 59. 27.100
 libavdevice 59. 7.100 / 59. 7.100
 libavfilter 8. 44.100 / 8. 44.100
 libswscale 6. 7.100 / 6. 7.100
 libswresample 4. 7.100 / 4. 7.100
 libpostproc 56. 6.100 / 56. 6.100
Guessed Channel Layout for Input Stream #0.0 : stereo
Input #0, pulse, from '56':
 Duration: N/A, start: 1677234050.938677, bitrate: 1536 kb/s
 Stream #0:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
Output #0, rtp, to 'rtp://172.20.1.5:10000':
 Metadata:
 encoder : Lavf59.27.100
 Stream #0:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
SDP:
v=0
o=- 0 0 IN IP4 127.0.0.1
s=No Name
c=IN IP4 172.20.1.5
t=0 0
a=tool:libavformat LIBAVFORMAT_VERSION
m=audio 10000 RTP/AVP 97
b=AS:1536

Stream mapping:
 Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
size= 322kB time=00:00:01.67 bitrate=1573.6kbits/s speed=1.06x



I'm assuming the shown SDP is a valid one :


v=0
o=- 0 0 IN IP4 127.0.0.1
s=No Name
c=IN IP4 172.20.1.5
t=0 0
a=tool:libavformat LIBAVFORMAT_VERSION
m=audio 10000 RTP/AVP 97
b=AS:1536



So I saved it in a file called
ccopy.sdp
on the second laptop (172.20.1.5
). However, when I runffplay
in this other laptop as :

$ ffplay -protocol_whitelist file,rtp,udp -i ccopy.sdp


I can see there is problems with this SDP :


ffplay version n5.1.2 Copyright (c) 2003-2022 the FFmpeg developers
 built with gcc 12.2.0 (GCC)
 configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librav1e --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-nvdec --enable-nvenc --enable-opencl --enable-opengl --enable-shared --enable-version3 --enable-vulkan
 libavutil 57. 28.100 / 57. 28.100
 libavcodec 59. 37.100 / 59. 37.100
 libavformat 59. 27.100 / 59. 27.100
 libavdevice 59. 7.100 / 59. 7.100
 libavfilter 8. 44.100 / 8. 44.100
 libswscale 6. 7.100 / 6. 7.100
 libswresample 4. 7.100 / 4. 7.100
 libpostproc 56. 6.100 / 56. 6.100
[sdp @ 0x7f8eec000c80] Could not find codec parameters for stream 0 (Audio: none, 0 channels): unknown codec
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
Input #0, sdp, from 'ccopy.sdp':
 Metadata:
 title : No Name
 Duration: N/A, bitrate: N/A
 Stream #0:0: Audio: none, 0 channels
Failed to open file 'ccopy.sdp' or configure filtergraph
 nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0 



Not sure if I'm doing something wrong or this is because of I cannot actually use
pcm_s16le
for an RTP transmission. Moreover ... Is there some argument forffmpeg
that I can use to improve this RTP transmission and reduce latency under 50ms.

Thank you all :-)


PS : When I don't use
-c copy
argument forffmpeg
and therefore I have this SDP

v=0
o=- 0 0 IN IP4 127.0.0.1
s=No Name
c=IN IP4 172.20.1.5
t=0 0
a=tool:libavformat LIBAVFORMAT_VERSION
m=audio 10000 RTP/AVP 97
b=AS:768
a=rtpmap:97 PCMU/48000/2



The RTP transmission works as I expect, but with a significant DAF.


-
Record sound with ffmpeg on ubuntu 12.04 [closed]
27 juin 2012, par vzybillyI have been working for a few days on trying to get ffmpeg to record sound, a short list of what I've tried :
#Crappy screen grab
#ffmpeg -f x11grab -s "1366x768" -r "24" -i :0.0 -f mp4 ./out
#awesome screen grab, grabbing sound but non out.
#ffmpeg -f x11grab -s "1366x768" -r "24" -i :0.0 -f alsa -ac 2 -i pulse -vcodec libx264 -s "1366x768" -acodec libmp3lame -ab 128k -threads 0 -f mp4 ~/Desktop/vid
#audio test, no audio in file.
#ffmpeg -f alsa -ac 2 -i pulse -acodec libmp3lame -ab 128k -threads 0 -f mp3 ./test.mp3
#awesome screen grab.
#ffmpeg -f x11grab -s "1366x768" -r "24" -i :0.0 -threads 0 -sameq -an -f mp4 ~/Desktop/vid[/CODE]I'm running ubuntu 12.04 from beta(ish)it would be awesome if someone could help me get this to work all in one line or (the way i'm going) multiple instances of ffmpeg (screen grab, microphone, program)
I have also tried the pavucontrol with doing the monitoring of when recording audio, but that does not help either.
Thanks for all of your help, vzybilly
EDIT :
This one crashed.$ ffmpeg -f alsa -ac 2 -i plughw:0,0 -f x11grab -r 100 -s 1366x768 -i :0.0 -acodec pcm_s16le -vcodec libx264 -preset ultrafast -threads 3 testVid.mkv
ffmpeg version 0.8.3-4:0.8.3-0ubuntu0.12.04.1, Copyright (c) 2000-2012 the Libav developers
built on Jun 12 2012 16:37:58 with gcc 4.6.3
*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
[alsa @ 0x8fce240] capture with some ALSA plugins, especially dsnoop, may hang.
[alsa @ 0x8fce240] Estimating duration from bitrate, this may be inaccurate
Input #0, alsa, from 'plughw:0,0':
Duration: N/A, start: 433.999945, bitrate: N/A
Stream #0.0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
[x11grab @ 0x8fde820] device: :0.0 -> display: :0.0 x: 0 y: 0 width: 1366 height: 768
[x11grab @ 0x8fde820] shared memory extension found
[x11grab @ 0x8fde820] Estimating duration from bitrate, this may be inaccurate
Input #1, x11grab, from ':0.0':
Duration: N/A, start: 1340805516.368518, bitrate: N/A
Stream #1.0: Video: rawvideo, bgra, 1366x768, -2147483 kb/s, 100 tbr, 1000k tbn, 100 tbc
File 'testVid.mkv' already exists. Overwrite ? [y/N] y
Incompatible pixel format 'bgra' for codec 'libx264', auto-selecting format 'yuv420p'
[buffer @ 0x8fde700] w:1366 h:768 pixfmt:bgra
[avsink @ 0x8fcdf20] auto-inserting filter 'auto-inserted scaler 0' between the filter 'src' and the filter 'out'
[scale @ 0x8ff3ce0] w:1366 h:768 fmt:bgra -> w:1366 h:768 fmt:yuv420p flags:0x4
[libx264 @ 0x8fdd920] lookaheadless mb-tree requires intra refresh or infinite keyint
[libx264 @ 0x8fdd920] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
[libx264 @ 0x8fdd920] profile Constrained Baseline, level 4.2
[libx264 @ 0x8fdd920] 264 - core 120 r2151 a3f4407 - H.264/MPEG-4 AVC codec - Copyleft 2003-2011 - 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=3 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.25 aq=0
Output #0, matroska, to 'archinstall4.mkv':
Metadata:
encoder : Lavf53.21.0
Stream #0.0: Video: libx264, yuv420p, 1366x768, q=-1--1, 1k tbn, 100 tbc
Stream #0.1: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
Stream mapping:
Stream #1.0 -> #0.0
Stream #0.0 -> #0.1
Press ctrl-c to stop encoding
[alsa @ 0x8fce240] ALSA buffer xrun.
[matroska @ 0x8fcd980] Application provided invalid, non monotonically increasing dts to muxer in stream 1: 213 >= 213
av_interleaved_write_frame(): Invalid argumentAny thoughts ?
EDIT & ANSWER :
Got it all working with a script :#!/bin/bash
#vzybilly
#these are temp files
aud="aud.mp3"
vid="vid.mp4"
#grab audio & pid
ffmpeg -f alsa -ac 2 -i plughw:0,0 $aud &
audPID=$!
#grab screen & pid
ffmpeg -f x11grab -s "1366x768" -r "24" -i :0.0 -threads 0 -sameq -an -f mp4 $vid &
vidPID=$!
#wait, till name given (that means stop)
read -p "Stop by giving an Output video name?" out
#stop audio and video with pids
kill -n 2 $audPID
kill -n 2 $vidPID
echo "$out"
#combine to the target output file
ffmpeg -i $aud -i $vid -acodec copy -vcodec copy "$out"
#purge the temp files
rm $aud
rm $vid