ilia3101 / MLV-App

All in one MLV processing app.
https://mlv.app/
GNU General Public License v3.0
280 stars 30 forks source link

ffmpeg binaries in the source distribution! #157

Closed alexmyczko closed 5 years ago

alexmyczko commented 5 years ago

platform/qt/FFmpeg/ includes some binary stuff that should not be in the source. And makes the source non-portable for non-amd64 linux systems.

Any way to get rid of that?

Fails to build when removed:

g++ -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -o mlvapp .obj/main.o .obj/MainWindow.o .obj/amaze_demosaic.o .obj/debayer.o .obj/conv.o .obj/dmzhangwu.o .obj/basic.o .obj/matrix.o .obj/frame_caching.o .obj/video_mlv.o .obj/lj92.o .obj/llrawproc.o .obj/pixelproc.o .obj/stripes.o .obj/patternnoise.o .obj/hist.o .obj/camera_id.o .obj/raw_processing.o .obj/filter.o .obj/genann.o .obj/cube_lut.o .obj/igv_demosaic.o .obj/ahd.o .obj/dualiso.o .obj/dng.o .obj/InfoDialog.o .obj/StatusDialog.o .obj/Histogram.o .obj/WaveFormMonitor.o .obj/ExportSettingsDialog.o .obj/ReceiptSettings.o .obj/EditSliderValueDialog.o .obj/DoubleClickLabel.o .obj/AudioWave.o .obj/ResizeLabel.o .obj/GraphicsZoomView.o .obj/JumpSlider.o .obj/AudioPlayback.o .obj/GraphicsPickerScene.o .obj/NoScrollSlider.o .obj/ColorToolButton.o .obj/RenderFrameThread.o .obj/GraphicsPolygonMoveItem.o .obj/GradientElement.o .obj/VectorScope.o .obj/TimeCodeLabel.o .obj/darkframe.o .obj/ColorWheel.o .obj/audio_mlv.o .obj/cupdaterdialog.o .obj/cautoupdatergithub.o .obj/CUpdater.o .obj/blur_threaded.o .obj/Scripting.o .obj/FcpxmlAssistantDialog.o .obj/FcpxmlSelectDialog.o .obj/denoiser_2d_median.o .obj/ReceiptCopyMaskDialog.o .obj/UserManualDialog.o .obj/QRecentFilesMenu.o .obj/SingleFrameExportDialog.o .obj/Curves.o .obj/spline_helper.o .obj/cosine_interpolation.o .obj/rbf_wrapper.o .obj/HueVsDiagram.o .obj/RBFilterPlain.o .obj/qrc_ressources.o .obj/qrc_darkstyle.o .obj/moc_MainWindow.o .obj/moc_InfoDialog.o .obj/moc_StatusDialog.o .obj/moc_ExportSettingsDialog.o .obj/moc_EditSliderValueDialog.o .obj/moc_DoubleClickLabel.o .obj/moc_ResizeLabel.o .obj/moc_GraphicsZoomView.o .obj/moc_AudioPlayback.o .obj/moc_GraphicsPickerScene.o .obj/moc_NoScrollSlider.o .obj/moc_ColorToolButton.o .obj/moc_RenderFrameThread.o .obj/moc_GraphicsPolygonMoveItem.o .obj/moc_ColorWheel.o .obj/moc_CUpdater.o .obj/moc_Scripting.o .obj/moc_FcpxmlAssistantDialog.o .obj/moc_FcpxmlSelectDialog.o .obj/moc_ReceiptCopyMaskDialog.o .obj/moc_UserManualDialog.o .obj/moc_QRecentFilesMenu.o .obj/moc_SingleFrameExportDialog.o .obj/moc_Curves.o .obj/moc_HueVsDiagram.o   -L/usr/lib/gcc/x86_64-linux-gnu/4.8 -lgomp -lQt5Multimedia -lQt5Widgets -lQt5Gui -lQt5Network -lQt5Core -lGL -lpthread 
tar -C /root/bin -xvJf /var/www/debian/mlv-app/mlv-app-1.6/platform/qt/FFmpeg/ffmpegLinux.tar.xz --strip=1 ffmpeg-4.0-64bit-static/ffmpeg
tar (child): /var/www/debian/mlv-app/mlv-app-1.6/platform/qt/FFmpeg/ffmpegLinux.tar.xz: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
make[1]: *** [Makefile:519: mlvapp] Error 2
make[1]: Leaving directory '/var/www/debian/mlv-app/mlv-app-1.6/platform/qt'
dh_auto_build: cd platform/qt && make -j16 returned exit code 2
make: *** [debian/rules:17: build] Error 25
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2

I was trying something like this, but that doesn't cut it:

-    QMAKE_POST_LINK += tar -C $$(HOME)/bin -xvJf $$_PRO_FILE_PWD_/FFmpeg/ffmpegLinux.tar.xz --strip=1 ffmpeg-4.0-64bit-
static/ffmpeg                                                                                                           
+    QMAKE_POST_LINK += /usr/bin/ffmpeg  
masc4ii commented 5 years ago

We added the binaries to be safe it works - right: for amd64 systems on Linux. If the export works with any other ffmpeg version that might be in any distro - I am not sure and I can't guarantee.

You should remove the line. Clean. Qmake. Build. The line just unpacks and copies the binary at the place where MLVApp needs it.

alexmyczko commented 5 years ago

cool I figured, is that 10bit stuff important?

masc4ii commented 5 years ago

You mean 10bit export? Well... it gives 1024 possible colors per channel instead of just 256. So 4x more room per channel for later corrections in the NLE.

alexmyczko commented 5 years ago

How could I check if my ffmpeg has that or not?

masc4ii commented 5 years ago

This should be standard for all ffmpeg. What the real problem could be: are all export options working with any ffmpeg version... I don't know. And there are many options...