Recherche avancée

Médias (0)

Mot : - Tags -/inscription3

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (67)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • 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 (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains 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 ;

Sur d’autres sites (11780)

  • Inconsistent Rotation of Output Video OpenCV

    27 avril 2021, par user530316

    I am reading in mobile videos shot on an iphone (.MOV format). When the video is shot upright, ffmpeg meta data states the video frames are rotated 90 clockwise. When I read the video in with opencv as a .MOV and then outwrite again with opencv as a .mp4, both the input and output videos appear upright. Note I display the video frames using opencv via a while loop :
 cap = cv2.VideoCapture("video.MOV")

    


    ret,frame=cap.read()

    


    while ret:
    cv2.imshow('',frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
    ret,frame = cap.read()
cap.release()
cv2.destroyAllWindows() 


    


    This is not the problem. The problem is that when the same video is run on another machine with the same os and same virtual environment, the videos come out rotated by 90 degrees. Any reason this should happen ?

    


    Both machines are using opencv-python version 4.5.1, ffmpeg 4.2.2, and ffmpeg-python 0.2.0.

    


  • Ideal bitrates for different video resolutions

    15 octobre 2018, par Ramesh Navi

    I am building a Video-on-demand service for a closed community. I using FFMPEG for video processing and dash.js for adaptive bitrate player with custom resolution selector. Can somebody please suggest what ideal bitrates should I use while video/audio transcoding ?

    I am talking about -b:v and -ab option

    ffmpeg -i vid.mp4 -c:v libvpx-vp9 -keyint_min 150 \
    -g 150 -tile-columns 4 -frame-parallel 1  -f webm -dash 1 \
    -an -vf scale=144:-1 -b:v 120k -dash 1 video_1.webm \
    -an -vf scale=240:-1 -b:v 250k -dash 1 video_2.webm \
    -an -vf scale=360:-1 -b:v 500k -dash 1 video_3.webm \
    -an -vf scale=480:-1 -b:v 750k -dash 1 video_4.webm \
    -an -vf scale=720:-1 -b:v 1500k -dash 1 video_5.webm

    And

    ffmpeg -i vid.mp4 -vn -acodec libvorbis -ab 96k -dash 1 audio_96k.webm

    Any suggestions/hacks or examples to tackle real-world network situations are appreciated.

  • Announcing the World’s Worst VP8 Encoder

    5 octobre 2010, par Multimedia Mike — Outlandish Brainstorms, VP8

    I wanted to see if I could write an extremely basic VP8 encoder. It turned out to be one of the hardest endeavors I have ever attempted (and arguably one of the least successful).

    Results
    I started with the Big Buck Bunny title image :



    And this is the best encoding that this experiment could yield :



    Squint hard enough and you can totally make out the logo. Pretty silly effort, I know. It should also be noted that the resultant .webm file holding that single 400×225 image was 191324 bytes. When FFmpeg decoded it to a PNG, it was only 187200 bytes.

    The Story
    Remember my post about a naive SVQ1 encoder ? Long story short, I set out to do the same thing with VP8. (I wanted to the same thing with VP3/Theora for years. But take a good look at what it would entail to create even the most basic bitstream. As involved as VP8 may be, its bitstream is absolutely trivial compared to VP3/Theora.)

    With the naive SVQ1 encoder, the goal was to create a minimally compliant SVQ1 encoded bitstream. For this exercise, I similarly hypothesized what it would take to create the most basic, syntactically correct VP8 bitstream with the least amount of effort. These are the overall steps I came up with :

    • Intra-only
    • Create a basic bitstream header that disables any extra features (no modification of default tables)
    • Use a static quantizer
    • Use intra 16×16 coding for each macroblock
    • Use vertical prediction for the 16×16 intra coding

    For coding each macroblock :

    • Subtract vertical predictor from each row
    • Perform forward transform on each 4×4 sub block
    • Perform forward WHT on luma plane DCT coefficients
    • Pack the coefficients into the bitstream via the Boolean encoder

    It all sounds so simple. But, like I said in the SVQ1 post, it’s all very much like carefully bootstrapping a program to run on a particular CPU, and the VP8 decoder serves as the CPU. I’m confident that I have the bitstream encoding correct because, at the very least, the decoder agrees precisely with the encoder about the numbers represented by those 0s and 1s.

    What’s Wrong ?
    Compromises were made for the sake of getting some vaguely recognizable image encoded in a minimally valid manner. One big stumbling block is that I couldn’t seem to encode an end of block (EOB) condition correctly. I then realized that it’s perfectly valid to just encode a lot of zero coefficients rather than signaling EOB. An encoding travesty, I know, and likely one reason that the resulting filesize is so huge.

    More drama occurred when I hit my first block that had all zeros. There were complications in that situation that I couldn’t seem to avoid. So I forced the first AC coefficient to be 1 in that case. Hey, the decoder liked it.

    As for the generally weird look of the decoded image, I’m thinking that could either be : A) an artifact of forcing 16×16 vertical prediction or ; or B) a mistake in the way that I transformed and predicted stuff before sending it to the decoder. The smart money is on a combination of both A and B.

    Then again, as the SVQ1 experiment demonstrated, I shouldn’t expect extraordinary visual quality when setting the bar this low (i.e., just getting some bag of bits that doesn’t make the decoder barf).