Recherche avancée

Médias (91)

Autres articles (66)

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

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

Sur d’autres sites (6425)

  • select a screen section ffmpeg c++ on macos

    21 avril 2022, par C1ngh10

    I am trying to record the screen on macos, with ffmpeg. I would like to be able to select a section of the screen instead of the whole desktop. I tried to set several options such as vf, with values like "crop=150:150:0:0", or video_size with value "150x150". The result was that the output video had the correct dimensions (150x150) but whole screen has been recorded instead of the specified section. Does anybody know another way to do that ?

    


    int ScreenRecorder::openVideoDevice() {
    value = 0;
    videoOptions = nullptr;
    pAVFormatContext = nullptr;

    pAVFormatContext = avformat_alloc_context();


    string dimension = to_string(width) + "x" + to_string(height);
    av_dict_set(&videoOptions, "video_size", dimension.c_str(), 0);   //option to set the dimension of the screen section to record
    value = av_dict_set(&videoOptions, "framerate", "25", 0);
    if (value < 0) {
        cerr << "Error in setting dictionary value (setting framerate)" << endl;
        exit(-1);
    }

    value = av_dict_set(&videoOptions, "preset", "ultrafast", 0);
    if (value < 0) {
        cerr << "Error in setting dictionary value (setting preset value)" << endl;
        exit(-1);
    }

    //The distance from the left edge of the screen or desktop
    value = av_dict_set(&videoOptions, "vf", ("crop=" + to_string(width) + ":" + to_string(height) + ":" + to_string(x_offset) + ":" +
        to_string(y_offset)).c_str(), 0);

    if (value < 0) {
        cerr << "Error in setting crop" << endl;
        exit(-1);
    }

    value = av_dict_set(&videoOptions, "pixel_format", "yuv420p", 0);
    if (value < 0) {
        cerr << "Error in setting pixel format" << endl;
        exit(-1);
    }
    
    pAVInputFormat = av_find_input_format("avfoundation");

    if (avformat_open_input(&pAVFormatContext, "1:none", pAVInputFormat, &videoOptions) != 0) {
        cerr << "Error in opening input device" << endl;
        exit(-1);
    }
    //get video stream infos from context
    value = avformat_find_stream_info(pAVFormatContext, nullptr);
    if (value < 0) {
        cerr << "Error in retrieving the stream info" << endl;
        exit(-1);
    }

    VideoStreamIndx = -1;
    for (int i = 0; i < pAVFormatContext->nb_streams; i++) {
        if (pAVFormatContext->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) {
            VideoStreamIndx = i;
            break;
        }
    }
    if (VideoStreamIndx == -1) {
        cerr << "Error: unable to find video stream index" << endl;
        exit(-2);
    }

    pAVCodecContext = pAVFormatContext->streams[VideoStreamIndx]->codec;
    pAVCodec = avcodec_find_decoder(pAVCodecContext->codec_id/*params->codec_id*/);
    if (pAVCodec == nullptr) {
        cerr << "Error: unable to find decoder video" << endl;
        exit(-1);
    }

    return 0;
}


    


  • No video steam played with the ffmpeg script from avi to mp4 on Centos 8.2/ffmpeg 8 [duplicate]

    27 septembre 2020, par user27240

    The mp4 file that was transformed from the avi file with the script below running on Centos 8.2/ffmpeg gcc 8 does not play video stream and it only play audio on chrome/edge/firefox/opera and Windows10.
Could anyone please help me out ?

    


    for i in /var/www/html/xxxxx/xxxxx/479.AVI; do ffmpeg -i "$i" -pix_fmt yuv420p -movflags +faststart -ss 0.03 "/var/www/html/xxxxx/xxxxx/$(basename "$i" .avi).mp4"; done

    


    The log for the ffmpeg transform script :

    


    peg -i "$i" -pix_fmt yuv420p -movflags +faststart -ss 0.03 "/var/www/html/xxxxx/xxxxx/$(basename "$i" .avi).mp4"; done
ffmpeg version N-99260-g6401a5d4b8 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 8 (GCC)
  configuration: --disable-x86asm
  libavutil      56. 59.100 / 56. 59.100
  libavcodec     58.106.100 / 58.106.100
  libavformat    58. 58.100 / 58. 58.100
  libavdevice    58. 11.102 / 58. 11.102
  libavfilter     7. 87.100 /  7. 87.100
  libswscale      5.  8.100 /  5.  8.100
  libswresample   3.  8.100 /  3.  8.100
Guessed Channel Layout for Input Stream #0.1 : mono
Input #0, avi, from '/var/www/html/xxxxx/xxxxx/479.AVI':
  Metadata:
    creation_time   : 1980-01-01 00:00:18
    encoder         : CanonMVI06
  Duration: 00:00:04.63, start: 0.000000, bitrate: 15522 kb/s
    Stream #0:0: Video: mjpeg (Baseline) (MJPG / 0x47504A4D), yuvj422p(pc, bt470                                                                                                                                                             bg/unknown/unknown), 640x480, 14916 kb/s, 30 fps, 30 tbr, 30 tbn, 30 tbc
    Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, mono, s16,                                                                                                                                                              705 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (mjpeg (native) -> mpeg4 (native))
  Stream #0:1 -> #0:1 (pcm_s16le (native) -> aac (native))
