
Recherche avancée
Autres articles (17)
-
Other interesting software
13 avril 2011, parWe don’t claim to be the only ones doing what we do ... and especially not to assert claims to be the best either ... What we do, we just try to do it well and getting better ...
The following list represents softwares that tend to be more or less as MediaSPIP or that MediaSPIP tries more or less to do the same, whatever ...
We don’t know them, we didn’t try them, but you can take a peek.
Videopress
Website : http://videopress.com/
License : GNU/GPL v2
Source code : (...) -
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ; -
Prérequis à l’installation
31 janvier 2010, parPréambule
Cet article n’a pas pour but de détailler les installations de ces logiciels mais plutôt de donner des informations sur leur configuration spécifique.
Avant toute chose SPIPMotion tout comme MediaSPIP est fait pour tourner sur des distributions Linux de type Debian ou dérivées (Ubuntu...). Les documentations de ce site se réfèrent donc à ces distributions. Il est également possible de l’utiliser sur d’autres distributions Linux mais aucune garantie de bon fonctionnement n’est possible.
Il (...)
Sur d’autres sites (5044)
-
FFMPEG : How to manually select video quality from mpd manifest ?
18 juin 2022, par DeoxysI want to ask what command should I use to select video quality from mpd manifest ?



mpd manifest link



https://anevia115(dot)mncnow(dot)id/vod/eds/kiko-season1-eps1-mobil-kabur-anv6/_/sa_dash_vmx/kiko-season1-eps1-mobil-kabur-anv6.mpd




Here, the mpd file :



<?xml version="1.0" encoding="utf-8"?>
<mpd xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" mediapresentationduration="PT7M59.240000S" minbuffertime="PT0S" maxsegmentduration="PT4S">
 <period duration="PT7M59.240000S">
 <adaptationset group="1" mimetype="audio/mp4" lang="en" contenttype="audio" minbandwidth="32000" maxbandwidth="64000">
<contentprotection schemeiduri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"></contentprotection><contentprotection schemeiduri="urn:mpeg:dash:mp4protection:2011" value="cenc"></contentprotection> <role schemeiduri="urn:mpeg:dash:role:2011" value="main"></role>
 <representation bandwidth="32000" audiosamplingrate="22050" codecs="mp4a.40.2">
 <audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></audiochannelconfiguration>
 <segmenttemplate timescale="10000000" initialization="kiko-season1-eps1-mobil-kabur-anv6-$RepresentationID$-init.mp4" media="kiko-season1-eps1-mobil-kabur-anv6-$RepresentationID$-$Time$.mp4">
 <segmenttimeline>
 <s t="0" d="36223129" r="1"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758731"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758731"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129" r="1"></s>
 <s d="35758730"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758731"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758731"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129" r="1"></s>
 <s d="35758731"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758731"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758731"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758731"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758731"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758731"></s>
 <s d="36223129" r="1"></s>
 <s d="35758730"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758731"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758731"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129" r="1"></s>
 <s d="35758730"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="3715193"></s>
 </segmenttimeline>
 </segmenttemplate>
 </representation>
 <representation bandwidth="64000" audiosamplingrate="22050" codecs="mp4a.40.2">
 <audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></audiochannelconfiguration>
 <segmenttemplate timescale="10000000" initialization="kiko-season1-eps1-mobil-kabur-anv6-$RepresentationID$-init.mp4" media="kiko-season1-eps1-mobil-kabur-anv6-$RepresentationID$-$Time$.mp4">
 <segmenttimeline>
 <s t="0" d="36223129" r="1"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758731"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758731"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129" r="1"></s>
 <s d="35758730"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758731"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758731"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129" r="1"></s>
 <s d="35758731"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758731"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758731"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758731"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758731"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758731"></s>
 <s d="36223129" r="1"></s>
 <s d="35758730"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758731"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758731"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="35758730"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129" r="1"></s>
 <s d="35758730"></s>
 <s d="36223130"></s>
 <s d="35758730"></s>
 <s d="36223129"></s>
 <s d="3715193"></s>
 </segmenttimeline>
 </segmenttemplate>
 </representation>
 </adaptationset>
 <adaptationset group="2" framerate="25" mimetype="video/mp4" startwithsap="1" contenttype="video" par="16:9" minbandwidth="150119" maxbandwidth="5002530" minwidth="256" maxwidth="1920" minheight="144" maxheight="1080">
