Recherche avancée

Médias (3)

Mot : - Tags -/plugin

Autres articles (47)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

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

  • Ffmpeg inaccurate cutting with ts and m3u8 files despite resamping audio filter

    31 juillet 2020, par Lemon Sky

    I need to accurately seek and cut a video. Some online sources say put -ss in front or after the source. The result is the same for me. In the examples below, the start time is accurate but the duration is not accurate.

    


    ffmpeg -y -ss 00:00:05 -t 00:00:05 -i output.ts 5s.wav
ffprobe 5s.wav

Duration: 00:00:04.74

ffmpeg -y -i output.ts -ss 00:00:05 -t 00:00:05 5s.wav
ffprobe 5s.wav

Duration: 00:00:04.74


    


    Sometimes the starting point is not accurate but the duration is. This is clearly audible by cutting the ts file and cutting an uncompressed wav file, and listening to both.

    


    ffmpeg -y -i output.ts -ss 00:00:15 -t 00:00:05 5s.wav

ffmpeg -y -i output.wav -ss 00:00:15 -t 00:00:05 5s-reference.wav


    


    What fixes the starting time is if I use an m3u8 file that contains the byte offset for every keyframe AND I put the -ss option in front of the source file (if I put it after the source, the start time is inaccurate but the duration is accurate) :

    


    ffmpeg -y -ss 00:00:15 -t 00:00:05 -i output.m3u8 5s.wav


    


    This fixes the start time but the duration is at the location that I would get had I used no m3u8 file (duration is just 4.47s).

    


    It seems different timestamps are involved, and sometimes one or the other gets used.

    


    The ts file was generated by capturing a UDP stream and storing it with ffmpeg and -codec:v copy.

    


    Is ffmpeg broken, or the ts file ? How do I work around this issue or fix the ts file ? What I realize is that the video starts later than the audio, probably because the video does not start with a keyframe. Can I get ffmpeg to start the -codec:v copy after the first keyframe ? What I also notice is that using ffprobe reports "start : 1.400000". Can I force it to start at 0 ?

    


    Any hints would be appreciated.

    


    I tried both ffmpeg 4.3.1 and ffmpeg git-2020-07-24-21442a8.

    


    The output.* files were generated as follows. The statement "af aresample=async=1" should fill missing audio according to Duration of source video and subtracted audio are different. Adding this statement makes no difference in terms of accuracy or duration. The question is not a duplicate.

    


    ffmpeg -i udp://example:port ^
-af aresample=async=1 ^
-codec:v copy ^
-codec:a aac -ac 2 -ar 44100 -b:a 160k ^
-hls_time 4 -hls_flags single_file -hls_list_size 0 -hls_segment_filename output.ts -hls_segment_type mpegts output.m3u8 ^
-codec:a pcm_s16le -bitexact -ar 11025 -ac 1 output.wav


    


  • How to write bmp-frames into avi container using ffmpeg ?

    2 septembre 2020, par Alexey Matal

    I have a sequence of bmp-files, format : 8bpp. How to write this sequence to avi-file using ffmpeg ?

    


    In other words : I need create "AVI-container with BMP-codec".
if specifically then : what is the codec and pixel-format I need to choose of ffmpeg scope ?

    


    In ffmpeg examples, in context initialisation present next code :

    


    c->bit_rate = 400000;
/* resolution must be a multiple of two */
c->width = 352;
c->height = 288;
/* frames per second */
c->time_base = (AVRational){1, 25};
c->framerate = (AVRational){25, 1};

/* emit one intra frame every ten frames
 * check frame pict_type before passing frame
 * to encoder, if frame->pict_type is AV_PICTURE_TYPE_I
 * then gop_size is ignored and the output of encoder
 * will always be I frame irrespective to gop_size
 */
c->gop_size = 10;
c->max_b_frames = 1;
c->pix_fmt = AV_PIX_FMT_YUV420P;


    


    What is the bit_rate, gop_size, max_b_frames (what ? in BMP ?) parameters ?

    


    Thanks !

    


    ps this functionality is a part of big legacy-project. AVI-file in past wrote manually. I don't want write it manually, please help :)

    


  • How to to burn subtitles based image on video using 'overlay_cuda', ffmpeg video filter

    4 septembre 2020, par jgkim0518

    I have to burn subtitles based image on video using ffmpeg(v4.3) and cuda, hardware accelerator. I want to use 'overlay_cuda' in filter complex.

    


    It is my command.

    


    ./ffmpeg -init_hw_device cuda=cuda:1 -hwaccel cuda -filter_hw_device cuda -hwaccel_output_format cuda -i 2_dump.ts -filter_complex "[v:0]scale_npp=1920:1080,format=yuv420p[base_video];[base_video][s:3]overlay_cuda[resurlt_video]" -map "[resurlt_video]" -map 0:a -c:v h264_nvenc -f mpegts subtitle_test.ts


    


    But it's fail.

    


    These are output massage included error.

    


    ffmpeg version 4.3 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-39)
