
Recherche avancée
Médias (91)
-
DJ Z-trip - Victory Lap : The Obama Mix Pt. 2
15 septembre 2011
Mis à jour : Avril 2013
Langue : English
Type : Audio
-
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
Autres articles (58)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Creating farms of unique websites
13 avril 2011, parMediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...) -
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs
Sur d’autres sites (9313)
-
How to suppress `ffmpeg` output logging when using H.265 codec in quiet mode
5 avril 2022, par user223364When I run :-


ffmpeg -v quiet -i "${INPUT}" -c:v libx265 -crf 23 "${OUTPUT}"



I'm still getting output from the command even though the
loglevel
is set tosilent
(see the example of the output below)

x265 [info]: HEVC encoder version 3.5+20-17839cc0d
x265 [info]: build info [Mac OS X][clang 11.0.0][64 bit] 8bit+10bit+12bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
x265 [info]: Main profile, Level-3 (Main tier)
x265 [info]: Thread pool created using 4 threads
x265 [info]: Slices : 1
x265 [info]: frame threads / pool features : 2 / wpp(9 rows)
x265 [warning]: Source height < 720p; disabling lookahead-slices
x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge : hex / 57 / 2 / 3
x265 [info]: Keyframe min / max / scenecut / bias : 25 / 250 / 40 / 5.00
x265 [info]: Lookahead / bframes / badapt : 20 / 4 / 2
x265 [info]: b-pyramid / weightp / weightb : 1 / 1 / 0
x265 [info]: References / ref-limit cu / depth : 3 / off / on
x265 [info]: AQ: mode / str / qg-size / cu-tree : 2 / 1.0 / 32 / 1
x265 [info]: Rate Control / qCompress : CRF-23.0 / 0.60
x265 [info]: tools: rd=3 psy-rd=2.00 early-skip rskip mode=1 signhide tmvp
x265 [info]: tools: b-intra strong-intra-smoothing deblock sao



I'm using
v5
offfmpeg


ffmpeg version 5.0-tessus https://evermeet.cx/ffmpeg/ Copyright (c) 2000-2022 the FFmpeg developers
 built with Apple clang version 11.0.0 (clang-1100.0.33.17)



How do I get
ffmpeg
to be really quiet ?

-
How to send ffmpeg AVPacket through WebRTC (using libdatachannel)
14 novembre 2022, par mikeI'm encoding a video frame with the
ffmpeg
libraries, generating anAVPacket
with compressed data.

Thanks to some recent advice here on S/O, I am trying to send that frame over a network using the
WebRTC
librarylibdatachannel
, specifically by adapting the example here :

https://github.com/paullouisageneau/libdatachannel/tree/master/examples/streamer


I am seeing problems inside
h264rtppacketizer.cpp
(part of the library, not the example) which are almost certainly to do with how I'm providing the sample data.
(I don't think that this is anything to do with libdatachannel specifically, it will be an issue with what I'm sending)

The example code reads each encoded frame from a file, and populates a
sample
by setting the content of the file to the contents of the file :

sample = *reinterpret_cast *>(&fileContents);


sample
is just astd::vector<byte>;</byte>


I have naively copied the contents of an
AVPacket->data
pointer into thesample
vector :

sample.resize(pkt->size);
memcpy(sample.data(), pkt->data, pkt->size * sizeof(std::byte)); 



but the packetizer is falling over when trying to get length values out of that data.
Specifically, in the following code, the first iteration gets a length of 1, but the second, looking up index 5, gives 1119887324. This is way too big for my data, which is only 3526 bytes (the whole frame is a single colour so likely to be small once encoded) :


while (index < message->size()) {
assert(index + 4 < message->size());
auto lengthPtr = (uint32_t *)(message->data() + index);
uint32_t length = ntohl(*lengthPtr);
auto naluStartIndex = index + 4;
auto naluEndIndex = naluStartIndex + length;
assert(naluEndIndex <= message->size()); 
 
auto begin = message->begin() + naluStartIndex;
auto end = message->begin() + naluEndIndex;
nalus->push_back(std::make_shared<nalunit>(begin, end));
index = naluEndIndex;
}
</nalunit>


Here is a dump of


uint32_t length = ntohl(*lengthPtr);



for the first few elements of the message (
*lengthPtr
in parentheses) :

