Compare commits

..

44 Commits

Author SHA1 Message Date
Sergiu Toma 2afdf8b0ca LH-276: Update producer close event handler 2023-02-21 02:24:52 +02:00
Sergiu Toma f99a4d9849 LH-276: Update producer close event handler 2023-02-21 02:16:52 +02:00
Sergiu Toma c47259225a LH-276: Update producer close event handler 2023-02-21 02:10:04 +02:00
Sergiu Toma 0fca614e8e LH-276: Update producer close event handler 2023-02-21 02:06:09 +02:00
Sergiu Toma 48ef4911b1 LH-276: Update producer close event handler 2023-02-21 02:00:35 +02:00
Sergiu Toma 7e3e40e5e1 LH-276: Update producer close event handler 2023-02-21 02:00:02 +02:00
Sergiu Toma bc07a055e0 LH-276: Update producer close event handler 2023-02-21 01:57:56 +02:00
Sergiu Toma a214f4384e LH-276: Update producer close event handler 2023-02-21 01:57:06 +02:00
Sergiu Toma 7ec9f4ebde LH-276: Update producer close event handler 2023-02-21 01:55:40 +02:00
Sergiu Toma c65dcf1729 LH-276: Update producer close event handler 2023-02-21 01:53:03 +02:00
Sergiu Toma 0230e668e4 LH-276: Update producer close event handler 2023-02-21 01:50:43 +02:00
Sergiu Toma 68db146643 LH-276: Update producer close event handler 2023-02-21 01:41:53 +02:00
Sergiu Toma 00604279b5 LH-276: Update producer close event handler 2023-02-21 01:38:50 +02:00
Sergiu Toma 764087d1f6 LH-276: Update producer close event handler 2023-02-21 01:36:57 +02:00
Sergiu Toma 1dcc9321ba LH-276: Update producer close event handler 2023-02-21 01:32:50 +02:00
Sergiu Toma 59f8d4d360 LH-276: Update producer close event handler 2023-02-21 01:27:38 +02:00
Sergiu Toma f21a5f28ab LH-276: Update producer close event handler 2023-02-21 01:26:05 +02:00
Sergiu Toma 76d93e97b1 LH-276: Update producer close event handler 2023-02-21 01:19:51 +02:00
Sergiu Toma 2098fbdd89 LH-276: Update producer close event handler 2023-02-21 01:12:32 +02:00
Sergiu Toma cb14061b94 LH-276: Update producer close event handler 2023-02-21 01:09:35 +02:00
Sergiu Toma 1060293980 LH-276: Update producer close event handler 2023-02-21 01:04:18 +02:00
Sergiu Toma 7f732785b9 LH-276: Update producer close event handler 2023-02-21 01:02:24 +02:00
Sergiu Toma 5dfbec1c0d LH-276: Update client js bundle 2023-02-21 00:57:00 +02:00
Sergiu Toma d1086f9ec0 LH-276: Update producer close event handler 2023-02-21 00:56:46 +02:00
Sergiu Toma cf6725dec4 LH-276: Update producer close event handler 2023-02-21 00:52:06 +02:00
Sergiu Toma 512d0f8bed LH-276: Update producer close event handler 2023-02-21 00:45:22 +02:00
Sergiu Toma 4b9987efe8 LH-276: Update client js bundle 2023-02-21 00:32:23 +02:00
Sergiu Toma 51cf3534a1 LH-276: Update producer close event handler 2023-02-21 00:28:08 +02:00
Sergiu Toma f206dfc5ae LH-276: Update producer close event handler 2023-02-21 00:24:03 +02:00
Sergiu Toma f5d45ce3a3 LH-276: Update producer close event handler 2023-02-21 00:18:00 +02:00
Sergiu Toma 9560d33870 LH-276: Update producer close event handler 2023-02-21 00:10:28 +02:00
Sergiu Toma 189c262b32 LH-276: Update producer close event handler 2023-02-20 23:53:08 +02:00
Sergiu Toma e53f4c353f LH-276: Update producer close event handler 2023-02-20 23:34:08 +02:00
Sergiu Toma d91fcfd584 LH-276: Update producer close enent handler 2023-02-20 23:28:19 +02:00
Sergiu Toma 12ad433c9f LH-276: Update producer close enent handler 2023-02-20 23:21:48 +02:00
Sergiu Toma 2c777f4746 LH-276: Update client js bundle 2023-02-20 20:39:55 +02:00
Sergiu Toma 52222fc255 LH-276: Update client js bundle 2023-02-20 20:39:40 +02:00
Sergiu Toma 7d5d471d7d LH-276: Update client js bundle 2023-02-20 20:36:45 +02:00
Sergiu Toma bdda13e0d5 LH-276: Update producer close enent handler 2023-02-20 20:25:33 +02:00
Sergiu Toma 1fb5df4cde LH-276: Update producer close enent handler 2023-02-20 20:10:09 +02:00
Sergiu Toma ea1c8e7e80 LH-276: Update producer close enent handler 2023-02-20 20:01:21 +02:00
Sergiu Toma 21b4b6d04f LH-276: Update producer close enent handler 2023-02-20 19:55:39 +02:00
Sergiu Toma a1d172ee07 LH-276: Update client js bundle 2023-02-20 19:46:10 +02:00
Sergiu Toma 0c917d6477 LH-276: Add handlers for producer close 2023-02-20 19:42:47 +02:00
25 changed files with 718 additions and 664 deletions