configuration: --prefix=/usr/local --pkg-config-flags=--static --extra-cflags=-I/usr/local/include --extra-ldflags='-L/usr/local/lib -L/usr/local/lib64' --extra-libs='-lm -lpthread -lc' --bindir=/usr/local/bin --enable-cross-compile --enable-pic --enable-gpl --enable-libfdk_aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree --enable-cuda-nvcc --enable-cuvid --enable-nvenc --enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64 --enable-libass --enable-static --disable-shared
libavutil      56. 51.100 / 56. 51.100
libavcodec     58. 91.100 / 58. 91.100
libavformat    58. 45.100 / 58. 45.100
libavdevice    58. 10.100 / 58. 10.100
libavfilter     7. 85.100 /  7. 85.100
libswscale      5.  7.100 /  5.  7.100
libswresample   3.  7.100 /  3.  7.100
libpostproc    55.  7.100 / 55.  7.100
[mpegts @ 0x4971500] start time for stream 5 is not set in estimate_timings_from_pts
[mpegts @ 0x4971500] start time for stream 6 is not set in estimate_timings_from_pts
[mpegts @ 0x4971500] start time for stream 7 is not set in estimate_timings_from_pts
[mpegts @ 0x4971500] start time for stream 8 is not set in estimate_timings_from_pts
[mpegts @ 0x4971500] start time for stream 9 is not set in estimate_timings_from_pts
[mpegts @ 0x4971500] start time for stream 10 is not set in estimate_timings_from_pts
[mpegts @ 0x4971500] start time for stream 11 is not set in estimate_timings_from_pts
[mpegts @ 0x4971500] start time for stream 12 is not set in estimate_timings_from_pts
Input #0, mpegts, from '2_dump.ts':
Duration: 00:05:09.80, start: 1.400000, bitrate: 12595 kb/s
Program 1 
Metadata:
  service_name    : Service01
  service_provider: AMUZLAB
Stream #0:0[0x100](eng): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, 5.1(side), fltp, 384 kb/s
Stream #0:1[0x101](ind): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, stereo, fltp, 192 kb/s
Stream #0:2[0x102](zho): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, stereo, fltp, 192 kb/s
Stream #0:3[0x103](kho): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, stereo, fltp, 192 kb/s
Stream #0:4[0x104]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0:5[0x105](CHI): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
Stream #0:6[0x106](CHS): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
Stream #0:7[0x107](IND): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
Stream #0:8[0x108](THA): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
Stream #0:9[0x109](MAN): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
Stream #0:10[0x10a](MON): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
Stream #0:11[0x10b](BUR): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
Stream #0:12[0x10c](ENG): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
File 'subtitle_test.ts' already exists. Overwrite? [y/N] y
Stream mapping:
Stream #0:4 (h264) -> scale_npp (graph 0)
Stream #0:8 (dvbsub) -> overlay_cuda:overlay (graph 0)
overlay_cuda (graph 0) -> Stream #0:0 (h264_nvenc)
Stream #0:0 -> #0:1 (ac3 (native) -> mp2 (native))
Stream #0:1 -> #0:2 (ac3 (native) -> mp2 (native))
Stream #0:2 -> #0:3 (ac3 (native) -> mp2 (native))
Stream #0:3 -> #0:4 (ac3 (native) -> mp2 (native))
Press [q] to stop, [?] for help
[mpegts @ 0x4971500] sub2video: using 1920x1080 canvas
Impossible to convert between the formats supported by the filter 'Parsed_scale_npp_0' and the filter 'auto_scaler_0'
Error reinitializing filters!
Failed to inject frame into filter network: Function not implemented
Error while processing the decoded data for stream #0:4
Conversion failed!


    


    And, It is command line succeeded used 'overlay', software video filter, non_hardware accelerator.

    


    ./ffmpeg -hwaccel cuda -re -i 2_dump.ts -filter_complex "[0:v:0][0:s:3]overlay[v]" -map "[v]" -map 0:a -c:v h264_nvenc -f mpegts subtitle_test.ts


    


    How to to burn subtitles based image on video using ffmpeg(v4.3) and cuda, hardware accelerator ?

    


    Thank you.