New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Include compilation option to use libav instead of ffmpeg #9
Comments
the solution here is to fix the distro package to use something from this decade (and not install something under the name ffmpeg if its not actually ffmpeg and isnt even compatible) and not work around it in obs imo, but Jim is the authority in this |
libav is a fork by some of the ffmpeg developers, so it's actually newer than ffmpeg. |
The Debian maintainer isn't interested in switching back to ffmpeg, so the solution for now is to use deb-multimedia.org repository. |
irrelevant if its not compatible the last time I looked, the ffmpeg package that was actually libav was from 2009 in the ubuntu lts repo |
If you download the latest ffmpeg repo and do a proper make install, you would have no issues compiling obs-studio. I don't know exactly where you got this idea that libav is newer, perhaps it was from the "deprecation" lie that was spread, but it's definitely untrue. They both have constant updates and include code from each other's projects. The blatant lie which some libav supporter spread about ffmpeg being "deprecated" is probably one of the most heinous things I've ever encountered in my life, and that person should probably be barred from ever being able to maintain packages again. I understand that a fork occurred and that there were disagreements between the two sides, but that crosses the line. That being said, if it's not too much work to maintain the ability to allow either, then that I will probably try to make it an option in the future, but currently I am focusing on actually building the program itself, I am not going to add support for libav right now if that turns out to be the case. However, if I determine that maintaining code to use both is more trouble than it's worth, and I have no other people willing to take up that task, then I will unfortunately have to choose a side, you must realize that. I am one single human being, and I can only do so much work. |
Good points, thanks for the feedback. I guess I'll see how well ffmpeg is still compatible with Ubuntu and Debian. |
# This is the 1st commit message: rtmp-services: Modify showroom setting Change recommend format and url. Extend curl Timeout span. # This is the commit message obsproject#2: rtmp-services: remove unused code # This is the commit message obsproject#3: rtmp-services: showroom support autoconfig ui # This is the commit message obsproject#4: rtmp-services: clang format # This is the commit message obsproject#5: rtmp-services: Add WASDTV (obsproject#2697) # This is the commit message obsproject#6: CI: Add freetype dep on osx # This is the commit message obsproject#7: libobs: Fix plugin folder search path case on macOS # This is the commit message obsproject#8: linux-v4l2: Fix build with Clang 10.0 add_control_property() was previously static inline bool, but did not return a value and failed to build on FreeBSD-CURRENT with Clang 10.0, with: error: non-void function 'add_control_property' should return a value # This is the commit message obsproject#9: CI: Add qt5-xml package for FreeBSD build task # This is the commit message obsproject#10: rtmp-services: Update ChathostessModels service (obsproject#2745) # This is the commit message obsproject#11: libobs: Don't save removed sources # This is the commit message obsproject#12: obs-ffmpeg: Fix media source not closing file when inactive # This is the commit message obsproject#13: obs-browser: Fix formatting # This is the commit message obsproject#14: obs-vst: Fix formatting # This is the commit message obsproject#15: obs-qsv11: Enable QSV texture-based encoding Enables a pipeline for texture-based encoding with QSV. Utilizes OBS NV12 output for encode to avoid offloading them from GPU, which will increase performance. The option to select old QSV pipeline still remains and will fallback if new pipeline fails. # This is the commit message obsproject#16: UI: Remove all scenes in ClearSceneData # This is the commit message obsproject#17: UI: Fix previewLabel styling Label renders with default styling instead of using dynamic property because it was already polished. # This is the commit message obsproject#18: docs/sphinx: Add Property Grouping # This is the commit message obsproject#19: plugins: Build ALSA plugin for FreeBSD Signed-off-by: Hans Petter Selasky <hps@selasky.org> # This is the commit message obsproject#20: UI: Adjust a few margins -Remove 9px margins around central widget. This saves 18px of vertical space. This will be helpful when the source context menu is added, which is 24px tall. -Adjusts margins in transitions dock. The top of the transitions dock wasn't lined up with the top of the controls dock, which made it look bad. # This is the commit message obsproject#21: UI: Add status icons for recording and streaming # This is the commit message obsproject#22: CMake: Build Windows modules with file descriptors # This is the commit message obsproject#23: mac-capture: Use window id to identify windows on MacOS Use a window's window id in init_window in the mac window capture plugin. # This is the commit message obsproject#24: mac-capture: Only find window by window id when owner name and pid match # This is the commit message obsproject#25: mac-capture: Use int in place of NSNumber for owner_pid # This is the commit message obsproject#26: mac-capture: update owner_pid in `update_window` # This is the commit message obsproject#27: CI: Add main Github Actions workflow for branch pushes and PRs # This is the commit message obsproject#28: UI: Remove unnecessary global variables # This is the commit message obsproject#29: Revert "UI: Remove unnecessary global variables" This reverts commit f91d3ba. From @pkv: the reason some of these vars were global is because Qt was not deleting them at all; as a result memory leaks have been reintroduced for: previewProjector, trayMenu, studioProgramProjector, multiviewProjectorMenu ; # This is the commit message obsproject#30: libobs-opengl: Fix viewport flip Flip viewport in coordination with update_viewproj_matrix. # This is the commit message obsproject#31: UI: Add white icons for dock titles - Add pop-out and close svg icons - Update all dark themes qss with the new icons # This is the commit message obsproject#32: rtmp-services: Change Stripchat streaming service
# This is the 1st commit message: rtmp-services: Modify showroom setting Change recommend format and url. Extend curl Timeout span. # This is the commit message obsproject#2: rtmp-services: remove unused code # This is the commit message obsproject#3: rtmp-services: showroom support autoconfig ui # This is the commit message obsproject#4: rtmp-services: clang format # This is the commit message obsproject#5: rtmp-services: Add WASDTV (obsproject#2697) # This is the commit message obsproject#6: CI: Add freetype dep on osx # This is the commit message obsproject#7: libobs: Fix plugin folder search path case on macOS # This is the commit message obsproject#8: linux-v4l2: Fix build with Clang 10.0 add_control_property() was previously static inline bool, but did not return a value and failed to build on FreeBSD-CURRENT with Clang 10.0, with: error: non-void function 'add_control_property' should return a value # This is the commit message obsproject#9: CI: Add qt5-xml package for FreeBSD build task # This is the commit message obsproject#10: rtmp-services: Update ChathostessModels service (obsproject#2745) # This is the commit message obsproject#11: libobs: Don't save removed sources # This is the commit message obsproject#12: obs-ffmpeg: Fix media source not closing file when inactive # This is the commit message obsproject#13: obs-browser: Fix formatting # This is the commit message obsproject#14: obs-vst: Fix formatting # This is the commit message obsproject#15: obs-qsv11: Enable QSV texture-based encoding Enables a pipeline for texture-based encoding with QSV. Utilizes OBS NV12 output for encode to avoid offloading them from GPU, which will increase performance. The option to select old QSV pipeline still remains and will fallback if new pipeline fails. # This is the commit message obsproject#16: UI: Remove all scenes in ClearSceneData # This is the commit message obsproject#17: UI: Fix previewLabel styling Label renders with default styling instead of using dynamic property because it was already polished. # This is the commit message obsproject#18: docs/sphinx: Add Property Grouping # This is the commit message obsproject#19: plugins: Build ALSA plugin for FreeBSD Signed-off-by: Hans Petter Selasky <hps@selasky.org> # This is the commit message obsproject#20: UI: Adjust a few margins -Remove 9px margins around central widget. This saves 18px of vertical space. This will be helpful when the source context menu is added, which is 24px tall. -Adjusts margins in transitions dock. The top of the transitions dock wasn't lined up with the top of the controls dock, which made it look bad. # This is the commit message obsproject#21: UI: Add status icons for recording and streaming # This is the commit message obsproject#22: CMake: Build Windows modules with file descriptors # This is the commit message obsproject#23: mac-capture: Use window id to identify windows on MacOS Use a window's window id in init_window in the mac window capture plugin. # This is the commit message obsproject#24: mac-capture: Only find window by window id when owner name and pid match # This is the commit message obsproject#25: mac-capture: Use int in place of NSNumber for owner_pid # This is the commit message obsproject#26: mac-capture: update owner_pid in `update_window` # This is the commit message obsproject#27: CI: Add main Github Actions workflow for branch pushes and PRs # This is the commit message obsproject#28: UI: Remove unnecessary global variables # This is the commit message obsproject#29: Revert "UI: Remove unnecessary global variables" This reverts commit f91d3ba. From @pkv: the reason some of these vars were global is because Qt was not deleting them at all; as a result memory leaks have been reintroduced for: previewProjector, trayMenu, studioProgramProjector, multiviewProjectorMenu ; # This is the commit message obsproject#30: libobs-opengl: Fix viewport flip Flip viewport in coordination with update_viewproj_matrix. # This is the commit message obsproject#31: UI: Add white icons for dock titles - Add pop-out and close svg icons - Update all dark themes qss with the new icons # This is the commit message obsproject#32: rtmp-services: Change Stripchat streaming service # This is the commit message obsproject#33: rtmp-services: Add VirtWish service # This is the commit message obsproject#34: UI: Update OSX to macOS in English translation # This is the commit message obsproject#35: obs-browser, obs-vst: Fix formatting # This is the commit message obsproject#36: CI: Fix Azure Pipelines macOS runs # This is the commit message obsproject#37: obs-filters: Add a user label to the LUT filter While discussing the Flatpak RFC [1], it was spotted that the LUT filter couldn't open the file selection dialog. It was explained, then, that the proper formats were either composed of "User Label (file extensions)", or "file extensions", and the LUT filter was setting "(file extensions)" without the actual user label. While this works on a standard Qt file selection dialog, it cannot be properly formatted as a set of D-Bus filters, thus breaking the sandbox integration. Add a simple user label to the LUT file filter. [1] obsproject/rfcs#21 (comment) # This is the commit message obsproject#38: UI: Remove requirement for replay buffer hotkey Fixes obsproject#2807 # This is the commit message obsproject#39: obs-ffmpeg: Log why new NVENC might not be used # This is the commit message obsproject#40: obs-ffmpeg: Preserve error message from new NVENC If we fallback to ffmpeg NVENC, the error from new NVENC might still be present in the encoder structure. Given that this provides a lot more actionable information to the user, let's use it if possible. # This is the commit message obsproject#41: libobs: Clear last error on encoder shutdown This fixes an issue where an encoder may error out on a path that doesn't use obs_encoder_set_last_error, resulting in a stale error being used. # This is the commit message obsproject#42: obs-ffmpeg: Add localization for NVENC error messages # This is the commit message obsproject#43: obs-ffmpeg: Add error message for non-zero GPU # This is the commit message obsproject#44: CI: Update macOS deps to fix lua # This is the commit message obsproject#45: vlc-video: Enable building the plugin on FreeBSD
# This is the 1st commit message: rtmp-services: add showroom setting # This is the commit message obsproject#2: rtmp-services: Modify showroom setting Change recommend format and url. Extend curl Timeout span. # This is the commit message obsproject#3: rtmp-services: remove unused code # This is the commit message obsproject#4: rtmp-services: showroom support autoconfig ui # This is the commit message obsproject#5: rtmp-services: clang format # This is the commit message obsproject#6: rtmp-services: Add WASDTV (obsproject#2697) # This is the commit message obsproject#7: CI: Add freetype dep on osx # This is the commit message obsproject#8: libobs: Fix plugin folder search path case on macOS # This is the commit message obsproject#9: linux-v4l2: Fix build with Clang 10.0 add_control_property() was previously static inline bool, but did not return a value and failed to build on FreeBSD-CURRENT with Clang 10.0, with: error: non-void function 'add_control_property' should return a value # This is the commit message obsproject#10: CI: Add qt5-xml package for FreeBSD build task # This is the commit message obsproject#11: rtmp-services: Update ChathostessModels service (obsproject#2745) # This is the commit message obsproject#12: libobs: Don't save removed sources # This is the commit message obsproject#13: obs-ffmpeg: Fix media source not closing file when inactive # This is the commit message obsproject#14: obs-browser: Fix formatting # This is the commit message obsproject#15: obs-vst: Fix formatting # This is the commit message obsproject#16: obs-qsv11: Enable QSV texture-based encoding Enables a pipeline for texture-based encoding with QSV. Utilizes OBS NV12 output for encode to avoid offloading them from GPU, which will increase performance. The option to select old QSV pipeline still remains and will fallback if new pipeline fails. # This is the commit message obsproject#17: UI: Remove all scenes in ClearSceneData # This is the commit message obsproject#18: UI: Fix previewLabel styling Label renders with default styling instead of using dynamic property because it was already polished. # This is the commit message obsproject#19: docs/sphinx: Add Property Grouping # This is the commit message obsproject#20: plugins: Build ALSA plugin for FreeBSD Signed-off-by: Hans Petter Selasky <hps@selasky.org> # This is the commit message obsproject#21: UI: Adjust a few margins -Remove 9px margins around central widget. This saves 18px of vertical space. This will be helpful when the source context menu is added, which is 24px tall. -Adjusts margins in transitions dock. The top of the transitions dock wasn't lined up with the top of the controls dock, which made it look bad. # This is the commit message obsproject#22: UI: Add status icons for recording and streaming # This is the commit message obsproject#23: CMake: Build Windows modules with file descriptors # This is the commit message obsproject#24: mac-capture: Use window id to identify windows on MacOS Use a window's window id in init_window in the mac window capture plugin. # This is the commit message obsproject#25: mac-capture: Only find window by window id when owner name and pid match # This is the commit message obsproject#26: mac-capture: Use int in place of NSNumber for owner_pid # This is the commit message obsproject#27: mac-capture: update owner_pid in `update_window` # This is the commit message obsproject#28: CI: Add main Github Actions workflow for branch pushes and PRs # This is the commit message obsproject#29: UI: Remove unnecessary global variables # This is the commit message obsproject#30: Revert "UI: Remove unnecessary global variables" This reverts commit f91d3ba. From @pkv: the reason some of these vars were global is because Qt was not deleting them at all; as a result memory leaks have been reintroduced for: previewProjector, trayMenu, studioProgramProjector, multiviewProjectorMenu ; # This is the commit message obsproject#31: libobs-opengl: Fix viewport flip Flip viewport in coordination with update_viewproj_matrix. # This is the commit message obsproject#32: UI: Add white icons for dock titles - Add pop-out and close svg icons - Update all dark themes qss with the new icons # This is the commit message obsproject#33: rtmp-services: Change Stripchat streaming service
# This is the 1st commit message: rtmp-services: add showroom setting # This is the commit message obsproject#2: rtmp-services: Modify showroom setting Change recommend format and url. Extend curl Timeout span. # This is the commit message obsproject#3: rtmp-services: remove unused code # This is the commit message obsproject#4: rtmp-services: showroom support autoconfig ui # This is the commit message obsproject#5: rtmp-services: clang format # This is the commit message obsproject#6: rtmp-services: Add WASDTV (obsproject#2697) # This is the commit message obsproject#7: CI: Add freetype dep on osx # This is the commit message obsproject#8: libobs: Fix plugin folder search path case on macOS # This is the commit message obsproject#9: linux-v4l2: Fix build with Clang 10.0 add_control_property() was previously static inline bool, but did not return a value and failed to build on FreeBSD-CURRENT with Clang 10.0, with: error: non-void function 'add_control_property' should return a value # This is the commit message obsproject#10: CI: Add qt5-xml package for FreeBSD build task # This is the commit message obsproject#11: rtmp-services: Update ChathostessModels service (obsproject#2745) # This is the commit message obsproject#12: libobs: Don't save removed sources # This is the commit message obsproject#13: obs-ffmpeg: Fix media source not closing file when inactive # This is the commit message obsproject#14: obs-browser: Fix formatting # This is the commit message obsproject#15: obs-vst: Fix formatting # This is the commit message obsproject#16: obs-qsv11: Enable QSV texture-based encoding Enables a pipeline for texture-based encoding with QSV. Utilizes OBS NV12 output for encode to avoid offloading them from GPU, which will increase performance. The option to select old QSV pipeline still remains and will fallback if new pipeline fails. # This is the commit message obsproject#17: UI: Remove all scenes in ClearSceneData # This is the commit message obsproject#18: UI: Fix previewLabel styling Label renders with default styling instead of using dynamic property because it was already polished. # This is the commit message obsproject#19: docs/sphinx: Add Property Grouping # This is the commit message obsproject#20: plugins: Build ALSA plugin for FreeBSD Signed-off-by: Hans Petter Selasky <hps@selasky.org> # This is the commit message obsproject#21: UI: Adjust a few margins -Remove 9px margins around central widget. This saves 18px of vertical space. This will be helpful when the source context menu is added, which is 24px tall. -Adjusts margins in transitions dock. The top of the transitions dock wasn't lined up with the top of the controls dock, which made it look bad. # This is the commit message obsproject#22: UI: Add status icons for recording and streaming # This is the commit message obsproject#23: CMake: Build Windows modules with file descriptors # This is the commit message obsproject#24: mac-capture: Use window id to identify windows on MacOS Use a window's window id in init_window in the mac window capture plugin. # This is the commit message obsproject#25: mac-capture: Only find window by window id when owner name and pid match # This is the commit message obsproject#26: mac-capture: Use int in place of NSNumber for owner_pid # This is the commit message obsproject#27: mac-capture: update owner_pid in `update_window` # This is the commit message obsproject#28: CI: Add main Github Actions workflow for branch pushes and PRs # This is the commit message obsproject#29: UI: Remove unnecessary global variables # This is the commit message obsproject#30: Revert "UI: Remove unnecessary global variables" This reverts commit f91d3ba. From @pkv: the reason some of these vars were global is because Qt was not deleting them at all; as a result memory leaks have been reintroduced for: previewProjector, trayMenu, studioProgramProjector, multiviewProjectorMenu ; # This is the commit message obsproject#31: libobs-opengl: Fix viewport flip Flip viewport in coordination with update_viewproj_matrix. # This is the commit message obsproject#32: UI: Add white icons for dock titles - Add pop-out and close svg icons - Update all dark themes qss with the new icons # This is the commit message obsproject#33: rtmp-services: Change Stripchat streaming service # This is the commit message obsproject#34: rtmp-services: Add VirtWish service # This is the commit message obsproject#35: UI: Update OSX to macOS in English translation # This is the commit message obsproject#36: obs-browser, obs-vst: Fix formatting # This is the commit message obsproject#37: CI: Fix Azure Pipelines macOS runs # This is the commit message obsproject#38: obs-filters: Add a user label to the LUT filter While discussing the Flatpak RFC [1], it was spotted that the LUT filter couldn't open the file selection dialog. It was explained, then, that the proper formats were either composed of "User Label (file extensions)", or "file extensions", and the LUT filter was setting "(file extensions)" without the actual user label. While this works on a standard Qt file selection dialog, it cannot be properly formatted as a set of D-Bus filters, thus breaking the sandbox integration. Add a simple user label to the LUT file filter. [1] obsproject/rfcs#21 (comment) # This is the commit message obsproject#39: UI: Remove requirement for replay buffer hotkey Fixes obsproject#2807 # This is the commit message obsproject#40: obs-ffmpeg: Log why new NVENC might not be used # This is the commit message obsproject#41: obs-ffmpeg: Preserve error message from new NVENC If we fallback to ffmpeg NVENC, the error from new NVENC might still be present in the encoder structure. Given that this provides a lot more actionable information to the user, let's use it if possible. # This is the commit message obsproject#42: libobs: Clear last error on encoder shutdown This fixes an issue where an encoder may error out on a path that doesn't use obs_encoder_set_last_error, resulting in a stale error being used. # This is the commit message obsproject#43: obs-ffmpeg: Add localization for NVENC error messages # This is the commit message obsproject#44: obs-ffmpeg: Add error message for non-zero GPU # This is the commit message obsproject#45: CI: Update macOS deps to fix lua # This is the commit message obsproject#46: vlc-video: Enable building the plugin on FreeBSD
01 增加libcurl的传统submit post 方法。 02 调整dshow处理代码位置,放在主仓库 03 开启版本检测功能 04 增加face++人脸识别功能。首次登陆成功上传用户头像;以后登陆优先验证头像;刷脸失败再用户名、密码登陆。
Minor clean ups and whatnot....
…-settings-polish Implement additional profile behaviors (profile change, rename, remove)
I tried to compile it on Debian (and basically Ubuntu, too) but they switched away from ffmpeg to libav. So I can't build it because libswresample just doesn't exist (but libavresample does).
Unfortunately my knowledge on both ffmpeg/libav and cmake is rather limited, but is it possible to add a compilation option (and a lot of ifdefs) to choose which one to use?
The text was updated successfully, but these errors were encountered: