
Recherche avancée
Autres articles (53)
-
Mise à jour de la version 0.1 vers 0.2
24 juin 2013, parExplications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...) -
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
-
La sauvegarde automatique de canaux SPIP
1er avril 2010, parDans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...)
Sur d’autres sites (9776)
-
Condition to check if a command printed something to stdout
3 août 2021, par Jesse HixI am trying to create a loop that will return pass or fail if something is printed to stdout using the command below. The command will print info to the screen if a video has audio and it will print nothing if it doesn't. Currently the loop only prints pass on both the audio and non audio files. Is there a way to set the condition to stdout and determine if something was printed ?


ffprobe -i INPUT -show_streams -select_streams a -loglevel error >/dev/null
if [ $? == 0 ]
then 
 echo pass
else
 echo fail
fi



-
FFplay requesting video via RTSP :// but receiving on multicast address
28 mai 2014, par DavidGFirst of all, I apologize for how long the supporting information will be in this post. This is my first post on this forum.
My issue is I need to run the command line version of ffmpeg to capture a video stream. However, as a proof of concept I’m first attempting to capture and view the video using ffplay (BTW, I have not had any success using ffmpeg or ffprobe). I’m running the ffplay command to read video from a Coretec video encoder which has multicast enabled.
Unicast address: 172.30.18.50
Multicast address: 239.130.18.50:4002My question is how can I request the Unicast address, but receive the video on the multicast address ? (BTW, the ffplay operation does not work even if I replace the Unicast address with the Multicast address below)
NOTE : After looking at the Wireshark trace, I see the video data has GSMTAP in the protocol column. When I do "ffmpeg -protocols : I see there is a Decoder "gsm" which decodes raw gsm. however, when I use ffplay -f gsm ... I get "Protocol not found".
I am able to use VLC to view the video using the following command :
VLC rtsp://172.30.18.50
It appears from the Wireshark trace that the session is initiated on the Unicast address, but the video is streamed on the Multicast address. VLC is able to determine this and perform the appropriate operation. I don’t know what to add to ffplay to let it know that another stream will be carrying the video.
I am UNABLE to perform the following ffplay commands (none of them work) :
ffplay -v debug rtsp://172.30.18.50
ffplay -v debug -rtsp_transport udp rtsp://172.30.18.50
ffplay -v debug -rtsp_transport udp_multicast rtsp://172.30.18.50NOTE : I am able to get ffplay to launch, but the video is garbled badly. Maybe this bit of information will ring a bell for someone ? The command I used was :
ffplay -v debug -i udp://239.130.18.50:4002?sources=172.30.18.50
The version of ffplay I’m using is :
ffplay version N-63439-g96470ca Copyright (c) 2003-2014 the FFmpeg developers
built on May 25 2014 22:09:07 with gcc 4.8.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp
e --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-
libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libope
njpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsox
r --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab -
-enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx
--enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-
libxavs --enable-libxvid --enable-decklink --enable-zlib
libavutil 52. 86.100 / 52. 86.100
libavcodec 55. 65.100 / 55. 65.100
libavformat 55. 41.100 / 55. 41.100
libavdevice 55. 13.101 / 55. 13.101
libavfilter 4. 5.100 / 4. 5.100
libswscale 2. 6.100 / 2. 6.100
libswresample 0. 19.100 / 0. 19.100
libpostproc 52. 3.100 / 52. 3.100The debug output for ffplay -v debug rtsp ://172.30.18.50 is :
[rtsp @ 0000000002a8be80] SDP:= 0KB vq= 0KB sq= 0B f=0/0
v=0
o=- 1 1 IN IP4 50.18.30.172
s=Test
a=type:broadcast
t=0 0
c=IN IP4 239.130.18.50/63
m=video 4002 RTP/AVP 96
a=rtpmap:96 MP4V-ES/90000
a=fmtp:96 profile-level-id=245;config=000001B0F5000001B509000001000000012000C8F8
A058BA9860FA616087828307a=control:track1
[rtsp @ 0000000002a8be80] video codec set to: mpeg4
[udp @ 0000000002a8bac0] end receive buffer size reported is 65536
[udp @ 0000000002aa1600] end receive buffer size reported is 65536
[rtsp @ 0000000002a8be80] Nonmatching transport in server reply/0
rtsp://172.30.18.50: Invalid data found when processing inputAnd the Wireshark trace output is :
OPTIONS rtsp://172.30.18.50:554 RTSP/1.0
CSeq: 1
User-Agent: Lavf55.41.100
RTSP/1.0 200 OK
CSeq: 1
Public: DESCRIBE, SETUP, TEARDOWN, PLAY
DESCRIBE rtsp://172.30.18.50:554 RTSP/1.0
Accept: application/sdp
CSeq: 2
User-Agent: Lavf55.41.100
RTSP/1.0 200 OK
CSeq: 2 Content-Type: application/sdp
Content-Length: 270
v=0
o=- 1 1 IN IP4 50.18.30.172
s=Test
a=type:broadcast
t=0 0
c=IN IP4 239.130.18.50/63
m=video 4002 RTP/AVP 96
a=rtpmap:96 MP4V-ES/90000
a=fmtp:96 profile-level-id=245;config=000001B0F5000001B509000001000000012000C8F8A058BA9860FA616087828307a=control:track1
SETUP rtsp://172.30.18.50:554 RTSP/1.0
Transport: RTP/AVP/UDP;unicast;client_port=9574-9575
CSeq: 3
User-Agent: Lavf55.41.100
RTSP/1.0 200 OK
CSeq: 3
Session: test
Transport: RTP/AVP;multicast;destination=;port=4002-4003;ttl=63The debug output for ffplay -v debug -rtsp_transport udp rtsp ://172.30.18.50 is :
[rtsp @ 0000000002c5c0a0] SDP:= 0KB vq= 0KB sq= 0B f=0/0
v=0
o=- 1 1 IN IP4 50.18.30.172
s=Test
a=type:broadcast
t=0 0
c=IN IP4 239.130.18.50/63
m=video 4002 RTP/AVP 96
a=rtpmap:96 MP4V-ES/90000
a=fmtp:96 profile-level-id=245;config=000001B0F5000001B509000001000000012000C8F8
A058BA9860FA616087828307a=control:track1
[rtsp @ 0000000002c5c0a0] video codec set to: mpeg4
[udp @ 0000000002c62420] end receive buffer size reported is 65536
[udp @ 0000000002c726a0] end receive buffer size reported is 65536
[rtsp @ 0000000002c5c0a0] Nonmatching transport in server reply/0
rtsp://172.30.18.50: Invalid data found when processing inputAnd the Wireshark trace output is :
OPTIONS rtsp://172.30.18.50:554 RTSP/1.0
CSeq: 1
User-Agent: Lavf55.41.100
RTSP/1.0 200 OK
CSeq: 1
Public: DESCRIBE, SETUP, TEARDOWN, PLAY
DESCRIBE rtsp://172.30.18.50:554 RTSP/1.0
Accept: application/sdp
CSeq: 2
User-Agent: Lavf55.41.100
RTSP/1.0 200 OK
CSeq: 2
Content-Type: application/sdp
Content-Length: 270
v=0
o=- 1 1 IN IP4 50.18.30.172
s=Test
a=type:broadcast
t=0 0
c=IN IP4 239.130.18.50/63
m=video 4002 RTP/AVP 96
a=rtpmap:96 MP4V-ES/90000 a=fmtp:96 profile-level-id=245;config=000001B0F5000001B509000001000000012000C8F8A058BA9860FA616087828307a=control:track1
SETUP rtsp://172.30.18.50:554 RTSP/1.0
Transport: RTP/AVP/UDP;unicast;client_port=22332-22333
CSeq: 3
User-Agent: Lavf55.41.100
RTSP/1.0 200 OK
CSeq: 3
Session: test
Transport: RTP/AVP;multicast;destination=239.130.18.50;port=4002-4003;ttl=63The debug output for ffplay -v debug -rtsp_transport udp_multicast is :
[rtsp @ 00000000002fc100] SDP:= 0KB vq= 0KB sq= 0B f=0/0
v=0
o=- 1 1 IN IP4 50.18.30.172
s=Test
a=type:broadcast
t=0 0
c=IN IP4 239.130.18.50/63
m=video 4002 RTP/AVP 96
a=rtpmap:96 MP4V-ES/90000
a=fmtp:96 profile-level-id=245;config=000001B0F5000001B509000001000000012000C8F8
A058BA9860FA616087828307a=control:track1
[rtsp @ 00000000002fc100] video codec set to: mpeg4
nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0And the Wireshark trace output is :
OPTIONS rtsp://172.30.18.50:554
RTSP/1.0
CSeq: 1
User-Agent: Lavf55.41.100
RTSP/1.0 200 OK
CSeq: 1
Public: DESCRIBE, SETUP, TEARDOWN, PLAY
DESCRIBE rtsp://172.30.18.50:554 RTSP/1.0
Accept: application/sdp
CSeq: 2
User-Agent: Lavf55.41.100
RTSP/1.0 200 OK
CSeq: 2
Content-Type: application/sdp
Content-Length: 270
v=0
o=- 1 1 IN IP4 50.18.30.172
s=Test
a=type:broadcast
t=0 0
c=IN IP4 239.130.18.50/63
m=video 4002 RTP/AVP 96
a=rtpmap:96 MP4V-ES/90000
a=fmtp:96 profile-level-id=245;config=000001B0F5000001B509000001000000012000C8F8A058BA9860FA616087828307a=control:track1
SETUP rtsp://172.30.18.50:554 RTSP/1.0
Transport: RTP/AVP/UDP;multicast
CSeq: 3
User-Agent: Lavf55.41.100Thank you in advance to whomever is willing to tackle this.
DavidG
-
Targeting a specific file size in vp8+vorbis encoding using ffmpeg
4 août 2021, par Mohammad ZamanianI have a couple videos that I want to encode to vp8 for video and Vorbis for audio. This is the FFmpeg command I'm currently using :


ffmpeg -y -i input.mp4 -map 0:v:0 -s 640x360 -filter:v fps=20 -c:v libvpx -crf 10 -b:v 200k -map 0:a:0 -b:a 48k -c:a libvorbis output.webm



I want to have control over output file size and limit it to 3MB without clipping the video, but instead, lose quality. so I cant use
-fs 3MB
.

How can I determine the file size based on video and audio bitrates and duration ?


How can I limit the file size without clipping ?