[2022-03-29 15:12:01.182] [info] index 0: 1 (16777216)
[2022-03-29 15:12:01.183] [info] index 1: 359 (1728118784)
[2022-03-29 15:12:01.184] [info] index 2: 91970 (1114046720)
[2022-03-29 15:12:01.186] [info] index 3: 23544512 (3225577217)
[2022-03-29 15:12:01.186] [info] index 4: 1732427807 (532693607)
[2022-03-29 15:12:01.187] [info] index 5: 1119887324 (3693068354)
[2022-03-29 15:12:01.188] [info] index 6: 3223313413 (98312128)
[2022-03-29 15:12:01.188] [info] index 7: 534512896 (384031)
[2022-03-29 15:12:01.188] [info] index 8: 3691315291 (1526728156)
[2022-03-29 15:12:01.189] [info] index 9: 83909537 (2707095557)
[2022-03-29 15:12:01.189] [info] index 10: 6004992 (10574592)
[2022-03-29 15:12:01.190] [info] index 11: 1537277952 (41307)
[2022-03-29 15:12:01.190] [info] index 12: 2701131779 (50331809)
[2022-03-29 15:12:01.192] [info] index 13: 768 (196608)



(I know I should post a complete sample, I am working on it)


- 

-
I am fairly sure I am just missing something basic. E.g. am I supposed to do something with the
AVPacket
side_data
, does AVPacket have or miss some header info ?

-
If I just
fwrite
thepkt->data
for a single frame to disk, I can read the codec information withffprobe
:







Input #0, h264, from 'encodedOut.h264':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: h264 (Constrained Baseline), yuv420p(progressive), 1280x720, 30 tbr, 1200k tbn



Update : This issue is solved by changing the
H264RtpPacketizer
separator setting fromH264RtpPacketizer::Separator::Length
toH264RtpPacketizer::Separator::LongStartSequence
, many thanks to author of libdatachannel paullouisageneau (see answer below)

I have issues related to settings for the
libx264
encoder, but can happily encode withh264_nvenc
andh264_mf