View File

@ -1,2 +0,0 @@
node_modules
doc

View File

@ -1,25 +1,11 @@
FROM ubuntu:22.04
WORKDIR /app
FROM ubuntu
RUN apt-get update && \
apt-get install -y build-essential pip net-tools iputils-ping iproute2 curl
RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash -
RUN apt-get install -y nodejs
RUN npm install -g watchify
COPY . /app/
RUN npm install
EXPOSE 3000/tcp
EXPOSE 2000-2200/udp
CMD node app.js
#docker build -t linx-video .
# docker run -it -d --restart always -p 3000:3000/tcp -p 2000-2200:2000-2200/udp linx-video
#Run under host network
# docker run -it -d --network host --restart always -p 3000:3000/tcp -p 2000-2200:2000-2200/udp linx-video
#https://docs.docker.com/config/containers/resource_constraints/
#docker run -it -d --network host --cpus="0.25" --memory="512m" --restart always -p 3000:3000/tcp -p 2000-2200:2000-2200/udp linx-video
EXPOSE 3000
EXPOSE 2000-2020
EXPOSE 10000-10100

1202
app.js

File diff suppressed because it is too large Load Diff

View File

@ -1,40 +1,4 @@
#/!bin/bash
## FUNCTIONS
function getGitVersion(){
version=$(git describe)
count=$(echo ${version%%-*} | grep -o "\." | wc -l)
if (( $count > 1 )); then
version=${version%%-*}
elif (( $count == 0 ));then
echo -e "Error: Git version \"${version%%-*}\" not respecting Safemobile standard.\n Must be like 4.xx or 4.xx.xx"
version="0.0.0"
else
if [[ "$1" == "dev" ]];then
cleanprefix=${version#*-} # remove everything before `-` including `-`
cleansuffix=${cleanprefix%-*} # remove everything after `-` including `-`
version="${version%%-*}.${cleansuffix}"
else
version="${version%%-*}.0" # one `%` remove everything after last `-`, two `%%` remove everything after all `-`
fi
fi
}
function addVersionPm2(){
file_pkg="package.json"
key=" \"version\": \""
if [ -f "$file_pkg" ] && [ ! -z "$version" ]; then
versionApp=" \"version\": \"$version\","
sed -i "s|^.*$key.*|${versionApp//\//\\/}|g" $file_pkg
text=$(cat $file_pkg | grep -c "$version")
if [ $text -eq 0 ]; then
echo "Version couldn't be set"
else
echo "Version $version successfully applied to App"
fi
fi
}
## PREBUILD PROCESS
# check dist dir to be present and empty
if [ ! -d "dist" ]; then
@ -58,17 +22,31 @@ echo "Building app... from $(git rev-parse --abbrev-ref HEAD)"
#npm run-script build
cp -r {.env,app.js,package.json,server,public,doc,Dockerfile} dist/
#cp -r ./* dist/
# Generate Git log
dateString=$(date +"%Y%m%d-%H%M%S")
git log --pretty=format:"%ad%x09%an%x09%s" --no-merges -20 > "dist/git-$dateString.log"
# Get Git version control
getGitVersion $1
# Add version control for pm2
git log --pretty=format:"%ad%x09%an%x09%s" --no-merges -20 > "dist/git--$dateString.log"
#Add version control for pm2
cd dist
addVersionPm2
#Add version control for pm2
version=$(git describe)
file_pkg="package.json"
key=" \"version\": \""
count=$(echo ${version%%-*} | grep -o "\." | wc -l)
if (( $count > 1 )); then
version=${version%%-*}
else
version="${version%%-*}.0"
fi
if [ -f "$file_pkg" ] && [ ! -z "$version" ]; then
version=" \"version\": \"$version\","
sed -i "s|^.*$key.*|${version//\//\\/}|g" $file_pkg
text=$(cat $file_pkg | grep -c "$version")
if [ $text -eq 0 ]; then
echo "Version couldn't be set"
else
echo "Version $version successfully applied to App"
fi
fi
## POST BUILD

Binary file not shown.

After

Width:  |  Height:  |  Size: 614 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 994 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 419 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 354 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 794 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 606 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 252 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 349 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 346 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 412 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 421 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 439 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 567 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 660 KiB

BIN
doc/[video] Workflow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 571 KiB

View File

@ -20855,6 +20855,40 @@ const getVideoTrask = async (videoParams) => {
rtpParameters: videoParams.rtpParameters
})
consumerVideo.on('transportclose', () => {
console.log('transport closed so consumer closed')
})
consumerVideo.on('producerclose', () => {
console.log('===================1 consumerVideo producerclose');
});
consumerVideo.on("producerclose", () => {
console.log('====================2 consumerVideo producerclose');
})
consumerVideo.on("close", () => {
console.log('====================3 consumerVideo producerclose');
})
consumerVideo.on("close-producer", () => {
console.log('====================4 consumerVideo producerclose');
})
consumerVideo.observer.on('producerclose', () => {
console.log('===================11 consumerVideo producerclose');
});
consumerVideo.observer.on("producerclose", () => {
console.log('====================22 consumerVideo producerclose');
})
consumerVideo.observer.on("close", () => {
console.log('====================33 consumerVideo producerclose');
})
consumerVideo.observer.on("close-producer", () => {
console.log('====================44 consumerVideo producerclose');
})
return consumerVideo.track
}
@ -20870,6 +20904,14 @@ const getAudioTrask = async (audioParams) => {
console.log('transport closed so consumer closed')
})
consumerAudio.on('producerclose', () => {
console.log('===================1 consumerAudio producerclose');
});
consumerAudio.on("producerclose", () => {
console.log('====================2 consumerAudio producerclose');
})
const audioTrack = consumerAudio.track
audioTrack.applyConstraints({

View File

@ -497,6 +497,40 @@ const getVideoTrask = async (videoParams) => {
rtpParameters: videoParams.rtpParameters
})
consumerVideo.on('transportclose', () => {
console.log('transport closed so consumer closed')
})
consumerVideo.on('producerclose', () => {
console.log('===================1 consumerVideo producerclose');
});
consumerVideo.on("producerclose", () => {
console.log('====================2 consumerVideo producerclose');
})
consumerVideo.on("close", () => {
console.log('====================3 consumerVideo producerclose');
})
consumerVideo.on("close-producer", () => {
console.log('====================4 consumerVideo producerclose');
})
consumerVideo.observer.on('producerclose', () => {
console.log('===================11 consumerVideo producerclose');
});
consumerVideo.observer.on("producerclose", () => {
console.log('====================22 consumerVideo producerclose');
})
consumerVideo.observer.on("close", () => {
console.log('====================33 consumerVideo producerclose');
})
consumerVideo.observer.on("close-producer", () => {
console.log('====================44 consumerVideo producerclose');
})
return consumerVideo.track
}
@ -512,6 +546,14 @@ const getAudioTrask = async (audioParams) => {
console.log('transport closed so consumer closed')
})
consumerAudio.on('producerclose', () => {
console.log('===================1 consumerAudio producerclose');
});
consumerAudio.on("producerclose", () => {
console.log('====================2 consumerAudio producerclose');
})
const audioTrack = consumerAudio.track
audioTrack.applyConstraints({