<contentprotection schemeiduri="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"></contentprotection><contentprotection schemeiduri="urn:mpeg:dash:mp4protection:2011" value="cenc"></contentprotection> <role schemeiduri="urn:mpeg:dash:role:2011" value="main"></role>
 <segmenttemplate timescale="10000000" initialization="kiko-season1-eps1-mobil-kabur-anv6-$RepresentationID$-init.mp4" media="kiko-season1-eps1-mobil-kabur-anv6-$RepresentationID$-$Time$.mp4">
 <segmenttimeline>
 <s t="0" d="36000000" r="132"></s>
 <s d="4400000"></s>
 </segmenttimeline>
 </segmenttemplate>
 <representation bandwidth="150119" width="256" height="144" codecs="avc1.4d400c"></representation>
 <representation bandwidth="500565" width="640" height="360" codecs="avc1.4d401e"></representation>
 <representation bandwidth="1001193" width="854" height="480" codecs="avc1.4d401e"></representation>
 <representation bandwidth="2502286" width="1280" height="720" codecs="avc1.4d401f"></representation>
 <representation bandwidth="5002530" width="1920" height="1080" codecs="avc1.4d4028"></representation>
 </adaptationset>
 </period>
</mpd>




The video is not encrypted with DRM. When I tried to download with FFmpeg, success, but FFmpeg automatically select the worst quality (144p).



FFmpeg command I use :



ffmpeg -i https://anevia115(dot)mncnow(dot)id/vod/eds/kiko-season1-eps1-mobil-kabur-anv6/_/sa_dash_vmx/kiko-season1-eps1-mobil-kabur-anv6.mpd -c copy kiko1.mp4




Result from ffmpeg



ffmpeg version 3.4.6-0ubuntu0.18.04.1 Copyright (c) 2000-2019 the FFmpeg developers
 built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
 configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
 libavutil 55. 78.100 / 55. 78.100
 libavcodec 57.107.100 / 57.107.100
 libavformat 57. 83.100 / 57. 83.100
 libavdevice 57. 10.100 / 57. 10.100
 libavfilter 6.107.100 / 6.107.100
 libavresample 3. 7. 0 / 3. 7. 0
 libswscale 4. 8.100 / 4. 8.100
 libswresample 2. 9.100 / 2. 9.100
 libpostproc 54. 7.100 / 54. 7.100
[dash @ 0x562ae2e98000] Opening '[URL]https://anevia115(dot)mncnow(dot)id/vod/eds/kiko-season1-eps1-mobil-kabur-anv6/_/sa_dash_vmx/kiko-season1-eps1-mobil-kabur-anv6-avc1_150119=5-init.mp4[/URL]' for reading [dash @ 0x562ae2e98000] Could not read complete fragment.
[dash @ 0x562ae2e98000] Opening '[URL]https://anevia115(dot)mncnow(dot)id/vod/eds/kiko-season1-eps1-mobil-kabur-anv6/_/sa_dash_vmx/kiko-season1-eps1-mobil-kabur-anv6-avc1_150119=5-0.mp4[/URL]' for reading
[dash @ 0x562ae2e98000] Opening '[URL]https://anevia115(dot)mncnow(dot)id/vod/eds/kiko-season1-eps1-mobil-kabur-anv6/_/sa_dash_vmx/kiko-season1-eps1-mobil-kabur-anv6-mp4a_32000_eng=6-init.mp4[/URL]' for reading [dash @ 0x562ae2e98000] Could not read complete fragment.
[dash @ 0x562ae2e98000] Opening '[URL]https://anevia115(dot)mncnow(dot)id/vod/eds/kiko-season1-eps1-mobil-kabur-anv6/_/sa_dash_vmx/kiko-season1-eps1-mobil-kabur-anv6-mp4a_32000_eng=6-0.mp4[/URL]' for reading
[aac @ 0x562ae32ced00] channel element 2.3 is not allocated
[h264 @ 0x562ae32cc500] top block unavailable for requested intra mode -1
[h264 @ 0x562ae32cc500] error while decoding MB 0 0, bytestream 38
[h264 @ 0x562ae32cc500] concealing 144 DC, 144 AC, 144 MV errors in I frame
Input #0, dash, from '[URL]https://anevia115(dot)mncnow(dot)id/vod/eds/kiko-season1-eps1-mobil-kabur-anv6/_/sa_dash_vmx/kiko-season1-eps1-mobil-kabur-anv6.mpd[/URL]':
 Duration: 00:07:59.00, start: 0.000000, bitrate: 0 kb/s 
Program 0
 Stream #0:0: Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 256x144 [SAR 1:1 DAR 16:9], 153 kb/s, 25 fps, 25 tbr, 10000k tbn, 50 tbc 
 Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 32 kb/s
Output #0, mp4, to 'kiko1.mp4': 
 Metadata: 
 encoder : Lavf57.83.100 
 Stream #0:0: Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 256x144 [SAR 1:1 DAR 16:9], q=2-31, 153 kb/s, 25 fps, 25 tbr, 10000k tbn, 10000k tbc
