
Recherche avancée
Médias (17)
-
Matmos - Action at a Distance
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
DJ Dolores - Oslodum 2004 (includes (cc) sample of “Oslodum” by Gilberto Gil)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Danger Mouse & Jemini - What U Sittin’ On ? (starring Cee Lo and Tha Alkaholiks)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Cornelius - Wataridori 2
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
The Rapture - Sister Saviour (Blackstrobe Remix)
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Chuck D with Fine Arts Militia - No Meaning No
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (64)
-
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette 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. -
Les tâches Cron régulières de la ferme
1er décembre 2010, parLa gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
Le super Cron (gestion_mutu_super_cron)
Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...) -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir
Sur d’autres sites (8923)
-
doc/protocols : Re-order HTTP options to match http.c order
22 avril 2024, par Derek Buitenhuis -
FFMPEG recode clip1 to match clip2 for concat demux
21 novembre 2020, par Gert GottschalkI want to concat two video clips using ffmpeg concat. To use concat demuxer both should have same codec settings. clip2 is much shorter so I want to recode it to match clip1. Initially clip2 had tbn not matching and I adjusted that with '-video_track_timescale 50000'. Still the concat video after the cut into clip2 is garbled (audio seems OK)


This is what ffprobe tells for clip1 :


ffprobe version N-80251-g0c7fa15 Copyright (c) 2007-2016 the FFmpeg developers
 built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
 configuration: --prefix=/home/tools/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/tools/ffmpeg_build/include --extra-ldflags=-L/home/tools/ffmpeg_build/lib --bindir=/home/tools/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
 libavutil 55. 24.100 / 55. 24.100
 libavcodec 57. 45.100 / 57. 45.100
 libavformat 57. 37.101 / 57. 37.101
 libavdevice 57. 0.101 / 57. 0.101
 libavfilter 6. 46.101 / 6. 46.101
 libswscale 4. 1.100 / 4. 1.100
 libswresample 2. 0.101 / 2. 0.101
 libpostproc 54. 0.100 / 54. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'clip1.mp4':
 Metadata:
 major_brand : isom
 minor_version : 1
 compatible_brands: isomavc1
 creation_time : 2020-11-09 01:16:52
 Duration: 01:23:09.33, start: 0.000000, bitrate: 2279 kb/s
 Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 2080 kb/s, 50 fps, 50 tbr, 50k tbn, 100 tbc (default)
 Metadata:
 creation_time : 2020-11-09 01:16:52
 handler_name : 11.07_21-45_ard_90_TVOON_DE.mpg.HD_video.h264@GPAC0.5.2-DEV-revVersion: 0.5.2-426-gc5ad4e4+dfsg5-1ubuntu0.1
 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 196 kb/s (default)
 Metadata:
 creation_time : 2020-11-09 01:17:45
 handler_name : 11.07_21-45_ard_90_TVOON_DE.mpg.HD.aac@GPAC0.5.2-DEV-revVersion: 0.5.2-426-gc5ad4e4+dfsg5-1ubuntu0.1



From clip2


ffprobe version N-80251-g0c7fa15 Copyright (c) 2007-2016 the FFmpeg developers
 built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
 configuration: --prefix=/home/tools/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/tools/ffmpeg_build/include --extra-ldflags=-L/home/tools/ffmpeg_build/lib --bindir=/home/tools/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
 libavutil 55. 24.100 / 55. 24.100
 libavcodec 57. 45.100 / 57. 45.100
 libavformat 57. 37.101 / 57. 37.101
 libavdevice 57. 0.101 / 57. 0.101
 libavfilter 6. 46.101 / 6. 46.101
 libswscale 4. 1.100 / 4. 1.100
 libswresample 2. 0.101 / 2. 0.101
 libpostproc 54. 0.100 / 54. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'clip2.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf57.37.101
 comment : 
 Duration: 00:18:42.02, start: 0.000000, bitrate: 1693 kb/s
 Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1553 kb/s, 50 fps, 50 tbr, 50k tbn, 100 tbc (default)
 Metadata:
 handler_name : VideoHandler
 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 130 kb/s (default)
 Metadata:
 handler_name : SoundHandler



Then for concat :


/home/tools/bin/ffmpeg -f concat -i list.files -y clip12.mp4



The only gap is with
clip1 : 2080 kb/s
clip2 : 1553 kb/s


Is that significant ?


If yes, how to recode clip2 to match and result in concat clip12 being clean ?


EDIT (Per feedback from llogan) :


Probing input clips with latest ffprobe.


Clip1 :


