
Recherche avancée
Autres articles (29)
-
Pas question de marché, de cloud etc...
10 avril 2011Le vocabulaire utilisé sur ce site essaie d’éviter toute référence à la mode qui fleurit allègrement
sur le web 2.0 et dans les entreprises qui en vivent.
Vous êtes donc invité à bannir l’utilisation des termes "Brand", "Cloud", "Marché" etc...
Notre motivation est avant tout de créer un outil simple, accessible à pour tout le monde, favorisant
le partage de créations sur Internet et permettant aux auteurs de garder une autonomie optimale.
Aucun "contrat Gold ou Premium" n’est donc prévu, aucun (...) -
Les formats acceptés
28 janvier 2010, parLes commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
ffmpeg -codecs ffmpeg -formats
Les format videos acceptés en entrée
Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
Les formats vidéos de sortie possibles
Dans un premier temps on (...) -
Création définitive du canal
12 mars 2010, parLorsque votre demande est validée, vous pouvez alors procéder à la création proprement dite du canal. Chaque canal est un site à part entière placé sous votre responsabilité. Les administrateurs de la plateforme n’y ont aucun accès.
A la validation, vous recevez un email vous invitant donc à créer votre canal.
Pour ce faire il vous suffit de vous rendre à son adresse, dans notre exemple "http://votre_sous_domaine.mediaspip.net".
A ce moment là un mot de passe vous est demandé, il vous suffit d’y (...)
Sur d’autres sites (8886)
-
Restreaming an rtsp stream through ffmpeg on iOS
6 avril 2017, par animaonlineI have an iOS application that displays an rtsp stream from an IP camera on the local network, I would like to restream it to an external server in real time (Wowza to be specific) the server will take care of converting rtsp to HLS so that the users can view the live broadcast on their devices.
On a computer it would be pretty straight forward :
ffmpeg [input-options] -i [input-file] [output-options] [output-stream-URI]
But I need to do it programmatically on iOS, and I’m not really sure if it’s even possible. Anyone ?
-
Buid Exoplayer with ffmpeg extension
22 février 2021, par Bhoomi KalavadiyaI'm making IP streaming android application. In which I'm using exoplayer 2.12.0. Input video is having mpeg-L2 audio layer codec which is not supported by exoplayer https://github.com/google/ExoPlayer/issues/6525. So i'm using ffmpeg extension to render audio.

I have followed https://github.com/google/ExoPlayer/tree/release-v2/extensions/ffmpeg steps to build ffmpeg extension with android-ndk-r21d-linux-x86_64 and FFmpeg-release-4.3.

Added code in the application

TrackSelector trackSelectors = new DefaultTrackSelector(new AdaptiveTrackSelection.Factory()); RenderersFactory renderersFactory=new DefaultRenderersFactory(this,EXTENSION_RENDERER_MODE_ON,DEFAULT_ALLOWED_VIDEO_JOINING_TIME_MS); player = ExoPlayerFactory.newSimpleInstance(this, renderersFactory,trackSelectors);



Still audio is not coming and the log is as below

2020-12-01 05:05:10.803 9161-9161/demo.demoapps.com.exoplayer2udpdemo D/EventLogger : videoEnabled [eventTime=1.39, mediaPos=0.00, window=0, period=0]

2020-12-01 05:05:10.808 9161-9161/demo.demoapps.com.exoplayer2udpdemo D/EventLogger : tracks [eventTime=1.39, mediaPos=0.00, window=0, period=0, []]

2020-12-01 05:05:10.808 9161-9161/demo.demoapps.com.exoplayer2udpdemo I/MainActivity : onTracksChanged

2020-12-01 05:05:10.809 9161-9161/demo.demoapps.com.exoplayer2udpdemo I/MainActivity : 2

2020-12-01 05:05:10.809 9161-9161/demo.demoapps.com.exoplayer2udpdemo I/MainActivity : Format(2204/5204, null, null, video/mpeg2, null, -1, null, [720, 576, -1.0], [-1, -1])

2020-12-01 05:05:10.809 9161-9161/demo.demoapps.com.exoplayer2udpdemo I/MainActivity : Format(2204/6204, null, null, audio/mpeg-L2, null, -1, null, [-1, -1, -1.0], [2, 48000])

2020-12-01 05:05:10.813 9161-9161/demo.demoapps.com.exoplayer2udpdemo D/EventLogger : downstreamFormat [eventTime=1.40, mediaPos=0.00, window=0, period=0, id=2204/5204, mimeType=video/mpeg2, res=720x576]

2020-12-01 05:05:10.827 9161-9219/demo.demoapps.com.exoplayer2udpdemo I/OMXClient : IOmx service obtained

2020-12-01 05:05:10.926 9161-9218/demo.demoapps.com.exoplayer2udpdemo D/SurfaceUtils : connecting to surface 0x6f5abb1010, reason connectToSurface

2020-12-01 05:05:10.928 9161-9218/demo.demoapps.com.exoplayer2udpdemo I/MediaCodec : [OMX.qcom.video.decoder.mpeg2] setting surface generation to 9380865

2020-12-01 05:05:10.928 9161-9218/demo.demoapps.com.exoplayer2udpdemo D/SurfaceUtils : disconnecting from surface 0x6f5abb1010, reason connectToSurface(reconnect)

2020-12-01 05:05:10.929 9161-9218/demo.demoapps.com.exoplayer2udpdemo D/SurfaceUtils : connecting to surface 0x6f5abb1010, reason connectToSurface(reconnect)

