-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #291 from richard-austin/release-for-ubuntu-24.04
Release for ubuntu 24.04
- Loading branch information
Showing
18 changed files
with
109 additions
and
125 deletions.
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,69 +1,15 @@ | ||
### ffmpeg | ||
ffmpeg version 4 is used in the NVR as versions 5 and above will not correctly mux the rtsp to fmp4 when audio is present. | ||
The problem is due to a lack of timestamps in one or both of the streams, and whereas ffmpeg4 | ||
deals with it satisfactorily, version 5 and above don't want to know, giving the below error messages continuously. | ||
deals with it satisfactorily, version 5 and above don't want to know, giving the below error messages continuously, as well | ||
as very poor video results in the application. | ||
<pre> | ||
pts has no value | ||
Packet duration: -1131 / dts: 152727 is out of range | ||
</pre> | ||
|
||
As ffmpeg 4 is not available as standard on Ubuntu 23.10, I have built an ffmpeg v4 executable | ||
for ARM64 architecture (at xtrn-scripts-and-config/ffmpeg-v4.4.4) which is deployed on installation of the | ||
main project deb file. | ||
As ffmpeg 4 is not available as standard on Ubuntu 24.04, I have built an ffmpeg v4 executable | ||
for ARM64 architecture (in the release area of [THIS](https://github.com/richard-austin/ffmpeg-4.4.4) repository) | ||
which is automatically deployed by the .deb installer. | ||
|
||
If you are deploying to a Raspberry pi, you can skip to the *Camera Recordings Service* section. | ||
|
||
If you are deploying the NVR to a non ARM64 platform, you will need to | ||
build ffmpeg 4 on that platform as follows:-. | ||
|
||
|
||
```bash | ||
wget https://ffmpeg.org/releases/ffmpeg-4.4.4.tar.xz | ||
tar -xvf ffmpeg-4.4.4.tar.xz | ||
cd ffmpeg-4.4.4/ | ||
./configure | ||
make | ||
``` | ||
The executable ffmpeg will be in the ffmpeg-4.4.4 directory. To deploy it in the deb file with the rest of the | ||
NVR, copy it to the project at xtrn-scripts-and-config/ffmpeg-v4.4.4. | ||
##### ffmpeg Build problem | ||
On Ubuntu 23.10, I got the following compilation error when building ffmpeg 4: - | ||
<pre> | ||
CC libavformat/adtsenc.o | ||
./libavcodec/x86/mathops.h: Assembler messages: | ||
./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr' | ||
./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr' | ||
./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr' | ||
./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr' | ||
./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr' | ||
./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr' | ||
./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr' | ||
./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr' | ||
./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr' | ||
./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr' | ||
./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr' | ||
./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr' | ||
./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr' | ||
./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr' | ||
./libavcodec/x86/mathops.h:125: Error:ffmpeg-4.4.4 operand type mismatch for `shr' | ||
./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr' | ||
./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr' | ||
./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr' | ||
./libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr' | ||
make: *** [ffbuild/common.mak:81: libavformat/adtsenc.o] Error 1 | ||
</pre> | ||
|
||
To fix this, copy xtrn-scripts-and-config/ffmpeg-v4.4.4/mathopts.patch to | ||
your ffmpeg-4.4.4 build directory and (from the ffmpeg-4.4.4 build directory) run | ||
|
||
```text | ||
patch -u -b ./libavcodec/x86/mathops.h mathopts.patch | ||
``` | ||
Run | ||
```text | ||
make clean | ||
make | ||
``` | ||
|
||
and it should now build OK. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
pyftpdlib==1.5.7 | ||
pyftpdlib==1.5.9 | ||
pytz==2022.1 | ||
resettabletimer==1.0.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
[Unit] | ||
|
||
Description=Apache Tomcat Web Application Container | ||
After=network.target | ||
[Service] | ||
Type=forking | ||
User=tomcat | ||
Group=tomcat | ||
Environment="JAVA_HOME=/usr/lib/jvm/java-1.17.0-openjdk-arm64" | ||
Environment="CATALINA_HOME=/var/lib/tomcat9" | ||
Environment="CATALINA_PID=/var/lib/tomcat9/temp/tomcat.pid" | ||
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC" | ||
ReadWritePaths=/var/log/security-cam/ | ||
ReadWritePaths=/etc/security-cam/ | ||
ReadWritePaths=/var/security-cam/ | ||
ReadWritePaths=/var/lib/tomcat9/webapps/ | ||
|
||
ExecStart=/var/lib/tomcat9/bin/startup.sh | ||
ExecStop=/var/lib/tomcat9/bin/shutdown.sh | ||
[Install] | ||
WantedBy=multi-user.target |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.