ffprobe version N-54874-ga1553b0cfb-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2007-2020 the FFmpeg developers
 built with gcc 8 (Debian 8.3.0-6)
 configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg
 libavutil 56. 60.100 / 56. 60.100
 libavcodec 58.112.101 / 58.112.101
 libavformat 58. 64.100 / 58. 64.100
 libavdevice 58. 11.102 / 58. 11.102
 libavfilter 7. 88.102 / 7. 88.102
 libswscale 5. 8.100 / 5. 8.100
 libswresample 3. 8.100 / 3. 8.100
 libpostproc 55. 8.100 / 55. 8.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'clip1.mp4':
 Metadata:
 major_brand : isom
 minor_version : 1
 compatible_brands: isomavc1
 creation_time : 2020-11-09T01:16:52.000000Z
 Duration: 01:23:09.33, start: 0.000000, bitrate: 2279 kb/s
 Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 2080 kb/s, 50 fps, 50 tbr, 50k tbn, 100 tbc (default)
 Metadata:
 creation_time : 2020-11-09T01:16:52.000000Z
 handler_name : 11.07_21-45_ard_90_TVOON_DE.mpg.HD_video.h264@GPAC0.5.2-DEV-revVersion: 0.5.2-426-gc5ad4e4+dfsg5-1ubuntu0.1
 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 196 kb/s (default)
 Metadata:
 creation_time : 2020-11-09T01:17:45.000000Z
 handler_name : 11.07_21-45_ard_90_TVOON_DE.mpg.HD.aac@GPAC0.5.2-DEV-revVersion: 0.5.2-426-gc5ad4e4+dfsg5-1ubuntu0.1



Command & log to change clip2 :


/usr/share/ffmpeg.4.3.1//ffmpeg-git-20201104-amd64-static/ffmpeg -i clip2.avi -ss 00:12:55 -t 00:05:48 -c:v libx264 -profile:v main -video_track_timescale 50k -c:a copy -y clip2.mp4 2> ffmpeg_clip2.log
ffmpeg version N-54874-ga1553b0cfb-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2020 the FFmpeg developers
 built with gcc 8 (Debian 8.3.0-6)
 configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg
 libavutil 56. 60.100 / 56. 60.100
 libavcodec 58.112.101 / 58.112.101
 libavformat 58. 64.100 / 58. 64.100
 libavdevice 58. 11.102 / 58. 11.102
 libavfilter 7. 88.102 / 7. 88.102
 libswscale 5. 8.100 / 5. 8.100
 libswresample 3. 8.100 / 3. 8.100
 libpostproc 55. 8.100 / 55. 8.100
Input #0, avi, from 'clip2.avi':
 Metadata:
 comment : 
 encoder : Lavf58.42.100
 encoded_by : www.onlinetvrecorder.com
 Duration: 00:35:48.90, start: 0.000000, bitrate: 2243 kb/s
 Stream #0:0: Video: h264 (Main) (H264 / 0x34363248), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 2034 kb/s, 50 fps, 50 tbr, 50 tbn, 100 tbc
 Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, fltp, 192 kb/s
Stream mapping:
 Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
 Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame= 0 fps=0.0 q=0.0 size= 0kB time=-577014:32:22.77 bitrate= -0.0kbits/s speed=N/A 
...
frame= 0 fps=0.0 q=0.0 size= 0kB time=-577014:32:22.77 bitrate= -0.0kbits/s speed=N/A
[libx264 @ 0x71fb740] using SAR=1/1
[libx264 @ 0x71fb740] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3
[libx264 @ 0x71fb740] profile Main, level 3.2, 4:2:0, 8-bit
[libx264 @ 0x71fb740] 264 - core 161 r3027 4121277 - H.264/MPEG-4 AVC codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'clip2.mp4':
 Metadata:
 comment : 
 encoded_by : www.onlinetvrecorder.com
 encoder : Lavf58.64.100
 Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 50 fps, 50k tbn, 50 tbc
 Metadata:
 encoder : Lavc58.112.101 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
 Stream #0:1: Audio: mp3 (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 192 kb/s
frame= 15 fps=0.4 q=0.0 size= 0kB time=00:00:00.31 bitrate= 1.2kbits/s speed=0.00806x 
...
frame=17400 fps= 73 q=-1.0 Lsize= 62382kB time=00:05:47.97 bitrate=1468.6kbits/s speed=1.47x 
video:53846kB audio:8156kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.611439%
[libx264 @ 0x71fb740] frame I:157 Avg QP:18.21 size: 42082
[libx264 @ 0x71fb740] frame P:5607 Avg QP:22.21 size: 6677
[libx264 @ 0x71fb740] frame B:11636 Avg QP:23.93 size: 953
[libx264 @ 0x71fb740] consecutive B-frames: 8.3% 6.0% 5.0% 80.8%
[libx264 @ 0x71fb740] mb I I16..4: 47.5% 0.0% 52.5%
[libx264 @ 0x71fb740] mb P I16..4: 5.7% 0.0% 1.1% P16..4: 35.4% 6.2% 3.0% 0.0% 0.0% skip:48.4%
[libx264 @ 0x71fb740] mb B I16..4: 0.2% 0.0% 0.0% B16..8: 21.0% 0.4% 0.0% direct: 0.5% skip:77.9% L0:45.1% L1:53.8% BI: 1.2%
[libx264 @ 0x71fb740] coded y,uvDC,uvAC intra: 24.6% 38.3% 6.0% inter: 2.8% 4.7% 0.0%
[libx264 @ 0x71fb740] i16 v,h,dc,p: 43% 24% 15% 18%
[libx264 @ 0x71fb740] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 26% 20% 19% 6% 7% 6% 6% 6% 4%
[libx264 @ 0x71fb740] i8c dc,h,v,p: 57% 20% 20% 4%
[libx264 @ 0x71fb740] Weighted P-Frames: Y:0.5% UV:0.4%
[libx264 @ 0x71fb740] ref P L0: 70.3% 12.1% 14.0% 3.6% 0.0%
[libx264 @ 0x71fb740] ref B L0: 92.9% 5.9% 1.2%
[libx264 @ 0x71fb740] ref B L1: 97.5% 2.5%
[libx264 @ 0x71fb740] kb/s:1267.54