2020-12-01 05:05:10.941 9161-9219/demo.demoapps.com.exoplayer2udpdemo I/ExtendedACodec : setupVideoDecoder()

2020-12-01 05:05:10.950 9161-9219/demo.demoapps.com.exoplayer2udpdemo I/ExtendedACodec : Decoder will be in frame by frame mode

2020-12-01 05:05:10.995 9161-9219/demo.demoapps.com.exoplayer2udpdemo D/SurfaceUtils : set up nativeWindow 0x6f5abb1010 for 720x576, color 0x7fa30c06, rotation 0, usage 0x20002900

2020-12-01 05:05:11.014 9161-9161/demo.demoapps.com.exoplayer2udpdemo D/EventLogger : videoDecoderInitialized [eventTime=1.60, mediaPos=0.00, window=0, period=0, OMX.qcom.video.decoder.mpeg2]

2020-12-01 05:05:11.015 9161-9161/demo.demoapps.com.exoplayer2udpdemo D/EventLogger : videoInputFormat [eventTime=1.60, mediaPos=0.00, window=0, period=0, id=2204/5204, mimeType=video/mpeg2, res=720x576]

2020-12-01 05:05:11.060 9161-9219/demo.demoapps.com.exoplayer2udpdemo D/SurfaceUtils : set up nativeWindow 0x6f5abb1010 for 720x576, color 0x7fa30c06, rotation 0, usage 0x20002900

2020-12-01 05:05:11.101 9161-9161/demo.demoapps.com.exoplayer2udpdemo D/EventLogger : videoSize [eventTime=1.69, mediaPos=0.00, window=0, period=0, 720, 576]

2020-12-01 05:05:11.153 9161-9161/demo.demoapps.com.exoplayer2udpdemo D/EventLogger : surfaceSize [eventTime=1.74, mediaPos=0.00, window=0, period=0, 786, 590]

2020-12-01 05:05:11.180 9161-9161/demo.demoapps.com.exoplayer2udpdemo D/EventLogger : renderedFirstFrame [eventTime=1.76, mediaPos=0.00, window=0, period=0, Surface(name=null)/@0x1c4f9a6]

2020-12-01 05:05:12.517 9161-9161/demo.demoapps.com.exoplayer2udpdemo I/MainActivity : onPlayerStateChanged : playWhenReady = true playbackState = 3

2020-12-01 05:05:12.517 9161-9161/demo.demoapps.com.exoplayer2udpdemo I/MainActivity : ExoPlayer ready ! pos :

2020-12-01 05:05:12.518 9161-9161/demo.demoapps.com.exoplayer2udpdemo D/EventLogger : state [eventTime=3.10, mediaPos=0.00, window=0, period=0, READY]

2020-12-01 05:05:12.523 9161-9161/demo.demoapps.com.exoplayer2udpdemo D/EventLogger : isPlaying [eventTime=3.11, mediaPos=0.00, window=0, period=0, true]


Here, With or without ffmpeg extension, I'm not getting audioEnabled log in Eventlogger.
Also after using ffmpeg audio render, I'm not getting it is being used or not.
Or am I missing some configuration of ffmpeg extension to Exoplayer ?
 -
FFmpeg HLS streaming - Why the program date time of older segment changing when re-streaming after discontinuity
9 novembre 2020, par Suriya KrishFollowing is the ffmpeg command to stream the data.


ffmpeg -re -f avfoundation 
-framerate 30 -i 0 
-codec:v h264_videotoolbox -x264-params keyint=120:scenecut=0 
-codec:a copy -f hls 
-hls_list_size 60 
-hls_time 10 
-hls_flags delete_segments 
-hls_flags +append_list 
-hls_flags +discont_start 
-hls_flags +program_date_time 
-strftime 1 
-strftime_mkdir 1 
-hls_segment_filename 
'%Y%m%dT%H%M%S%z.ts' playlist.m3u8



Following is the playlist.m3u8 content which generated for few seconds.


#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-DISCONTINUITY
#EXT-X-DISCONTINUITY
#EXTINF:10.000000,
#EXT-X-PROGRAM-DATE-TIME:2020-11-09T22:07:53.000+0530
20201109T220753+0530.ts
#EXTINF:10.000000,
#EXT-X-PROGRAM-DATE-TIME:2020-11-09T22:08:03.000+0530
20201109T220803+0530.ts
#EXT-X-ENDLIST



When the re-stream happens(in case of restarting the streaming service), the program date time of older segments(before #EXT-X-DISCONTINUITY) also get changed like below, which is unexpected.


#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-DISCONTINUITY
#EXT-X-DISCONTINUITY
#EXTINF:10.000000,
#EXT-X-PROGRAM-DATE-TIME:2020-11-09T22:12:50.633+0530
20201109T220753+0530.ts
#EXTINF:10.000000,
#EXT-X-PROGRAM-DATE-TIME:2020-11-09T22:13:00.633+0530
20201109T220803+0530.ts
#EXT-X-DISCONTINUITY
#EXTINF:10.000000,
#EXT-X-PROGRAM-DATE-TIME:2020-11-09T22:13:12.000+0530
20201109T221312+0530.ts
#EXTINF:5.400000,
#EXT-X-PROGRAM-DATE-TIME:2020-11-09T22:13:22.000+0530
20201109T221322+0530.ts
#EXT-X-ENDLIST



Why the program date time of older segment should change ? Should we add any arguments in ffmpeg command to handle this ?