[FFmpeg-user] mjpeg "quality"
Erik Slagter
erik at slagter.name
Mon Mar 4 12:31:13 CET 2013
On 03-03-13 21:45, Carl Eugen Hoyos wrote:
> Erik Slagter <erik <at> slagter.name> writes:
>
>> I am probably overlooking something or plain stupid,
>> this is the thing, whatever "-q" value ("-q 1", "-q 30")
>> I supply to the ffmpeg command, with the mjpeg encoder,
>> the output remains the same size
>
> Not reproducible here / please provide your command
> line including complete, uncut console output.
Okay, thank you for trying to reproduce. To rule out a local problem I
did a complete "clean" clone and compilation from HEAD (on x86_64):
*** commands ***
mkdir ffmpeg-test
cd ffmpeg-test
git clone git://git.videolan.org/ffmpeg.git
../../ffmpeg/ffconfig # contents of that script I will supply later on
git remote set-url origin git://source.ffmpeg.org/ffmpeg # as advised in
./configure
git pull # check
make
mkdir bin
cp ffmpeg bin
find . -name '*.so*' -exec cp -a '{}' bin ';' -print
cd bin
export LD_LIBRARY_PATH=$PWD
ldd ./ffmpeg
./ffmpeg
./ffmpeg -i /var/foto/Todo/video/orig/00000.MTS -an -sn -codec:v mjpeg
-q:v 32 -f matroska test.mkv # *.MTS = bluray/AVC movie
*** output ***
----------------------------- >-8 ------------------------------
./configure ... (ffconfig)
install prefix /usr
source path .
C compiler gcc
ARCH x86 (nocona)
big-endian no
runtime cpu detection yes
yasm yes
MMX enabled yes
MMXEXT enabled yes
3DNow! enabled yes
3DNow! extended enabled yes
SSE enabled yes
SSSE3 enabled yes
AVX enabled yes
FMA4 enabled yes
CMOV enabled yes
CMOV is fast no
EBX available yes
EBP available yes
debug symbols no
strip symbols yes
optimize for size no
optimizations yes
static yes
shared yes
postprocessing support yes
new filter support yes
network support yes
threading support pthreads
safe bitstream reader yes
SDL support yes
texi2html enabled yes
perl enabled yes
pod2man enabled yes
makeinfo enabled yes
External libraries:
bzlib libmp3lame libopencore_amrwb
frei0r libopencore_amrnb libx264
libfreetype
Enabled decoders:
aac c93 interplay_video
aac_latm cavs jacosub
aasc cdgraphics jpeg2000
ac3 cdxl jpegls
adpcm_4xm cinepak jv
adpcm_adx cljr kgv1
adpcm_afc cllc kmvc
adpcm_ct comfortnoise lagarith
adpcm_ea cook libopencore_amrnb
adpcm_ea_maxis_xa cpia libopencore_amrwb
adpcm_ea_r1 cscd loco
adpcm_ea_r2 cyuv mace3
adpcm_ea_r3 dca mace6
adpcm_ea_xas dfa mdec
adpcm_g722 dirac microdvd
adpcm_g726 dnxhd mimic
adpcm_ima_amv dpx mjpeg
adpcm_ima_apc dsicinaudio mjpegb
adpcm_ima_dk3 dsicinvideo mlp
adpcm_ima_dk4 dvbsub mmvideo
adpcm_ima_ea_eacs dvdsub motionpixels
adpcm_ima_ea_sead dvvideo movtext
adpcm_ima_iss dxtory mp1
adpcm_ima_oki eac3 mp1float
adpcm_ima_qt eacmv mp2
adpcm_ima_smjpeg eamad mp2float
adpcm_ima_wav eatgq mp3
adpcm_ima_ws eatgv mp3adu
adpcm_ms eatqi mp3adufloat
adpcm_sbpro_2 eightbps mp3float
adpcm_sbpro_3 eightsvx_exp mp3on4
adpcm_sbpro_4 eightsvx_fib mp3on4float
adpcm_swf escape124 mpc7
adpcm_thp escape130 mpc8
adpcm_xa evrc mpeg1video
adpcm_yamaha ffv1 mpeg2video
alac ffvhuff mpeg4
als ffwavesynth mpeg_xvmc
amrnb flac mpegvideo
amrwb flic mpl2
amv flv msa1
anm fourxm msmpeg4v1
ansi fraps msmpeg4v2
ape frwu msmpeg4v3
ass g723_1 msrle
asv1 g729 mss1
asv2 gif mss2
atrac1 gsm msvideo1
atrac3 gsm_ms mszh
aura h261 mts2
aura2 h263 mvc1
avrn h263i mvc2
avrp h263p mxpeg
avs h264 nellymoser
avui huffyuv nuv
ayuv iac paf_audio
bethsoftvid idcin paf_video
bfi idf pam
bink iff_byterun1 pbm
binkaudio_dct iff_ilbm pcm_alaw
binkaudio_rdft imc pcm_bluray
bintext indeo2 pcm_dvd
bmp indeo3 pcm_f32be
bmv_audio indeo4 pcm_f32le
bmv_video indeo5 pcm_f64be
brender_pix interplay_dpcm pcm_f64le
pcm_lxf rpza v308
pcm_mulaw rv10 v408
pcm_s16be rv20 v410
pcm_s16be_planar rv30 vb
pcm_s16le rv40 vble
pcm_s16le_planar s302m vc1
pcm_s24be sami vc1image
pcm_s24daud sanm vcr1
pcm_s24le sgi vima
pcm_s24le_planar sgirle vmdaudio
pcm_s32be shorten vmdvideo
pcm_s32le sipr vmnc
pcm_s32le_planar smackaud vorbis
pcm_s8 smacker vp3
pcm_s8_planar smc vp5
pcm_u16be snow vp6
pcm_u16le sol_dpcm vp6a
pcm_u24be sonic vp6f
pcm_u24le sp5x vp8
pcm_u32be srt vplayer
pcm_u32le subrip vqa
pcm_u8 subviewer wavpack
pcm_zork subviewer1 webvtt
pcx sunrast wmalossless
pgm svq1 wmapro
pgmyuv svq3 wmav1
pgssub tak wmav2
pictor targa wmavoice
pjs targa_y216 wmv1
ppm text wmv2
prores theora wmv3
prores_lgpl thp wmv3image
ptx tiertexseqvideo wnv1
qcelp tiff ws_snd1
qdm2 tmv xan_dpcm
qdraw truehd xan_wc3
qpeg truemotion1 xan_wc4
qtrle truemotion2 xbin
r10k truespeech xbm
r210 tscc2 xface
ra_144 tta xl
ra_288 twinvq xsub
ralf txd xwd
rawvideo ulti y41p
realtext utvideo yop
rl2 v210 yuv4
roq v210x zero12v
roq_dpcm
Enabled encoders:
a64multi libmp3lame pcx
a64multi5 libopencore_amrnb pgm
aac libx264 pgmyuv
ac3 libx264rgb ppm
ac3_fixed ljpeg prores
adpcm_adx mjpeg prores_anatoliy
adpcm_g722 movtext prores_kostya
adpcm_g726 mp2 qtrle
adpcm_ima_qt mpeg1video r10k
adpcm_ima_wav mpeg2video r210
adpcm_ms mpeg4 ra_144
adpcm_swf msmpeg4v2 rawvideo
adpcm_yamaha msmpeg4v3 roq
alac msvideo1 roq_dpcm
amv nellymoser rv10
ass pam rv20
asv1 pbm sgi
asv2 pcm_alaw snow
avrp pcm_f32be sonic
avui pcm_f32le sonic_ls
ayuv pcm_f64be srt
bmp pcm_f64le subrip
cljr pcm_mulaw sunrast
comfortnoise pcm_s16be svq1
dca pcm_s16be_planar targa
dnxhd pcm_s16le tiff
dpx pcm_s16le_planar utvideo
dvbsub pcm_s24be v210
dvdsub pcm_s24daud v308
dvvideo pcm_s24le v408
eac3 pcm_s24le_planar v410
ffv1 pcm_s32be vorbis
ffvhuff pcm_s32le wmav1
flac pcm_s32le_planar wmav2
flv pcm_s8 wmv1
g723_1 pcm_s8_planar wmv2
gif pcm_u16be xbm
h261 pcm_u16le xface
h263 pcm_u24be xsub
h263p pcm_u24le xwd
huffyuv pcm_u32be y41p
jpeg2000 pcm_u32le yuv4
jpegls pcm_u8
Enabled hwaccels:
Enabled parsers:
aac dvdsub mpegvideo
aac_latm flac png
ac3 gsm pnm
adx h261 rv30
bmp h263 rv40
cavsvideo h264 tak
cook mjpeg vc1
dca mlp vorbis
dirac mpeg4video vp3
dnxhd mpegaudio vp8
dvbsub
Enabled demuxers:
aac idf pcm_u24le
ac3 iff pcm_u32be
act ilbc pcm_u32le
adf image2 pcm_u8
adx image2pipe pjs
aea ingenient pmp
afc ipmovie pva
aiff ircam pvf
amr iss qcp
anm iv8 r3d
apc ivf rawvideo
ape jacosub realtext
aqtitle jv rl2
asf latm rm
ass lmlm4 roq
ast loas rpl
au lvf rso
avi lxf rtp
avr m4v rtsp
avs matroska sami
bethsoftvid mgsts sap
bfi microdvd sbg
bink mjpeg sdp
bintext mlp segafilm
bit mm shorten
bmv mmf siff
brstm mov smacker
c93 mp3 smjpeg
caf mpc smush
cavsvideo mpc8 sol
cdg mpegps sox
cdxl mpegts spdif
concat mpegtsraw srt
daud mpegvideo str
dfa mpl2 subviewer
dirac mpsub subviewer1
dnxhd msnwc_tcp swf
dsicin mtv tak
dts mv tedcaptions
dtshd mvi thp
dv mxf tiertexseq
dxa mxg tmv
ea nc truehd
ea_cdata nistsphere tta
eac3 nsv tty
epaf nut txd
ffm nuv vc1
ffmetadata ogg vc1t
filmstrip oma vivo
flac paf vmd
flic pcm_alaw vobsub
flv pcm_f32be voc
fourxm pcm_f32le vplayer
frm pcm_f64be vqf
g722 pcm_f64le w64
g723_1 pcm_mulaw wav
g729 pcm_s16be wc3
gif pcm_s16le webvtt
gsm pcm_s24be wsaud
gxf pcm_s24le wsvqa
h261 pcm_s32be wtv
h263 pcm_s32le wv
h264 pcm_s8 xa
hls pcm_u16be xbin
ico pcm_u16le xmv
idcin pcm_u24be xwma
yop yuv4mpegpipe
Enabled muxers:
a64 image2pipe pcm_s16le
ac3 ipod pcm_s24be
adts ircam pcm_s24le
adx ismv pcm_s32be
aiff ivf pcm_s32le
amr jacosub pcm_s8
asf latm pcm_u16be
asf_stream m4v pcm_u16le
ass matroska pcm_u24be
ast matroska_audio pcm_u24le
au md5 pcm_u32be
avi microdvd pcm_u32le
avm2 mjpeg pcm_u8
bit mkvtimestamp_v2 psp
caf mlp rawvideo
cavsvideo mmf rm
crc mov roq
daud mp2 rso
dirac mp3 rtp
dnxhd mp4 rtsp
dts mpeg1system sap
dv mpeg1vcd segment
eac3 mpeg1video smjpeg
f4v mpeg2dvd smoothstreaming
ffm mpeg2svcd sox
ffmetadata mpeg2video spdif
filmstrip mpeg2vob srt
flac mpegts stream_segment
flv mpjpeg swf
framecrc mxf tee
framemd5 mxf_d10 tg2
g722 null tgp
g723_1 nut truehd
gif ogg vc1t
gxf oma voc
h261 pcm_alaw w64
h263 pcm_f32be wav
h264 pcm_f32le webm
hls pcm_f64be wtv
ico pcm_f64le wv
ilbc pcm_mulaw yuv4mpegpipe
image2 pcm_s16be
Enabled protocols:
applehttp gopher pipe
cache hls rtmp
concat http rtmpt
crypto httpproxy rtp
data md5 srtp
ffrtmphttp mmsh tcp
file mmst udp
Enabled filters:
aconvert cropdetect noformat
aevalsrc decimate noise
afade delogo null
aformat deshake nullsink
allpass drawbox nullsrc
alphaextract drawtext overlay
alphamerge earwax pad
amerge ebur128 pan
amix edgedetect pixdesctest
amovie equalizer pp
anull fade removelogo
anullsink field rgbtestsrc
anullsrc fieldorder scale
apad format select
aresample fps sendcmd
aselect framestep setdar
asendcmd frei0r setfield
asetnsamples frei0r_src setpts
asetpts geq setsar
asettb gradfun settb
ashowinfo hflip showinfo
asplit highpass showspectrum
astreamsync histeq showwaves
atempo histogram silencedetect
bandpass hqdn3d smartblur
bandreject hue smptebars
bass idet split
bbox il super2xsai
biquad join swapuv
blackdetect kerndeint testsrc
blackframe life thumbnail
blend lowpass tile
boxblur lut tinterlace
cellauto lutrgb transpose
channelmap lutyuv treble
channelsplit mandelbrot unsharp
color movie vflip
colormatrix mp volume
concat mptestsrc volumedetect
copy negate yadif
crop
Enabled bsfs:
aac_adtstoasc mjpeg2jpeg mp3_header_decompress
chomp mjpega_dump_header noise
dump_extradata mov2textsub remove_extradata
h264_mp4toannexb mp3_header_compress text2movsub
imx_dump_header
Enabled indevs:
alsa jack oss
dv1394 lavfi v4l2
fbdev
Enabled outdevs:
alsa oss sdl
License: nonfree and unredistributable
Creating config.mak and config.h...
config.h is unchanged
config.asm is unchanged
libavutil/avconfig.h is unchanged
----------------------------- >-8 ------------------------------
artemis erik:~LD_LIBRARY_PATH $ ./ffmpeg -y -i
/var/foto/Todo/video/orig/00000.MTS -an -sn -codec:v mjpeg -q:v 32 -f
matroska test.mkv
ffmpeg version N-50460-g393dcbf Copyright (c) 2000-2013 the FFmpeg
developers
built on Mar 4 2013 11:50:51 with gcc 4.7.2 (GCC) 20120921 (Red Hat
4.7.2-2)
configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64
--enable-libopencore-amrnb --enable-libopencore-amrwb
--enable-libmp3lame --disable-libfaac --enable-libx264 --disable-vaapi
--disable-zlib --enable-postproc --enable-static --enable-shared
--enable-pthreads --enable-gpl --enable-version3 --enable-nonfree
--disable-debug --cpu=nocona --enable-avfilter --enable-frei0r
--enable-libfreetype --enable-runtime-cpudetect
libavutil 52. 17.103 / 52. 17.103
libavcodec 54. 92.100 / 54. 92.100
libavformat 54. 63.102 / 54. 63.102
libavdevice 54. 3.103 / 54. 3.103
libavfilter 3. 41.100 / 3. 41.100
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100
Input #0, mpegts, from '/var/foto/Todo/video/orig/00000.MTS':
Duration: 00:00:26.92, start: 0.801622, bitrate: 15704 kb/s
Program 1
Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448),
yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0:1[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz,
stereo, fltp, 256 kb/s
Stream #0:2[0x1200]: Subtitle: hdmv_pgs_subtitle ([144][0][0][0] /
0x0090)
Output #0, matroska, to 'test.mkv':
Metadata:
encoder : Lavf54.63.102
Stream #0:0: Video: mjpeg (MJPG / 0x47504A4D), yuvj420p, 1920x1080
[SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 1k tbn, 25 tbc
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> mjpeg)
Press [q] to stop, [?] for help
frame= 322 fps= 37 q=0.0 Lsize= 18486kB time=00:00:12.92
bitrate=11721.2kbits/s
video:18473kB audio:0kB subtitle:0 global headers:0kB muxing overhead
0.070991%
--------------------------------------- 8-< ---------------------------
ffconfig contents:
configure \
--prefix=/usr \
--libdir=/usr/lib64 \
--shlibdir=/usr/lib64 \
--enable-libopencore-amrnb \
--enable-libopencore-amrwb \
--enable-libmp3lame \
--disable-libfaac \
--enable-libx264 \
--disable-vaapi \
--disable-zlib \
--enable-postproc \
--enable-static \
--enable-shared \
--enable-pthreads \
--enable-gpl \
--enable-version3 \
--enable-nonfree \
--disable-debug \
--cpu=nocona \
--enable-avfilter \
--enable-frei0r \
--enable-libfreetype \
--enable-runtime-cpudetect \
$*
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3740 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-user/attachments/20130304/c4b989a8/attachment.p7s>
More information about the ffmpeg-user
mailing list