I'm observing mismatch in what I assume is the audio channel.


Clip1 :


/usr/share/ffmpeg.4.3.1//ffmpeg-git-20201104-amd64-static/ffprobe clip1.mp4
 Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 2080 kb/s, 50 fps, 50 tbr, 50k tbn, 100 tbc (default)
 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 196 kb/s (default)



Clip2 :


/usr/share/ffmpeg.4.3.1//ffmpeg-git-20201104-amd64-static/ffprobe clip2.mp4 
 Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1267 kb/s, 50 fps, 50 tbr, 50k tbn, 100 tbc (default)
 Stream #0:1(und): Audio: mp3 (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 192 kb/s (default)



Probably need to match audio channel. I noticed that the concat too a long time. I was expecting the concat to just do copying and not re-rendering.


-
PHP FFMPEG match the Instagram Video Requirements
19 février 2021, par LinesofcodeThis are the Instagram requirements in order to upload a video :


- Container: MOV or MP4 (MPEG-4 Part 14), no edit lists, moov atom at the front of the file.
- Audio codec: AAC, 48khz sample rate maximum, 1 or 2 channels (mono or stereo).
- Video codec: HEVC or H264, progressive scan, closed GOP, 4:2:0 chroma subsampling.
- Frame rate: 23-60 FPS.
- Picture size:
 - Maximum columns (horizontal pixels): 1920
 - Minimum aspect ratio [cols / rows]: 4 / 5
 - Maximum aspect ratio [cols / rows]: 16 / 9
 - Video bitrate: VBR, 5Mbps maximum
- Audio bitrate: 128kbps
- Duration: 60 seconds maximum, 3 seconds minimum
- File size: 100MB maximum



I'm using the https://github.com/PHP-FFMpeg/PHP-FFMpeg library and I'm able to get the metadata of the video this way :


$ffprobe = \FFMpeg\FFProbe::create();
$video = $ffprobe->streams('my_sample_video.mp4')->videos()->first();
$audio = $ffprobe->streams('my_sample_video.mp4')->audios()->first();



Printing
$video
&$audio
returns respectively the following data :

--- video ---
[index] => 0
[codec_name] => h264
[codec_long_name] => H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
[profile] => Baseline
[codec_type] => video
[codec_time_base] => 1/1200
[codec_tag_string] => avc1
[codec_tag] => 0x31637661
[width] => 848
[height] => 480
[coded_width] => 848
[coded_height] => 480
[has_b_frames] => 0
[sample_aspect_ratio] => 0:1
[display_aspect_ratio] => 0:1
[pix_fmt] => yuv420p
[level] => 31
[color_range] => tv
[color_space] => bt709
[color_transfer] => bt709
[color_primaries] => bt709
[chroma_location] => left
[refs] => 1
[is_avc] => 1
[nal_length_size] => 4
[r_frame_rate] => 25/1
[avg_frame_rate] => 25/1
[time_base] => 1/600
[start_pts] => 0
[start_time] => 0.000000
[duration_ts] => 57888
[duration] => 96.480000
[bit_rate] => 1436391
[bits_per_raw_sample] => 8
[nb_frames] => 2412

--- audio ---
[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] => 2
[channel_layout] => stereo
[bits_per_sample] => 0
[r_frame_rate] => 0/0
[avg_frame_rate] => 0/0
[time_base] => 1/44100
[start_pts] => 0
[start_time] => 0.000000
[duration_ts] => 4255744
[duration] => 96.502132
[bit_rate] => 62026
[max_bit_rate] => 64000
[nb_frames] => 4156



Some things are easy to verify like the Video Codec, Audio Codec & Duration, but how to I manage to verify the rest ?


I also noticed that all the MP4 & MOV video samples I use, the metadata of
codec_long_name
always returns "MPEG-4 part 10" and the requirement is "MPEG-4 Part 14".