Recherche avancée

Médias (2)

Mot : - Tags -/doc2img

Autres articles (64)

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette 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.

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

Sur d’autres sites (7969)

  • FFMPEG library's some command not working on android

    21 février 2014, par Saurabh Prajapati

    I need following 2 commands to work on android platform. I found many article on this site where they inform these command works fine for them but it is not working at my end

    For Fedding Effect :
    "ffmpeg -i filename1 fade=in:5:8 output.mp4"

    For Concate Video Files :
    "ffmpeg -i concat : filename1|filename2 -codec copy output.mp4"

    Error : App throws error like unknown command "concate" and "fad-in5:8".

    My Goal : I need to concate 2 "mp4" video files on android platform with Fed In/Fed Out effects.

    Following is my code

    public class VideoTest extends Activity

    public static final String LOGTAG = "MJPEG_FFMPEG";
    byte[] previewCallbackBuffer;

    boolean recording = false;
    boolean previewRunning = false;

    File jpegFile;          
    int fileCount = 0;

    FileOutputStream fos;
    BufferedOutputStream bos;
    Button recordButton;

    Camera.Parameters p;

    NumberFormat fileCountFormatter = new DecimalFormat("00000");
    String formattedFileCount;

    ProcessVideo processVideo;

    String[] libraryAssets = {"ffmpeg","ffmpeg.so",
           "libavcodec.so", "libavcodec.so.52", "libavcodec.so.52.99.1",
           "libavcore.so", "libavcore.so.0", "libavcore.so.0.16.0",
           "libavdevice.so", "libavdevice.so.52", "libavdevice.so.52.2.2",
           "libavfilter.so", "libavfilter.so.1", "libavfilter.so.1.69.0",
           "libavformat.so", "libavformat.so.52", "libavformat.so.52.88.0",
           "libavutil.so", "libavutil.so.50", "libavutil.so.50.34.0",
           "libswscale.so", "libswscale.so.0", "libswscale.so.0.12.0"
    };

    @Override
    public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);

       for (int i = 0; i < libraryAssets.length; i++) {
           try {
               InputStream ffmpegInputStream = this.getAssets().open(libraryAssets[i]);
               FileMover fm = new FileMover(ffmpegInputStream,"/data/data/com.mobvcasting.mjpegffmpeg/" + libraryAssets[i]);
               fm.moveIt();
           } catch (IOException e) {
               e.printStackTrace();
           }
       }

       Process process = null;

       try {
           String[] args = {"/system/bin/chmod", "755", "/data/data/com.mobvcasting.mjpegffmpeg/ffmpeg"};
           process = new ProcessBuilder(args).start();        
           try {
               process.waitFor();
           } catch (InterruptedException e) {
               e.printStackTrace();
           }
           process.destroy();

       } catch (IOException e) {
           e.printStackTrace();
       }

       File savePath = new File(Environment.getExternalStorageDirectory().getPath() + "/com.mobvcasting.mjpegffmpeg/");
       savePath.mkdirs();

       requestWindowFeature(Window.FEATURE_NO_TITLE);
       getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

       setContentView(R.layout.main);


       processVideo = new ProcessVideo();
       processVideo.execute();
    }



    @Override
    public void onConfigurationChanged(Configuration conf)
    {
       super.onConfigurationChanged(conf);
    }  


    private class ProcessVideo extends AsyncTask {
       @Override
       protected Void doInBackground(Void... params) {
           Log.d("test", "VideoTest doInBackground Start");
           /*String videofile = Environment.getExternalStorageDirectory().getPath() + "/com.mobvcasting.mjpegffmpeg/splitter.mp4";
           File file = new File(videofile);
           if(file.exists())
               file.delete();
           file=null;*/

           Process ffmpegProcess = null;
           try {

               String filename1 = Environment.getExternalStorageDirectory().getPath()+ "/com.mobvcasting.mjpegffmpeg/test.mp4";
               String filename2 = Environment.getExternalStorageDirectory().getPath()+ "/com.mobvcasting.mjpegffmpeg/splitter.mp4";
               String StartPath = Environment.getExternalStorageDirectory().getPath() + "/com.mobvcasting.mjpegffmpeg/";

               //String[] ffmpegCommand = {"/data/data/com.mobvcasting.mjpegffmpeg/ffmpeg", "-i", "concat:\""+ filename1+"|"+ filename2+"\"", "-codec", "copy", Environment.getExternalStorageDirectory().getPath() + "/com.mobvcasting.mjpegffmpeg/output.mp4"};
               //String[] ffmpegCommand = {"/data/data/com.mobvcasting.mjpegffmpeg/ffmpeg", "-i", filename1, "fade=in:5:8", Environment.getExternalStorageDirectory().getPath() + "/com.mobvcasting.mjpegffmpeg/output.mp4"};

               ffmpegProcess = new ProcessBuilder(ffmpegCommand).redirectErrorStream(true).start();            

               OutputStream ffmpegOutStream = ffmpegProcess.getOutputStream();
               BufferedReader reader = new BufferedReader(new InputStreamReader(ffmpegProcess.getInputStream()));

               String line;

               Log.d("test", "***Starting FFMPEG***");
               while ((line = reader.readLine()) != null)
               {
                   Log.d("test", "***"+line+"***");
               }
               Log.d("test", "***Ending FFMPEG***");


           } catch (IOException e) {
               e.printStackTrace();
           }

           if (ffmpegProcess != null) {
               ffmpegProcess.destroy();        
           }
           Log.d("test", "doInBackground End");
           return null;
       }

        protected void onPostExecute(Void... result) {
            Log.d("test", "onPostExecute");
            Toast toast = Toast.makeText(VideoTest.this, "Done Processing Video", Toast.LENGTH_LONG);
            toast.show();
        }
    }

    Just for your information, I have copy source from following library

    https://github.com/pvskalyan/Android-MJPEG-Video-Capture-FFMPEG?source=c

  • OSError : MoviePy error : failed to read the first frame of video file

    1er août 2023, par Steve

    I am trying to extract and save a frame from an .mp4 using moviepy like so (simplified) :

    


    from moviepy.editor import *
