Recherche avancée

Médias (1)

Mot : - Tags -/berlin

Autres articles (107)

  • Diogene : création de masques spécifiques de formulaires d’édition de contenus

    26 octobre 2010, par

    Diogene est un des plugins ? SPIP activé par défaut (extension) lors de l’initialisation de MediaSPIP.
    A quoi sert ce plugin
    Création de masques de formulaires
    Le plugin Diogène permet de créer des masques de formulaires spécifiques par secteur sur les trois objets spécifiques SPIP que sont : les articles ; les rubriques ; les sites
    Il permet ainsi de définir en fonction d’un secteur particulier, un masque de formulaire par objet, ajoutant ou enlevant ainsi des champs afin de rendre le formulaire (...)

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

Sur d’autres sites (9047)

  • Video capturing in portrait mode but the orientation is wrong when played back with a media player

    17 octobre 2016, par Ahmed Mujtaba

    I’m trying to make a custom video app. The app captures a video using mediarecorder and uploads it to the website where it’s played on a html5 media player. The issue is that, when I capture the video in portrait mode, the playback video on the website and on vlc player have it’s orientation off by 90 degrees. I have tried various solution on the internet but none work for me.

    Here’s what my code for setting up the media recorder :

    private bool prepareMediaRecorder() {

           Android.Hardware.Camera.Parameters p = mCamera.GetParameters();
           List previewSizes = p.SupportedPreviewSizes.ToList();

           //mCamera = GetCameraInstance();
           //setCameraDisplayOrientation(Activity, cameraId, mCamera);

           mediaRecorder = new MediaRecorder();
           mCamera.Unlock();
           mediaRecorder.SetCamera(mCamera);

           mediaRecorder.SetAudioSource(AudioSource.Camcorder);
           mediaRecorder.SetVideoSource(VideoSource.Camera);
           mediaRecorder.SetOrientationHint(CameraS.result);

           if (currentapiVersion >= 16)
           {
               mediaRecorder.SetProfile(CamcorderProfile.Get(CamcorderQuality.High)); // requires API Level 8 or higher
           }
           else
           {
               mediaRecorder.SetProfile(CamcorderProfile.Get(CamcorderQuality.Q480p)); // requires API Level 8 or higher
           }

           //mediaRecorder.SetVideoFrameRate(30);
           mediaRecorder.SetOutputFile(localPath);
           mediaRecorder.SetMaxDuration(600000); // Set max duration 60 sec.
           mediaRecorder.SetMaxFileSize(50000000); // Set max file size 50M
           mediaRecorder.SetVideoSize(previewSizes[0].Width, previewSizes[0].Height);
           mediaRecorder.SetPreviewDisplay(mPreview.Holder.Surface);

           mediaRecorder.SetOrientationHint(getDisplayOrientationAngle());

           try
           {
               mediaRecorder.Prepare();
           }
           catch (IllegalStateException e)
           {
               releaseMediaRecorder();
               return false;
           }
           catch (Java.IO.IOException e)
           {
               releaseMediaRecorder();
               return false;
           }
           return true;

    }

    public int getDisplayOrientationAngle() {
           //Log.e("", "setDisplayOrientationAngle is call");
           int angle;


           var mDisplayRotation = Activity.WindowManager.DefaultDisplay.Rotation;
           // switch (MeasurementNativeActivity.DisplayRotation) {
           switch (mDisplayRotation)
           {
               case SurfaceOrientation.Rotation0: // This is display orientation
                   angle = 90; // This is camera orientation
                   break;
               case SurfaceOrientation.Rotation90:
                   angle = 0;
                   break;
               case SurfaceOrientation.Rotation180:
                   angle = 270;
                   break;
               case SurfaceOrientation.Rotation270:
                   angle = 180;
                   break;
               default:
                   angle = 90;
                   break;
           }
           //Log.v("", "media recorder displayRotation: " + mDisplayRotation);
           //Log.v("", "media recorder angle: " + angle);
           return angle;

    }

    The orientation of the video is fine when played on the phone app but on the website it’s not. I tried to use FFMPEG encoder to rotate the video clockwise. This seemed to fix the orientation of the video, however the aspect ratio of the video is all messed up. The video is stretched vertically and goes off screen.
    The command I’m using to rotate and encode the video is as follows :

    -y -i inputPath -vf scale=640:480,setsar=1,transpose=1 -strict experimental -r 25 -vcodec mpeg4 -b 1000k ab 48000 -ac 2 -ar 22050 destinationPath

    I will really appreciate if someone can help me fix either the orientation of the video or the aspect ration after encoding the video.

    Cheers !

    Edit.

    Here’s the readout of the input file :

    General
    Complete name                  : C:\Users\Ahmed\Desktop\9adcdb56-500e-4d3f-8fb2-ccf20c680422_yt.mp4
    Format                         : MPEG-4
    Format profile                 : Base Media
    Codec ID                       : isom
    File size                      : 6.30 MiB
    Duration                       : 12s 437ms
    Overall bit rate               : 4 251 Kbps
    Encoded date                   : UTC 2016-05-29 23:54:30
    Tagged date                    : UTC 2016-05-29 23:54:30

    Video
    ID                             : 1
    Format                         : AVC
    Format/Info                    : Advanced Video Codec
    Format profile                 : Baseline@L3.1
    Format settings, CABAC         : No
    Format settings, ReFrames      : 1 frame
    Format settings, GOP           : M=1, N=31
    Codec ID                       : avc1
    Codec ID/Info                  : Advanced Video Coding
    Duration                       : 12s 323ms
    Bit rate                       : 3 967 Kbps
    Width                          : 1 280 pixels
    Height                         : 720 pixels
    Display aspect ratio           : 16:9
    Rotation                       : 90°
    Frame rate mode                : Variable
    Frame rate                     : 29.700 fps
    Minimum frame rate             : 29.354 fps
    Maximum frame rate             : 30.040 fps
    Color space                    : YUV
    Chroma subsampling             : 4:2:0
    Bit depth                      : 8 bits
    Scan type                      : Progressive
    Bits/(Pixel*Frame)             : 0.145
    Stream size                    : 5.83 MiB (92%)
    Title                          : VideoHandle
    Language                       : English
    Encoded date                   : UTC 2016-05-29 23:54:30
    Tagged date                    : UTC 2016-05-29 23:54:30

    Audio
    ID                             : 2
    Format                         : AAC
    Format/Info                    : Advanced Audio Codec
    Format profile                 : LC
    Codec ID                       : 40
    Duration                       : 12s 437ms
    Source duration                : 12s 454ms
    Bit rate mode                  : Constant
    Bit rate                       : 128 Kbps
    Nominal bit rate               : 96.0 Kbps
    Channel(s)                     : 2 channels
    Channel positions              : Front: L R
    Sampling rate                  : 48.0 KHz
    Compression mode               : Lossy
    Stream size                    : 194 KiB (3%)
    Source stream size             : 194 KiB (3%)
    Title                          : SoundHandle
    Language                       : English
    Encoded date                   : UTC 2016-05-29 23:54:30
    Tagged date                    : UTC 2016-05-29 23:54:30
    mdhd_Duration                  : 12454
  • FFMPEG fixing broken or wrong video containers extensions

    16 juin 2016, par C0nw0nk

    With ffmpeg what is the correct way to fix incorrect file containers.

    For example :

    We have a input.avi file but the file should be called input.mp4 because the person who uploaded it has renamed it from .mp4 to .avi will ffmpeg’s copy command fix this for us and allow the input.avi to keep its .avi file extension or will it need to become .mp4

    Command Line :

    ffmpeg.exe -y -i input.avi -c:v copy -c:a copy output-fixed.avi

    I read that ffmpeg’s stream copy -c:v copy -c:a copy or -vcodec copy -acodec copy or -c copy command should fix any error with any video container.

    I just want to fix the file by keeping it in the original file extension it was provided in do not want to change it to be .mp4 if it was not uploaded with that extension.

  • FFMpeg libswscale XBGR32 to NV12 almost working but colors are wrong

    12 juin 2016, par PhilBot

    I am getting a Linx DMA-BUF from the GPU in XBGR32 format and I need to use FFMpeg’s libswscale to convert it on the ARM to NV12.

    I’ve been able to almost get it working based on various SO posts and the documentation.

    Here is the LCD screen that is the actual output of the GPU :
    enter image description here

    Here is the encoded data from the NV12 frame created by libswscale - it should show the same colors as the screen :
    enter image description here

    Please note that the pictures were not taken at exactly the same time.

    What am I doing wrong ?

    Here is the relevant part of my code :

    /* Prepare to mmap the GBM BO */
    union gbm_bo_handle handleUnion = gbm_bo_get_handle(bo);  
    struct drm_omap_gem_info req;
    req.handle = handleUnion.s32;    
    ret = drmCommandWriteRead(m_DRMController.fd, DRM_OMAP_GEM_INFO,&req, sizeof(req));
    if (ret) {  
       qDebug() << "drmCommandWriteRead(): Cannot set write/read";
    }  

    // Perform actual memory mapping of GPU output    
    gpuMmapFrame = (char *)mmap(0, req.size, PROT_READ | PROT_WRITE, MAP_SHARED,m_DRMController.fd, req.offset);
    assert(gpuMmapFrame != MAP_FAILED);

    // Use ffmpeg to do the SW BGR32 to NV12  
    static SwsContext *swsCtx = NULL;    
    int width    = RNDTO2( convertWidth );    
    int height   = RNDTO2( convertHeight );    
    int ystride  = RNDTO32 ( width );    
    int uvstride = RNDTO32 ( width / 2 );    
    int uvsize   = uvstride * ( height / 2 );    
    void *plane[] = { y, u, u + uvsize, 0 };    
    int stride[] = { ystride, uvstride, uvstride, 0 };    

    // Output of GPU is XBGR32    
    // #define V4L2_PIX_FMT_XBGR32  v4l2_fourcc('X', 'R', '2', '4') /* 32  BGRX-8-8-8-8  */    
    swsCtx = sws_getCachedContext( swsCtx, convertWidth, convertHeight, AV_PIX_FMT_BGR32, width, height, AV_PIX_FMT_NV12,
                              SWS_FAST_BILINEAR , NULL, NULL, NULL );  
    int linesize[1] = { convertWidth * 4 };    
    const uint8_t *inData[1] = { (uint8_t*)gpuMmapFrame };    
    if ( gpuMmapFrame ) {    
       sws_scale( swsCtx, (const uint8_t *const *)inData, linesize, 0, convertHeight, (uint8_t *const *)plane, stride );    
    }        

    // Unmap it    
    munmap(gpuMmapFrame,req.size);

    // Now send the frame to the encoder    
    dce.submitFrameToEncode(swEncodeBufferNV12);