Log in

View Full Version : compiling ffmpeg


bololo
25th November 2016, 13:05
Hi,

I was proudly able to compile ffmpeg on my own in a Virtualbox running Linux Mint Mate.
I used the manual and the script to be found on
https://github.com/rdp/ffmpeg-windows-build-helpers/blob/master/README.md

The only thing is as I am a linux/bash/scriptnoob I was not able to compile a high_bitdepth version of ffmpeg.
As I can see in the script there are various if clauses that test if a variable called $high_bitdepth is set to "y" I just added a line in the beginning setting the variable (see screenshot line 4).

Unfortunately this does not help and produces an 8bit ffmpeg.

Question: How can I compile a 10bit version using that script?

Best regards,
B

qyot27
25th November 2016, 19:31
There is no such thing as a 'high bit depth FFmpeg', or an '8bit FFmpeg'. FFmpeg can use any bit depth so long as the codec or external library supports it.

You're confusing x264 (or maybe x265), which do have bit depth limitations when being built, and FFmpeg is restricted to whatever the bit depth of x264/x265 is when encoding H.264 or HEVC.

Selur
25th November 2016, 23:32
Why not use https://github.com/jb-alvarado/media-autobuild_suite ?
Runs on Windows, is supported nicely and can build ffmpeg with all the typical bells and whistles,...

bololo
26th November 2016, 15:39
Thanks for your replies!
Currently I am using a high_bitdepth build from here (https://sourceforge.net/projects/ffmpegwindowsbi/files/july-01-2016/) that operates internally with 10 bit to produce this kind of file:
Allgemein
Vollständiger Name : D:\work\Donald\VTS_02_2.mp4
Format : MPEG-4
Format-Profil : Base Media
Codec-ID : isom (isom/iso2/mp41)
Dateigröße : 46,5 MiB
Dauer : 8min 13s
Gesamte Bitrate : 790 Kbps
Kodierendes Programm : Lavf57.41.100

Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format-Profil : Main 10@L3@Main
Codec-ID : hev1
Codec-ID/Info : High Efficiency Video Coding
Dauer : 8min 13s
Bitrate : 787 Kbps
Breite : 716 Pixel
Höhe : 572 Pixel
Bildseitenverhältnis : 5:4
Modus der Bildwiederholungsrate : konstant
Bildwiederholungsrate : 25,000 FPS
ColorSpace : YUV
ChromaSubsampling : 4:2:0
BitDepth/String : 10 bits
Scantyp : progressiv
Bits/(Pixel*Frame) : 0.077
Stream-Größe : 46,3 MiB (100%)
verwendete Encoder-Bibliothek : x265 1.9+226-6561d8676581:[Windows][GCC 5.3.0][64 bit] 10bit
Kodierungseinstellungen : wpp / ctu=32 / min-cu-size=8 / max-tu-size=16 / tu-intra-depth=2 / tu-inter-depth=2 / me=3 / subme=3 / merange=44 / no-rect / no-amp / max-merge=3 / temporal-mvp / no-early-skip / rskip / rdpenalty=1 / no-tskip / no-tskip-fast / no-strong-intra-smoothing / no-lossless / no-cu-lossless / no-constrained-intra / no-fast-intra / open-gop / no-temporal-layers / interlace=0 / keyint=250 / min-keyint=25 / scenecut=40 / rc-lookahead=25 / lookahead-slices=0 / bframes=16 / bframe-bias=0 / b-adapt=2 / ref=4 / limit-refs=3 / limit-modes / weightp / no-weightb / aq-mode=1 / qg-size=32 / aq-strength=1.00 / cbqpoffs=0 / crqpoffs=0 / rd=4 / psy-rd=1.60 / rdoq-level=1 / psy-rdoq=5.00 / no-rd-refine / signhide / deblock=0:0 / no-sao / no-sao-non-deblock / b-pyramid / cutree / no-intra-refresh / rc=crf / crf=25.0 / qcomp=0.75 / qpmin=0 / qpmax=51 / qpstep=4 / ipratio=1.40 / pbratio=1.30


But I would like to compile a ffmpeg version that outputs a 10bit hevc stream myself.

I saw in the script in my first posting that there are command line attributes / variables $high_bitdepth that can be set to produce such a ffmpeg version.

So I just wanted to ask how to set up that script to do this. :)

qyot27
27th November 2016, 02:06
https://github.com/qyot27/mpv/blob/extra-new/DOCS/crosscompile-mingw-tedious.txt

You have to choose either 8-bit or 10-bit for x264 (the notes also point this out when you get to x264), but x265 does not require that, and the guide provides the instructions for a 8+10+12 build of x265.

A script basically does the same thing as the above guide, just with various tricks to make it build automatically. But the trade-off is that scripts are much more abstracted than that guide above is, and less easy to read.

bololo
27th November 2016, 12:30
https://github.com/qyot27/mpv/blob/extra-new/DOCS/crosscompile-mingw-tedious.txt
You have to choose either 8-bit or 10-bit for x264 (the notes also point this out when you get to x264), but x265 does not require that, and the guide provides the instructions for a 8+10+12 build of x265.

Wow cool, that script looks very nice. I will check that out.
Thank you very much everyone.

regards,
B