clip = VideoFileClip('conditiontest1.mpg')
clip.save_frame('frame1.png', 20)


    


    When I run this I get :

    


    


    Traceback (most recent call last) :
    
File"C :\Users\boss\Documents\DVDFab\Video Enhancer AI\join.py", line 23, > in 
clip = VideoFileClip(d + f + '.mp4')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
File "C :\Python311\Lib\site-packages\moviepy\video\io\VideoFileClip.py", > line 88, in init_
self.reader = FFMPEG_VideoReader(filename, pix_fmt=pix_fmt,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    
File "C :\Python311\Lib\site-packages\moviepy\video\io\ffmpeg_reader.py", > line 73, in init_
self.lastread = self.read_frame()
^^^^^^^^^^^^^^^^^
    
File "C :\Python311\Lib\site-packages\moviepy\video\io\ffmpeg_reader.py", > line 133, in read_frame
raise IOError(("MoviePy error : failed to read the first frame of "
OSError : MoviePy error : failed to read the first frame of video file > conditiontest1.mp4. That might mean that the file is corrupted. That may also mean that you are using a deprecated version of FFMPEG. On Ubuntu/Debian for instance the version in the repos is deprecated. Please update to a recent version from the website.

    


    


    Quite a few people have reported this error. The file is not corrupted, at least it plays fine in VLC. I have the latest FFMPEG. I have tried the other recommended fix, i.e. giving the full path. No help.

    


    One interesting thing is that this only seems to happen to me when I'm processing clips I've produced with moviepy, as in :

    


    from moviepy.editor import *
clip = VideoFileClip('conditiontest.mpg4')
clip1 = clip.subclip(10,60)
clip1.write_videofile('conditiontest1.mpg4',codec='libx264')


    


    That runs fine. Anyone have ideas how I can fix this ?

    


  • Python Send FFMPEG stdout and stderr to Multiple files using for loop

    17 avril 2021, par D0n

    Here is my scripts

    


    csv_location = '/home/scripts/streams.csv'
ffmpeg_location = '/usr/bin/ffmpeg'
ffmpeglogs = '/home/scripts/ffmpeglog/'

# Open the streams list csv file
with open(csv_location) as csv_file:
    csv_reader = csv.reader(csv_file, delimiter=',')
    for row in csv_reader:
        ffmpeg_log = (ffmpeglogs + row[0]) # set the ffmpeg log to be named the stream name
        # Open log file for writing
        with open(ffmpeg_log, 'wb') as ffmpeg_output: 
            # Iterate through streams list
            for row in csv_reader:
                print(row)
                stream_output = (row[0] + ".mpeg") # stream output variable
                # Subprocess record 1 stream at a time & send the output t0 stdout & stdeer
                ffmpeg_instance = subprocess.Popen([ffmpeg_location, '-t', '10', '-i', row[1], stream_output], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
                # sent output to ffmpeg log
                ffmpeg_output.write(ffmpeg_instance.communicate()[1])


    


    Here is my CSV File

    


    Name,RTSP_URL
stream1,rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov
stream3,rtsp://wowz.streamlock.net/vod/mp4:BigBuckBunny_115k.mov
stream4,rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov


    


    So I have a script that reads a CSV file and ffmpeg records the video for 10 seconds. Then spits the output of the FFMPEG to a file. I need each camera to have its own file. Really just to log FFMPEG output for each camera. But my issue is that the FFMPEG output for multiple cameras get written to 1 file.

    


    Here is what I want to see in /home/scripts/ffmpeglog/

    


    stream1 stream3 stream4


    


    Here's what I'm actually what I see in /home/scripts/ffmpeglog/

    


    name stream1