-
-
all : Replace if (ARCH_FOO) checks by #if ARCH_FOO
12 juin 2022, par Andreas Rheinhardtall : Replace if (ARCH_FOO) checks by #if ARCH_FOO
This is more spec-compliant because it does not rely
on dead-code elimination by the compiler. Especially
MSVC has problems with this, as can be seen in
https://ffmpeg.org/pipermail/ffmpeg-devel/2022-May/296373.html
or
https://ffmpeg.org/pipermail/ffmpeg-devel/2022-May/297022.htmlThis commit does not eliminate every instance where we rely
on dead code elimination : It only tackles branching to
the initialization of arch-specific dsp code, not e.g. all
uses of CONFIG_ and HAVE_ checks. But maybe it is already
enough to compile FFmpeg with MSVC with whole-programm-optimizations
enabled (if one does not disable too many components).Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
- [DH] libavcodec/aacdec_template.c
- [DH] libavcodec/aacenc.c
- [DH] libavcodec/aacpsdsp_template.c
- [DH] libavcodec/aacsbr_template.c
- [DH] libavcodec/ac3dsp.c
- [DH] libavcodec/acelp_filters.c
- [DH] libavcodec/acelp_vectors.c
- [DH] libavcodec/alacdsp.c
- [DH] libavcodec/audiodsp.c
- [DH] libavcodec/blockdsp.c
- [DH] libavcodec/bswapdsp.c
- [DH] libavcodec/cavsdsp.c
- [DH] libavcodec/celp_filters.c
- [DH] libavcodec/celp_math.c
- [DH] libavcodec/cfhddsp.c
- [DH] libavcodec/cfhdencdsp.c
- [DH] libavcodec/dcadsp.c
- [DH] libavcodec/dct.c
- [DH] libavcodec/dirac_dwt.c
- [DH] libavcodec/diracdsp.c
- [DH] libavcodec/dnxhdenc.c
- [DH] libavcodec/exrdsp.c
- [DH] libavcodec/fdctdsp.c
- [DH] libavcodec/fft_template.c
- [DH] libavcodec/flacdsp.c
- [DH] libavcodec/fmtconvert.c
- [DH] libavcodec/g722dsp.c
- [DH] libavcodec/h263dsp.c
- [DH] libavcodec/h264chroma.c
- [DH] libavcodec/h264dsp.c
- [DH] libavcodec/h264pred.c
- [DH] libavcodec/h264qpel.c
- [DH] libavcodec/hevcdsp.c
- [DH] libavcodec/hevcpred.c
- [DH] libavcodec/hpeldsp.c
- [DH] libavcodec/huffyuvdsp.c
- [DH] libavcodec/huffyuvencdsp.c
- [DH] libavcodec/idctdsp.c
- [DH] libavcodec/iirfilter.c
- [DH] libavcodec/jpeg2000dsp.c
- [DH] libavcodec/lossless_audiodsp.c
- [DH] libavcodec/lossless_videodsp.c
- [DH] libavcodec/lossless_videoencdsp.c
- [DH] libavcodec/lpc.c
- [DH] libavcodec/mdct15.c
- [DH] libavcodec/me_cmp.c
- [DH] libavcodec/mlpdsp.c
- [DH] libavcodec/mpegaudiodsp.c
- [DH] libavcodec/mpegvideo.c
- [DH] libavcodec/mpegvideo_enc.c
- [DH] libavcodec/mpegvideodsp.c
- [DH] libavcodec/mpegvideoencdsp.c
- [DH] libavcodec/opus_pvq.c
- [DH] libavcodec/opusdsp.c
- [DH] libavcodec/pixblockdsp.c
- [DH] libavcodec/pngdsp.c
- [DH] libavcodec/proresdsp.c
- [DH] libavcodec/qpeldsp.c
- [DH] libavcodec/rdft.c
- [DH] libavcodec/rv34dsp.c
- [DH] libavcodec/rv40dsp.c
- [DH] libavcodec/sbcdsp.c
- [DH] libavcodec/sbrdsp_template.c
- [DH] libavcodec/snow_dwt.c
- [DH] libavcodec/svq1enc.c
- [DH] libavcodec/synth_filter.c
- [DH] libavcodec/takdsp.c
- [DH] libavcodec/ttadsp.c
- [DH] libavcodec/ttaencdsp.c
- [DH] libavcodec/utvideodsp.c
- [DH] libavcodec/v210dec_init.h
- [DH] libavcodec/v210enc_init.h
- [DH] libavcodec/vc1dsp.c
- [DH] libavcodec/videodsp.c
- [DH] libavcodec/vorbisdsp.c
- [DH] libavcodec/vp3dsp.c
- [DH] libavcodec/vp56dsp.c
- [DH] libavcodec/vp8dsp.c
- [DH] libavcodec/vp9dsp.c
- [DH] libavcodec/wmv2dsp.c
- [DH] libavcodec/x86/mdct15_init.c
- [DH] libavcodec/xvididct.c
- [DH] libavfilter/af_afirdsp.h
- [DH] libavfilter/af_anlmdn.c
- [DH] libavfilter/af_volume.c
- [DH] libavfilter/avf_showcqt.c
- [DH] libavfilter/colorspacedsp.c
- [DH] libavfilter/scene_sad.c
- [DH] libavfilter/vf_atadenoise.c
- [DH] libavfilter/vf_blend_init.h
- [DH] libavfilter/vf_bwdif.c
- [DH] libavfilter/vf_eq.h
- [DH] libavfilter/vf_framerate.c
- [DH] libavfilter/vf_fspp.c
- [DH] libavfilter/vf_gblur_init.h
- [DH] libavfilter/vf_gradfun.c
- [DH] libavfilter/vf_hflip_init.h
- [DH] libavfilter/vf_hqdn3d.c
- [DH] libavfilter/vf_idet.c
- [DH] libavfilter/vf_limiter.c
- [DH] libavfilter/vf_lut3d.c
- [DH] libavfilter/vf_maskedclamp.c
- [DH] libavfilter/vf_maskedmerge.c
- [DH] libavfilter/vf_nlmeans_init.h
- [DH] libavfilter/vf_noise.c
- [DH] libavfilter/vf_overlay.c
- [DH] libavfilter/vf_pp7.c
- [DH] libavfilter/vf_psnr.c
- [DH] libavfilter/vf_pullup.c
- [DH] libavfilter/vf_removegrain.c
- [DH] libavfilter/vf_spp.c
- [DH] libavfilter/vf_ssim.c
- [DH] libavfilter/vf_stereo3d.c
- [DH] libavfilter/vf_threshold_init.h
- [DH] libavfilter/vf_tinterlace.c
- [DH] libavfilter/vf_transpose.c
- [DH] libavfilter/vf_v360.c
- [DH] libavfilter/vf_w3fdif.c
- [DH] libavfilter/vf_yadif.c
- [DH] libavutil/cpu.c
- [DH] libavutil/fixed_dsp.c
- [DH] libavutil/float_dsp.c
- [DH] libavutil/lls.c
- [DH] libswresample/audioconvert.c
- [DH] libswresample/rematrix.c
- [DH] libswresample/resample_dsp.c
- [DH] libswscale/rgb2rgb.c
- [DH] libswscale/swscale.c
- [DH] libswscale/swscale_unscaled.c
- [DH] libswscale/utils.c
- [DH] libswscale/yuv2rgb.c