Press [q] to stop, [?] for help
[swscaler @ 0x37e3c80] deprecated pixel format used, make sure you did set range                                                                                                                                                              correctly
Output #0, mp4, to '/var/www/html/xxxxx/xxxxx/479.AVI.mp4':
  Metadata:
    encoder         : Lavf58.58.100
    Stream #0:0: Video: mpeg4 (mp4v / 0x7634706D), yuv420p, 640x480, q=2-31, 200                                                                                                                                                              kb/s, 30 fps, 65521 tbn, 30 tbc
    Metadata:
      encoder         : Lavc58.106.100 mpeg4
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
    Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 69 k                                                                                                                                                             b/s
    Metadata:
      encoder         : Lavc58.106.100 aac
frame=   61 fps=0.0 q=24.8 size=       0kB time=00:00:02.90 bitrate=   0.1kbits/                                                                                                                                                             frame=  126 fps=125 q=31.0 size=     256kB time=00:00:04.55 bitrate= 460.9kbits/                                                                                                                                                             [mp4 @ 0x376e700] Starting second pass: moving the moov atom to the beginning of                                                                                                                                                              the file
frame=  138 fps=125 q=31.0 Lsize=     379kB time=00:00:04.62 bitrate= 671.2kbits                                                                                                                                                             /s speed=4.17x
video:335kB audio:38kB subtitle:0kB other streams:0kB global headers:0kB muxing                                                                                                                                                              overhead: 1.401716%
[aac @ 0x377d2c0] Qavg: 2088.382


    


    ffmpeg version :

    


    ffmpeg version N-99260-g6401a5d4b8 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 8 (GCC)
configuration: --disable-x86asm
libavutil      56. 59.100 / 56. 59.100
libavcodec     58.106.100 / 58.106.100
libavformat    58. 58.100 / 58. 58.100
libavdevice    58. 11.102 / 58. 11.102
libavfilter     7. 87.100 /  7. 87.100
libswscale      5.  8.100 /  5.  8.100
libswresample   3.  8.100 /  3.  8.100


    


    CentOS version :
CentOS Linux release 8.2.2004 (Core)

    


    Clinet OS :
Windows10

    


    Browsers :
Chrome, Edge, Firefox, Opera

    


    ffprobe -loglevel error :

    


    [root@xxxxxxx xxxxxxx]# ffprobe -loglevel error -show_streams 479.AVI.mp4                                                                                                                                                      
[STREAM]
index=0
codec_name=mpeg4
codec_long_name=MPEG-4 part 2
profile=Simple Profile
codec_type=video
codec_time_base=2184/65521
codec_tag_string=mp4v
codec_tag=0x7634706d
width=640
height=480
coded_width=640
coded_height=480
closed_captions=0
has_b_frames=0
sample_aspect_ratio=1:1
display_aspect_ratio=4:3
pix_fmt=yuv420p
level=1
color_range=unknown
color_space=unknown
color_transfer=unknown
color_primaries=unknown
chroma_location=left
field_order=unknown
timecode=N/A
refs=1
quarter_sample=false
divx_packed=false
id=N/A
r_frame_rate=65521/2184
avg_frame_rate=65521/2184
time_base=1/65521
start_pts=0
start_time=0.000000
duration_ts=301392
duration=4.599930
bit_rate=596840
max_bit_rate=596840
bits_per_raw_sample=N/A
nb_frames=138
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=1
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
TAG:language=und
TAG:handler_name=VideoHandler
[/STREAM]
[STREAM]
index=1
codec_name=aac
codec_long_name=AAC (Advanced Audio Coding)
profile=LC
codec_type=audio
codec_time_base=1/44100
codec_tag_string=mp4a
codec_tag=0x6134706d
sample_fmt=fltp
sample_rate=44100
channels=1
channel_layout=mono
bits_per_sample=0
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/44100
start_pts=0
start_time=0.000000
duration_ts=202992
duration=4.602993
bit_rate=67677
max_bit_rate=69000
bits_per_raw_sample=N/A
nb_frames=200
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=1
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
TAG:language=und
TAG:handler_name=SoundHandler
[/STREAM]


    


  • avfilter/vf_bwdif_cuda : CUDA accelerated bwdif deinterlacer

    30 août 2019, par Philip Langdale
    avfilter/vf_bwdif_cuda : CUDA accelerated bwdif deinterlacer
    

    I've been sitting on this for 3 1/2 years now(!), and I finally got
    around to fixing the loose ends and convincing myself that it was
    correct. It follows the same basic structure as yadif_cuda, including
    leaving out the edge handling, to avoid expensive branching.

    • [DH] Changelog
    • [DH] configure
    • [DH] doc/filters.texi
    • [DH] libavcodec/version.h
    • [DH] libavfilter/Makefile
    • [DH] libavfilter/allfilters.c
    • [DH] libavfilter/vf_bwdif_cuda.c
    • [DH] libavfilter/vf_bwdif_cuda.cu