Stream mapping: 
 Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
[dash @ 0x562ae2e98000] Opening '[URL]https://anevia115(dot)mncnow(dot)id/vod/eds/kiko-season1-eps1-mobil-kabur-anv6/_/sa_dash_vmx/kiko-season1-eps1-mobil-kabur-anv6-mp4a_32000_eng=6-36223129.mp4[/URL]' for reading
[dash @ 0x562ae2e98000] Opening '[URL]https://anevia115(dot)mncnow(dot)id/vod/eds/kiko-season1-eps1-mobil-kabur-anv6/_/sa_dash_vmx/kiko-season1-eps1-mobil-kabur-anv6-avc1_150119=5-36000000.mp4[/URL]' for reading
....
....
frame=11978 fps= 99 q=-1.0 Lsize= 8891kB time=00:07:59.08 bitrate= 152.0kbits/s speed=3.97x
video:8779kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.269990%




Tried youtube-dl & streamlink but failed.
So, I use FFmpeg because it success to download the video and audio. I have read FFmpeg documentation but I have no idea what command should I use.
What command should I use to select another quality ? (ex : audio 64 kbps, video : 720p)





Note : just change (dot) to
.




-
How to access docker container from another container
5 mars 2020, par M PConsider this solution
Ubuntu 18.04 -
Installed docker -
Created openlitespeed container -
Created ffmpeg container -In my host this command is ok :
$ docker exec -it ffmpeg-container ffmpeg -version
ffmpeg version 3.4.6-0ubuntu0.18.04.1 Copyright (c) 2000-2019 the FFmpeg developers
but How to access in openlitespeed container to ffmpeg container with php code ?
<?php
$code='docker exec -it ffmpeg-container ffmpeg -version';
echo exec($code); -
Statically built FFMPEG binary segmentation fault
12 février 2020, par stevendesuI want to create a custom build of FFMPEG which rips out everything except for the ability to transmux HLS videos to MP4, and I need this build to be 100% static with no external dependencies
I tried using the following configuration :
./configure \
--extra-cflags='-static -static-libstdc++ -static-libgcc' \
--extra-cxxflags='-static -static-libstdc++ -static-libgcc' \
--extra-ldflags='-static -static-libstdc++ -static-libgcc' \
--pkg-config-flags='--static' \
--enable-static \
--disable-shared \
--disable-runtime-cpudetect \
--disable-autodetect \
--disable-ffplay \
--disable-ffprobe \
--disable-doc \
--disable-avdevice \
--disable-swresample \
--disable-swscale \
--disable-postproc \
--disable-pthreads \
--disable-w32threads \
--disable-os2threads \
--enable-network \
--disable-dct \
--disable-dwt \
--disable-error-resilience \
--disable-lsp \
--disable-lzo \
--disable-mdct \
--disable-rdft \
--disable-fft \
--disable-faan \
--disable-pixelutils \
--disable-encoders \
--disable-decoders \
--disable-hwaccels \
--disable-muxers \
--enable-muxer=mov \
--enable-muxer=mp4 \
--disable-demuxers \
--enable-demuxer=hls \
--enable-demuxer=mpegts \
--enable-demuxer=h264 \
--enable-demuxer=aac \
--disable-parsers \
--enable-parser=h264 \
--enable-parser=aac \
--disable-bsfs \
--disable-protocols \
--enable-protocol=tcp \
--enable-protocol=tls \
--enable-protocol=http \
--enable-protocol=https \
--enable-protocol=hls \
--disable-indevs \
--disable-outdevs \
--disable-devices \
--disable-filters \
--disable-alsa \
--disable-appkit \
--disable-avfoundation \
--disable-bzlib \
--disable-coreimage \
--disable-iconv \
--disable-lzma \
--enable-openssl \
--disable-sndio \
--disable-sdl2 \
--disable-securetransport \
--disable-xlib \
--disable-zlib \
--disable-amf \
--disable-audiotoolbox \
--disable-cuda-llvm \
--disable-cuvid \
--disable-d3d11va \
--disable-dxva2 \
--disable-ffnvcodec \
--disable-nvdec \
--disable-nvenc \
--disable-v4l2-m2m \
--disable-vaapi \
--disable-vdpau \
--disable-videotoolbox \
--disable-debugThis looked about like what I wanted :
install prefix /usr/local
source path .
C compiler gcc
C library glibc
ARCH x86 (generic)
big-endian no
runtime cpu detection no
standalone assembly yes
x86 assembler nasm
MMX enabled yes
MMXEXT enabled yes
3DNow! enabled yes
3DNow! extended enabled yes
SSE enabled yes
SSSE3 enabled yes
AESNI enabled yes
AVX enabled yes
AVX2 enabled yes
AVX-512 enabled yes
XOP enabled yes
FMA3 enabled yes
FMA4 enabled yes
i686 features enabled yes
CMOV is fast yes
EBX available yes
EBP available yes
debug symbols no
strip symbols yes
optimize for size no
optimizations yes
static yes
shared no
postprocessing support no
network support yes
threading support no
safe bitstream reader yes
texi2html enabled no
perl enabled yes
pod2man enabled yes
makeinfo enabled no
makeinfo supports HTML no
External libraries:
openssl
External libraries providing hardware acceleration:
Libraries:
avcodec avfilter avformat avutil
Programs:
ffmpeg
Enabled decoders:
Enabled encoders:
Enabled hwaccels:
Enabled parsers:
aac h264
Enabled demuxers:
aac h264 hls mpegts
Enabled muxers:
mov mp4
Enabled protocols:
hls http https tcp tls
Enabled filters:
aformat anull atrim format hflip null transpose trim vflip
Enabled bsfs:
null
Enabled indevs:
Enabled outdevs:
License: LGPL version 2.1 or laterIt included several filters which I won’t ever need or use, but these filters are pulled in automatically if you don’t specify
--disable-avfilter
, and specifying--disable-avfilter
prevents theffmpeg
binary from being produced. So I’m stuck with those.Using these parameters and then running
make
, I received a binary that was about 5.9 MB in size and looked right :$> ldd ffmpeg
not a dynamic executableBut when I try to run it :
$> ./ffmpeg -version
Segmentation faultUsing valgrind to try and inspect the cause of the segmentation fault :
$> valgrind ./ffmpeg -version
.... lots of stuff ...
==61362== Jump to the invalid address stated on the next line
==61362== at 0x0: ???
==61362== by 0x70BB1B: ??? (in /src/FFmpeg/ffmpeg)
==61362== by 0x70B2E6: ??? (in /src/FFmpeg/ffmpeg)
==61362== by 0x4033F9: ??? (in /src/FFmpeg/ffmpeg)
==61362== by 0x1FFF000677: ???
==61362== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==61362==
==61362==
==61362== Process terminating with default action of signal 11 (SIGSEGV)
==61362== Bad permissions for mapped region at address 0x0
==61362== at 0x0: ???
==61362== by 0x70BB1B: ??? (in /src/FFmpeg/ffmpeg)
==61362== by 0x70B2E6: ??? (in /src/FFmpeg/ffmpeg)
==61362== by 0x4033F9: ??? (in /src/FFmpeg/ffmpeg)
==61362== by 0x1FFF000677: ???
==61362==
==61362== HEAP SUMMARY:
==61362== in use at exit: 0 bytes in 0 blocks
==61362== total heap usage: 0 allocs, 0 frees, 0 bytes allocated
==61362==
==61362== All heap blocks were freed -- no leaks are possible
==61362==
==61362== For counts of detected and suppressed errors, rerun with: -v
==61362== Use --track-origins=yes to see where uninitialised values come from
==61362== ERROR SUMMARY: 93 errors from 90 contexts (suppressed: 0 from 0)
Segmentation faultAttempting to access memory at location
0x0
sounds like trying to follow a null pointer. But I’m not sure how to fix this.gdb backtrace
When I first ran
gdb ./ffmpeg
gdb immediately gave me a segmentation fault and I wasn’t kicked into the gdb REPL, so I couldn’t investigateAfter rebuilding ffmpeg I was able to get in this time :
$> gdb ./ffmpeg
GNU gdb (Ubuntu 8.1-0ubuntu3.2) 8.1.0.20180409-git
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later /gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
/www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
/www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ffmpeg...done.
(gdb) r
Starting program: /src/FFmpeg/ffmpeg
warning: Error disabling address space randomization: Operation not permitted
Program received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0 0x0000000000000000 in ?? ()
#1 0x0000000000f9a8d5 in __register_frame_info_bases.part.6 ()
#2 0x00000000004445fd in frame_dummy ()
#3 0x0000000000000001 in ?? ()
#4 0x0000000000ebd20c in __libc_csu_init ()
#5 0x0000000000ebc9d7 in __libc_start_main ()
#6 0x000000000044451a in _start ()
(gdb)I tried grep’ing the code base for
__register_frame_info_bases
and found nothing. So I’m not really sure where to go from hereA fix, but not an explanation
By randomly removing configuration parameters and rebuilding I discovered that
--disable-pthreads
was causing the segmentation fault. When I remove this, ffmpeg runs just fineI don’t know why this is the case, though. Why would they make it possible to remove something that you need to run ?