cd ~/Desktop ffplay -loop 0 DUFAY_TIFF/Dufay_%06d.tif ffmpeg -f image2 -i DUFAY_TIFF/Dufay_%06d.tif -f framemd5 Dufay_TIFF_framemd5.txt ffprobe -show_format -show_streams -print_format json DUFAY_TIFF/Dufay_000001.tif ffprobe -show_format -show_streams -print_format json DUFAY_TIFF/Dufay_%06d.tif mediainfo DUFAY_TIFF/Dufay_000001.tif mediainfo DUFAY_TIFF mediainfo --Details DUFAY_TIFF/Dufay_000001.tif mediainfo --Info-Parameters # generate derivates ffmpeg -f image2 -framerate 24 -i DUFAY_TIFF/Dufay_%06d.tif -filter:v "scale=1440:1080:flags=lanczos, pad=1920:1080:240:0" -c:v prores_ks -profile:v 3 Dufay_ProRes.mkv ffmpeg -h encoder=dnxhd ffmpeg -f image2 -framerate 24 -i DUFAY_TIFF/Dufay_%06d.tif -filter:v "scale=1440:1080:flags=lanczos, pad=1920:1080:240:0" -c:v dnxhd -profile:v dnxhr_hqx -pix_fmt yuv422p10le Dufay_DNxHR.mxf ffmpeg -i Dufay_ProRes.mkv -c:v libx264 -preset veryslow -crf 18 -pix_fmt yuv420p Dufay_ProRes_H264_18.mp4 ffmpeg -i Dufay_ProRes.mkv -c:v libx264 -preset veryslow -crf 30 -pix_fmt yuv420p Dufay_ProRes_H264_30.mp4 ffmpeg -i Dufay_DNxHR.mxf -c:v libx264 -preset veryslow -crf 18 -pix_fmt yuv420p Dufay_DNxHR_H264_18.mp4 ffmpeg -i Dufay_DNxHR.mxf -c:v libx264 -preset veryslow -crf 30 -pix_fmt yuv420p Dufay_DNxHR_H264_30.mp4 ffmpeg -f image2 -framerate 24 -i DUFAY_TIFF/Dufay_%06d.tif -filter:v "scale=1440:1080:flags=lanczos, pad=1920:1080:240:0" -c:v libx264 -preset veryslow -crf 18 -pix_fmt yuv420p Dufay_master_H264_18.mp4 ffmpeg -f image2 -framerate 24 -i DUFAY_TIFF/Dufay_%06d.tif -filter:v "scale=1440:1080:flags=lanczos, pad=1920:1080:240:0" -c:v libx264 -preset veryslow -crf 30 -pix_fmt yuv420p Dufay_master_H264_30.mp4 # use split screen ffmpeg -i Dufay_master_H264_18.mp4 -i Dufay_ProRes_H264_18.mp4 -filter_complex "[0]crop=iw/2:ih:0:0[left]; [1]crop=iw/2:ih:iw/2:0[right]; [left][right]hstack" Dufay_split_ProRes_18.mp4 ffmpeg -i Dufay_master_H264_30.mp4 -i Dufay_ProRes_H264_30.mp4 -filter_complex "[0]crop=iw/2:ih:0:0[left]; [1]crop=iw/2:ih:iw/2:0[right]; [left][right]hstack" Dufay_split_ProRes_30.mp4 ffmpeg -i Dufay_ProRes_H264_18.mp4 -i Dufay_ProRes_H264_30.mp4 -filter_complex "[0]crop=iw/2:ih:0:0[left]; [1]crop=iw/2:ih:iw/2:0[right]; [left][right]hstack" Dufay_split_ProRes_18_30.mp4 ffmpeg -i Dufay_master_H264_18.mp4 -i Dufay_DNxHR_H264_18.mp4 -filter_complex "[0]crop=iw/2:ih:0:0[left]; [1]crop=iw/2:ih:iw/2:0[right]; [left][right]hstack" Dufay_split_DNxHR_18.mp4 ffmpeg -i Dufay_master_H264_30.mp4 -i Dufay_DNxHR_H264_30.mp4 -filter_complex "[0]crop=iw/2:ih:0:0[left]; [1]crop=iw/2:ih:iw/2:0[right]; [left][right]hstack" Dufay_split_DNxHR_30.mp4 ffmpeg -i Dufay_DNxHR_H264_18.mp4 -i Dufay_DNxHR_H264_30.mp4 -filter_complex "[0]crop=iw/2:ih:0:0[left]; [1]crop=iw/2:ih:iw/2:0[right]; [left][right]hstack" Dufay_split_DNxHR_18_30.mp4 ffmpeg -i Dufay_ProRes_H264_18.mp4 -i Dufay_DNxHR_H264_18.mp4 -filter_complex "[0]crop=iw/2:ih:0:0[left]; [1]crop=iw/2:ih:iw/2:0[right]; [left][right]hstack" Dufay_split_mezzanine_18.mp4 ffmpeg -i Dufay_ProRes_H264_30.mp4 -i Dufay_DNxHR_H264_30.mp4 -filter_complex "[0]crop=iw/2:ih:0:0[left]; [1]crop=iw/2:ih:iw/2:0[right]; [left][right]hstack" Dufay_split_mezzanine_30.mp4 # use difference file ffmpeg -i Dufay_master_H264_18.mp4 -i Dufay_ProRes_H264_18.mp4 -filter_complex "[0]format=yuva444p, lut=c3=128, negate[0_with_alpha]; [1][0_with_alpha]overlay" Dufay_delta_ProRes_18.mp4 ffmpeg -i Dufay_master_H264_30.mp4 -i Dufay_ProRes_H264_30.mp4 -filter_complex "[0]format=yuva444p, lut=c3=128, negate[0_with_alpha]; [1][0_with_alpha]overlay" Dufay_delta_ProRes_30.mp4 ffmpeg -i Dufay_ProRes_H264_18.mp4 -i Dufay_ProRes_H264_30.mp4 -filter_complex "[0]format=yuva444p, lut=c3=128, negate[0_with_alpha]; [1][0_with_alpha]overlay" Dufay_delta_18_30.mp4 ffmpeg -i Dufay_master_H264_18.mp4 -i Dufay_DNxHR_H264_18.mp4 -filter_complex "[0]format=yuva444p, lut=c3=128, negate[0_with_alpha]; [1][0_with_alpha]overlay" Dufay_delta_DNxHR_18.mp4 ffmpeg -i Dufay_master_H264_30.mp4 -i Dufay_DNxHR_H264_30.mp4 -filter_complex "[0]format=yuva444p, lut=c3=128, negate[0_with_alpha]; [1][0_with_alpha]overlay" Dufay_delta_DNxHR_30.mp4 ffmpeg -i Dufay_ProRes_H264_18.mp4 -i Dufay_DNxHR_H264_18.mp4 -filter_complex "[0]format=yuva444p, lut=c3=128, negate[0_with_alpha]; [1][0_with_alpha]overlay" Dufay_delta_mezzanine_18.mp4 ffmpeg -i Dufay_ProRes_H264_30.mp4 -i Dufay_DNxHR_H264_30.mp4 -filter_complex "[0]format=yuva444p, lut=c3=128, negate[0_with_alpha]; [1][0_with_alpha]overlay" Dufay_delta_mezzanine_30.mp4 # visualise motion in H.264 # # pf = forward predicted motion vectors of P pictures # bf = forward predicted motion vectors of B pictures # bb = backward predicted motion vectors of B pictures ffplay -loop 0 -flags2 +export_mvs -vf "codecview=mv=pf+bf+bb" Dufay_master_H264_18.mp4 ffplay -loop 0 -flags2 +export_mvs -vf "codecview=mv=pf+bf+bb" Dufay_master_H264_30.mp4 # visualise one bit-planes (exemple is 3) bitdepth=8 ; bit2play=3 ; ffplay -loop 0 -vf "lutyuv=y=bitand(val\,pow(2\,${bitdepth}-${bit2play}))*pow(2\,${bit2play}):u=(maxval-minval)/2:v=(maxval-minval)/2" Dufay_master_H264_18.mp4 # visualise all bit-planes (all = 10) ffplay -loop 0 -vf "format=yuv420p10le|yuv422p10le|yuv444p10le|yuv440p10le,split=10[b0][b1][b2][b3][b4][b5][b6][b7][b8][b9]; [b0]crop=iw/10:ih:(iw/10)*0:0,lutyuv=y=512:u=512:v=512:y=bitand(val\,pow(2\,10-1))*pow(2\,1)[b0c]; [b1]crop=iw/10:ih:(iw/10)*1:0,lutyuv=y=512:u=512:v=512:y=bitand(val\,pow(2\,10-2))*pow(2\,2)[b1c]; [b2]crop=iw/10:ih:(iw/10)*2:0,lutyuv=y=512:u=512:v=512:y=bitand(val\,pow(2\,10-3))*pow(2\,3)[b2c]; [b3]crop=iw/10:ih:(iw/10)*3:0,lutyuv=y=512:u=512:v=512:y=bitand(val\,pow(2\,10-4))*pow(2\,4)[b3c]; [b4]crop=iw/10:ih:(iw/10)*4:0,lutyuv=y=512:u=512:v=512:y=bitand(val\,pow(2\,10-5))*pow(2\,5)[b4c]; [b5]crop=iw/10:ih:(iw/10)*5:0,lutyuv=y=512:u=512:v=512:y=bitand(val\,pow(2\,10-6))*pow(2\,6)[b5c]; [b6]crop=iw/10:ih:(iw/10)*6:0,lutyuv=y=512:u=512:v=512:y=bitand(val\,pow(2\,10-7))*pow(2\,7)[b6c]; [b7]crop=iw/10:ih:(iw/10)*7:0,lutyuv=y=512:u=512:v=512:y=bitand(val\,pow(2\,10-8))*pow(2\,8)[b7c]; [b8]crop=iw/10:ih:(iw/10)*8:0,lutyuv=y=512:u=512:v=512:y=bitand(val\,pow(2\,10-9))*pow(2\,9)[b8c]; [b9]crop=iw/10:ih:(iw/10)*9:0,lutyuv=y=512:u=512:v=512:y=bitand(val\,pow(2\,10-10))*pow(2\,10)[b9c]; [b0c][b1c][b2c][b3c][b4c][b5c][b6c][b7c][b8c][b9c]hstack=10,format=yuv422p10le,drawgrid=w=iw/10:h=ih:t=2:c=cyan@1" Dufay_master_H264_18.mp4