
Recherche avancée
Médias (91)
-
Head down (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Echoplex (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Discipline (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
Letting you (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
1 000 000 (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
999 999 (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
Autres articles (50)
-
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 ;
-
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
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 (...)
Sur d’autres sites (9375)
-
ffmpeg - Recording live stream
16 novembre 2016, par arpakI try to record 59 minutes from live hls(m3u8) link
ffmpeg -i http://example.com/video.m3u8 -t 3420 -c copy -y -hls_playlist_type vod /var/www/html/recording/rec1.m3u8
So it works But if there is a network problem with input link for few seconds it stop the recording.
Is there a way to make the ffmpeg wait for input link and then contiue recording without killing the ffmpeg
so i read about timeout but dont know exactly how to make it.
so maybe ffmpeg can wait for input link and then continue to record after it is available or maybe display image when first input is down, so whatever solution is acceptable just not to kill ffmpeg if input source is down -
A Comprehensive Guide to Robust Digital Marketing Analytics
30 octobre 2023, par Erin -
Unable play Audio AC3 in Exoplayer + FFmpeg, i read the guide correctly, should I be wrong ?
24 mars 2020, par mOsCpU0I would like to implement FFmpeg in Exoplayer in my App, in order to read video formats with AC3 Audio track.
I followed these steps, but I still don’t hear Audio AC3 and I can’t enable Exoplayer to play the audio track via Software.
I have my code if needed and the guide I used is this :
https://github.com/google/ExoPlayer/tree/release-v2/extensions/ffmpeg
I hope for your help !
package com.omegasus_test.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Dialog;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.google.android.exoplayer2.DefaultRenderersFactory;
import com.google.android.exoplayer2.ExoPlaybackException;
import com.google.android.exoplayer2.ExoPlayer;
import com.google.android.exoplayer2.ExoPlayerFactory;
import com.google.android.exoplayer2.PlaybackParameters;
import com.google.android.exoplayer2.Player;
import com.google.android.exoplayer2.Timeline;
import com.google.android.exoplayer2.source.ExtractorMediaSource;
import com.google.android.exoplayer2.source.MediaSource;
import com.google.android.exoplayer2.source.TrackGroupArray;
import com.google.android.exoplayer2.source.hls.HlsMediaSource;
import com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection;
import com.google.android.exoplayer2.trackselection.DefaultTrackSelector;
import com.google.android.exoplayer2.trackselection.TrackSelection;
import com.google.android.exoplayer2.trackselection.TrackSelectionArray;
import com.google.android.exoplayer2.ui.AspectRatioFrameLayout;
import com.google.android.exoplayer2.ui.SimpleExoPlayerView;
import com.google.android.exoplayer2.upstream.BandwidthMeter;
import com.google.android.exoplayer2.upstream.DefaultBandwidthMeter;
import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory;
import com.google.android.exoplayer2.util.Util;
import java.io.File;
import java.io.FileOutputStream;
public class MainActivity extends AppCompatActivity {
String LINK_TO_PLAY="";
ExoPlayer player;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Uri uri=Uri.parse(LINK_TO_PLAY);
final SimpleExoPlayerView pv=findViewById(R.id.player_view);
pv.setVisibility(View.GONE);
pv.setResizeMode(AspectRatioFrameLayout.RESIZE_MODE_FIT);
BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
TrackSelection.Factory videoTrackSelectionFactory =new AdaptiveTrackSelection.Factory(bandwidthMeter);
DefaultTrackSelector trackSelector =new DefaultTrackSelector(videoTrackSelectionFactory);
trackSelector.setParameters( trackSelector.getParameters().buildUpon().setPreferredAudioLanguage("ita"));
DefaultRenderersFactory rf = new DefaultRenderersFactory(getApplicationContext()).setExtensionRendererMode(DefaultRenderersFactory.EXTENSION_RENDERER_MODE_PREFER);
player = ExoPlayerFactory.newSimpleInstance(getApplicationContext(),rf, trackSelector);
pv.setPlayer(player);
MediaSource source;
if(LINK_TO_PLAY.contains("file://")){
DefaultDataSourceFactory dataSourceFactory = new DefaultDataSourceFactory(getApplicationContext(), Util.getUserAgent(getApplicationContext(), "com.omegasus_test.myapplication"));
source = new ExtractorMediaSource.Factory(dataSourceFactory).createMediaSource(uri);
}else if(LINK_TO_PLAY.contains(".m3u8")){
DefaultDataSourceFactory dataSourceFactory = new DefaultDataSourceFactory(getApplicationContext(),Util.getUserAgent(getApplicationContext(), "com.omegasus_test.myapplication"));
source = new HlsMediaSource.Factory(dataSourceFactory).createMediaSource(uri);
}else{
DefaultDataSourceFactory dataSourceFactory = new DefaultDataSourceFactory(getApplicationContext(),Util.getUserAgent(getApplicationContext(), "com.omegasus_test.myapplication"));
source = new ExtractorMediaSource.Factory(dataSourceFactory).createMediaSource(uri);
}
player.prepare(source);
player.addListener(new Player.EventListener(){
public void onSeekProcessed(){}
public void onPlayerStateChanged(boolean playWhenReady, int playbackState) {
if(playbackState == ExoPlayer.STATE_READY){
pv.setVisibility(View.VISIBLE);
pv.setResizeMode(AspectRatioFrameLayout.RESIZE_MODE_FIT);
}else if(playbackState==ExoPlayer.STATE_BUFFERING){
}else if(playbackState==ExoPlayer.STATE_ENDED){
}
}
public void onTimelineChanged(Timeline p1, Object p2, int p3){
}
public void onTracksChanged(TrackGroupArray p1, TrackSelectionArray p2){
}
public void onShuffleModeEnabledChanged(boolean p1){
}
public void onPositionDiscontinuity(int p1){
}
public void onPlaybackParametersChanged(PlaybackParameters p1){
}
public void onLoadingChanged(boolean p1){
}
public void onPlayerError(ExoPlaybackException p1){
if(p1.getMessage()==null){
Toast.makeText(getApplicationContext(),"Errore sconosciuto",Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(getApplicationContext(),"Player Error: "+p1.getMessage(),Toast.LENGTH_SHORT).show();
}
player.setPlayWhenReady(false);
player.stop();
player.seekTo(0);
player.release();
finish();
}
public void onRepeatModeChanged(int p1){
}
});
player.setPlayWhenReady(true);
}
}