Skip to content

Instantly share code, notes, and snippets.

@BenjaminPoncet
Last active March 29, 2024 10:11
Show Gist options
  • Save BenjaminPoncet/bbef9edc1d0800528813e75c1669e57e to your computer and use it in GitHub Desktop.
Save BenjaminPoncet/bbef9edc1d0800528813e75c1669e57e to your computer and use it in GitHub Desktop.
Synology VideoStation ffmpeg wrapper with DTS, EAC3 and TrueHD support. This project is no longer maintained: Please see the following projects: https://github.com/darknebular/Wrapper_VideoStation/ - https://github.com/AlexPresso/VideoStation-FFMPEG-Patcher
#!/bin/bash
rev="12"
_log(){
echo "$(date '+%Y-%m-%d %H:%M:%S') - ${streamid} - $1" >> /tmp/ffmpeg.log
}
_log_para(){
echo "$1" | fold -w 120 | sed "s/^.*$/$(date '+%Y-%m-%d %H:%M:%S') - ${streamid} - = &/" >> /tmp/ffmpeg.log
}
_term(){
rm /tmp/ffmpeg-${streamid}.stderr
_log "*** KILLCHILD ***"
kill -TERM "$childpid" 2>/dev/null
}
trap _term SIGTERM
arch=`uname -a | sed 's/.*synology_//' | cut -d '_' -f 1`
nas=`uname -a | sed 's/.*synology_//' | cut -d '_' -f 2`
pid=$$
paramvs=$@
stream="${@: -1}"
streamid="FFM$pid"
bin1=/var/packages/ffmpeg/target/bin/ffmpeg
bin2=/var/packages/VideoStation/target/bin/ffmpeg.orig
args=()
vcodec="KO"
while [[ $# -gt 0 ]]
do
case "$1" in
-i)
shift
movie="$1"
args+=("-i" "$1")
;;
-hwaccel)
shift
hwaccel="$1"
args+=("-hwaccel" "$1")
;;
-scodec)
shift
scodec="$1"
args+=("-scodec" "$1")
;;
-f)
shift
fcodec="$1"
args+=("-f" "$1")
;;
-map)
shift
args+=("-map" "$1")
idmap=`echo $1 | cut -d : -f 2`
if [ "$vcodec" = "KO" ]; then
vcodec=`/var/packages/ffmpeg/target/bin/ffprobe -v error -select_streams $idmap -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 "$movie" | head -n 1`
vcodecprofile=`/var/packages/ffmpeg/target/bin/ffprobe -v error -select_streams $idmap -show_entries stream=profile -of default=noprint_wrappers=1:nokey=1 "$movie" | head -n 1`
else
acodec=`/var/packages/ffmpeg/target/bin/ffprobe -v error -select_streams $idmap -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 "$movie" | head -n 1`
fi
;;
*)
args+=("$1")
;;
esac
shift
done
_log "*** PROCESS START REV $rev DS$nas ($arch) PID $pid ***"
streamdir=`dirname "$stream"`
device=`cat ${streamdir}/video_metadata | jq -r '.device'`
_log "DEVICE = $device"
_log "MOVIE = $movie"
set -- "${args[@]}"
argsnew=()
args1sv=()
args2sv=()
args1vs=()
args2vs=()
while [[ $# -gt 0 ]]
do
case "$1" in
-ss)
shift
argsnew+=("-ss" "$1")
args1sv+=("-ss" "$1")
args1sv+=("-noaccurate_seek")
args1vs+=("-ss" "$1")
args1vs+=("-noaccurate_seek")
args2sv+=("-analyzeduration" "10000000")
args2vs+=("-analyzeduration" "10000000")
;;
-i)
shift
argsnew+=("-i" "$1")
args1sv+=("-i" "$1")
args2sv+=("-i" "pipe:0" "-map" "0")
args1vs+=("-i" "$1")
args2vs+=("-i" "pipe:0" "-map" "0")
;;
-vf)
shift
if [ "$hwaccel" = "vaapi" ] && [ "$vcodecprofile" = "Main 10" ]; then
scale_w=`echo "${1}" | sed -e 's/.*=w=//g' | sed -e 's/:h=.*//g'`
scale_h=`echo "${1}" | sed -e 's/.*:h=//g'`
if let ${scale_w} AND let ${scale_h}; then
argsnew+=("-vf" "scale_vaapi=w=${scale_w}:h=${scale_h}:format=nv12,hwupload,setsar=sar=1")
else
argsnew+=("-vf" "scale_vaapi=format=nv12,hwupload,setsar=sar=1")
fi
else
argsnew+=("-vf" "$1")
fi
args2sv+=("-vf" "$1")
args1vs+=("-vf" "$1")
;;
-vcodec)
shift
argsnew+=("-vcodec" "$1")
args1sv+=("-vcodec" "copy")
args2sv+=("-vcodec" "$1")
args1vs+=("-vcodec" "$1")
args2vs+=("-vcodec" "copy")
;;
-acodec)
shift
if [ "$1" = "libfaac" ]; then
argsnew+=("-acodec" "aac")
args1sv+=("-acodec" "aac")
args2vs+=("-acodec" "aac")
else
argsnew+=("-acodec" "$1")
args1sv+=("-acodec" "$1")
args2vs+=("-acodec" "$1")
fi
args2sv+=("-acodec" "copy")
args1vs+=("-acodec" "copy")
;;
-ab)
shift
argsnew+=("-ab" "$1")
args1sv+=("-ab" "$1")
args2vs+=("-ab" "$1")
;;
-ac)
shift
argsnew+=("-ac" "$1")
args1sv+=("-ac" "$1")
args2vs+=("-ac" "$1")
;;
-f)
shift
argsnew+=("-f" "$1")
args1sv+=("-f" "mpegts")
args2sv+=("-f" "$1")
args1vs+=("-f" "mpegts")
args2vs+=("-f" "$1")
;;
-segment_format)
shift
argsnew+=("-segment_format" "$1")
args2vs+=("-segment_format" "$1")
args2sv+=("-segment_format" "$1")
;;
-segment_list_type)
shift
argsnew+=("-segment_list_type" "$1")
args2vs+=("-segment_list_type" "$1")
args2sv+=("-segment_list_type" "$1")
;;
-hls_seek_time)
shift
argsnew+=("-hls_seek_time" "$1")
args2vs+=("-hls_seek_time" "$1")
args2sv+=("-hls_seek_time" "$1")
;;
-segment_time)
shift
argsnew+=("-segment_time" "$1")
args2vs+=("-segment_time" "$1")
args2sv+=("-segment_time" "$1")
;;
-segment_time_delta)
shift
argsnew+=("-segment_time_delta" "$1")
args2vs+=("-segment_time_delta" "$1")
args2sv+=("-segment_time_delta" "$1")
;;
-segment_start_number)
shift
argsnew+=("-segment_start_number" "$1")
args2vs+=("-segment_start_number" "$1")
args2sv+=("-segment_start_number" "$1")
;;
-individual_header_trailer)
shift
argsnew+=("-individual_header_trailer" "$1")
args2vs+=("-individual_header_trailer" "$1")
args2sv+=("-individual_header_trailer" "$1")
;;
-avoid_negative_ts)
shift
argsnew+=("-avoid_negative_ts" "$1")
args2vs+=("-avoid_negative_ts" "$1")
args2sv+=("-avoid_negative_ts" "$1")
;;
-break_non_keyframes)
shift
argsnew+=("-break_non_keyframes" "$1")
args2vs+=("-break_non_keyframes" "$1")
args2sv+=("-break_non_keyframes" "$1")
;;
-max_muxing_queue_size)
shift
args2vs+=("-max_muxing_queue_size" "$1")
args2sv+=("-max_muxing_queue_size" "$1")
;;
-map)
shift
argsnew+=("-map" "$1")
args1sv+=("-map" "$1")
args1vs+=("-map" "$1")
;;
*)
argsnew+=("$1")
if [ "$stream" = "$1" ]; then
args1sv+=("-bufsize" "1024k" "pipe:1")
args2sv+=("$1")
args1vs+=("-bufsize" "1024k" "pipe:1")
args2vs+=("$1")
else
args2sv+=("$1")
args1vs+=("$1")
fi
;;
esac
shift
done
sed -i -e "s/{\"PID\":${pid},\"hardware_transcode\":true,/{\"PID\":${pid},\"hardware_transcode\":false,/" /tmp/VideoStation/enabled
startexectime=`date +%s`
if [ "$scodec" = "subrip" ]; then
_log "FFMPEG = $bin2"
_log "CODEC = $scodec"
_log "PARAMVS ="
_log_para "$paramvs"
$bin2 "${args[@]}" &> /tmp/ffmpeg-${streamid}.stderr &
elif [ "$fcodec" = "mjpeg" ]; then
_log "FFMPEG = $bin2"
_log "CODEC = $fcodec"
_log "PARAMVS ="
_log_para "$paramvs"
$bin2 "${args[@]}" &> /tmp/ffmpeg-${streamid}.stderr &
else
_log "VCODEC = $vcodec ($vcodecprofile)"
_log "ACODEC = $acodec"
_log "PARAMVS ="
_log_para "$paramvs"
_log "MODE = WRAP"
_log "FFMPEG = $bin1"
_log "PARAMWP ="
param1=${argsnew[@]}
_log_para "$param1"
$bin1 "${argsnew[@]}" &> /tmp/ffmpeg-${streamid}.stderr &
fi
childpid=$!
_log "CHILDPID = $childpid"
wait $childpid
if grep "Conversion failed!" /tmp/ffmpeg-${streamid}.stderr || grep "Error opening filters!" /tmp/ffmpeg-${streamid}.stderr || grep "Unrecognized option" /tmp/ffmpeg-${streamid}.stderr || grep "Invalid data found when processing input" /tmp/ffmpeg-${streamid}.stderr; then
_log "*** CHILD END ***"
startexectime=`date +%s`
_log "STDOUT ="
_log_para "`tail -n 15 /tmp/ffmpeg-${streamid}.stderr`"
_log "MODE = PIPE SV"
_log "FFMPEG1 = $bin1"
_log "FFMPEG2 = $bin2"
_log "PARAM1 ="
param1=${args1sv[@]}
_log_para "$param1"
_log "PARAM2 ="
param2=${args2sv[@]}
_log_para "$param2"
$bin1 "${args1sv[@]}" | $bin2 "${args2sv[@]}" &> /tmp/ffmpeg-${streamid}.stderr &
childpid=$!
_log "CHILDPID = $childpid"
wait $childpid
fi
if grep "Conversion failed!" /tmp/ffmpeg-${streamid}.stderr || grep "Error opening filters!" /tmp/ffmpeg-${streamid}.stderr || grep "Unrecognized option" /tmp/ffmpeg-${streamid}.stderr || grep "Invalid data found when processing input" /tmp/ffmpeg-${streamid}.stderr; then
_log "*** CHILD END ***"
startexectime=`date +%s`
_log "STDOUT ="
_log_para "`tail -n 15 /tmp/ffmpeg-${streamid}.stderr`"
_log "MODE = PIPE VS"
_log "FFMPEG1 = $bin2"
_log "FFMPEG2 = $bin1"
_log "PARAM1 ="
param1=${args1vs[@]}
_log_para "$param1"
_log "PARAM2 ="
param2=${args2vs[@]}
_log_para "$param2"
$bin2 "${args1vs[@]}" | $bin1 "${args2vs[@]}" &> /tmp/ffmpeg-${streamid}.stderr &
childpid=$!
_log "CHILDPID = $childpid"
wait $childpid
fi
if grep "Conversion failed!" /tmp/ffmpeg-${streamid}.stderr || grep "Error opening filters!" /tmp/ffmpeg-${streamid}.stderr || grep "Unrecognized option" /tmp/ffmpeg-${streamid}.stderr || grep "Invalid data found when processing input" /tmp/ffmpeg-${streamid}.stderr; then
_log "*** CHILD END ***"
startexectime=`date +%s`
_log "STDOUT ="
_log_para "`tail -n 15 /tmp/ffmpeg-${streamid}.stderr`"
_log "MODE = ORIG"
_log "FFMPEG = $bin2"
$bin2 "${args[@]}" &> /tmp/ffmpeg-${streamid}.stderr &
childpid=$!
_log "CHILDPID = $childpid"
wait $childpid
fi
stopexectime=`date +%s`
if test $((stopexectime-startexectime)) -lt 10; then
_log "STDOUT ="
_log_para "`tail -n 15 /tmp/ffmpeg-${streamid}.stderr`"
fi
_log "*** CHILD END ***"
_log "*** PROCESS END ***"
rm /tmp/ffmpeg-${streamid}.stderr
@AlexPresso
Copy link

@darknebular

What I meant by the checks is about your image comparing the wrappers side by side, the "checks" are not about the "root user", it's about every comparison you make in this image.
Most of these were absolute bullshit for me as these features were also inside my patcher

@Denton22
Copy link

@AlexPresso @darknebular yeesh you two need to get a room... and less aderal....
Both of you are talented and competition is a great thing, but this is a very very niche project and does not warrant such behaviour....
This is not the linux kernel and just because people like Torvalds do it, does not mean you should take that as inspiration for your behaviour.

Please get along, the world is a shit enough place without the two of you bashing heads. And i need to unsub from this thread asap....

@AlexPresso
Copy link

AlexPresso commented Aug 10, 2023

BUT YOU HAVE MENTIONED ME AGAIN AND INSULTED ME

Actually I was just offensive with you, but I never insulted you, you did.

STOP INSINUATING THAT I COPY YOU, THAT'S A LIE

We both know it's wrong and anyway, I don't care that much, your adaptation of my patcher.sh code seems very messy for me.

YOU SEEM TO ME A TOXIC AND MANIPULATORY PERSON

Oh really ? Okay, that's your opinion. But what are these alt accounts you create to congrats yourself in comments / issues / forks ? I have same opinion for you.

THE RESULT HAS BEEN 7 BUGS

No. The result is:

  • 2 potential ""bugs"" (let's wait for the OP to answer in the issue / here why he says he doesn't have a log file when a screenshot shows one...)
  • 1 confirmed bug (log files growing in /tmp if no reboot)
  • 3 enhancements

And for me, that my installer stops and gives you a warning that you had previously installed my Wrapper seems much more elegant than your solution.

Yeah it's very elegant way to do it I agree. I was also thinking about adding something like that when he complained about patching two times after licensing AME.

@Denton22 Yeah, sorry for all of that

I'm also unsubbing so if you want to continue talking let's do it on Discord (alexpresso).

@darknebular
Copy link

@Denton22 thanks for your words.

@KidWar75
Copy link

We both know it's wrong and anyway, I don't care that much, your adaptation of my patcher.sh code seems very messy for me

Messy? Again, STOP MENTION TO ME OR MY WRAPPER. I don't take any from yours, except your fucking wrapper aka Simplest. I am thinking to quit your mention in the Simplest, due your ofensive comments.

CAN YOU?

STOP BE OFFENSIVE WITH ME.I ONLY HAVE ONE ACCOUNT ASSH0...

STOP RIGHT NOW!!!!!

How the fuck can you be that salty?

Have you ever considered seen someone for your anger management? You seem in pain.

The only offensive person between the two of you is… you.

@REDoxONA
Copy link

BUG 1

This is expected behavior, all these symbolic links are removed when unpatching. Having a symbolic link into /var/CodecPack/target/bin pointing to VideoStation's ffmpeg has the same effect of having a symlink (ffmpegXX) pointing to symlink (../pack/ffmpegXX) pointing to the VideoStation's ffmpeg. It just removes one symlink.

Yeah, the efect is when you uninstall VideoStation, a lot of program stop working.

BUG 3

This one is not a "bug",

It has a potential bug, can you ensure 100% that these files don't be exist in the future? No, you can't.

BUG 4
I don't have a Play device, in others devices this isn't working with your wrapper.

BUG 5:

But wait... If you have a ffmpeg.log file, why did you say in your issue you don't have any log file ?
When I tried to play this kind of movies, your wrapper don't generate logs

BUG 7:
I don't have a Play device, in others devices this isn't working with your wrapper.

I don't know if it's just me but I can't stop thinking your writing style / comment design is so much similar to DarkNebular/dsfans, also same language in VideoStation

Are you saying that I am darknebular? wtf??? Well, listen, I am using Google Translate, It would explain it. But not, I am another person.

@REDoxONA
Copy link

@darknebular

Now that I have an account, you deserve my star.

You've done a fabulous job, calm down, Alex is provoking you but we know it's the result of envy.

@REDoxONA
Copy link

You quit the repository?
image

@darknebular
Copy link

Until he kicked me out of GitHub he didn't stop

@Denton22
Copy link

darknebular has been suspended from github, because his behaviour is not ok

@KidWar75
Copy link

darknebular has been suspended from github, because his behaviour is not ok

Yep, I reported him :)

@darknebular
Copy link

darknebular has been suspended from github, because his behaviour is not ok

True, I have lost my composure.
But I can't spend all day with humiliating comments or belittling my work.

I don't deserve to have my entire account censored either.

@Denton22
Copy link

darknebular has been suspended from github, because his behaviour is not ok

Yep, I reported him :)

Me too...

@darknebular
Copy link

darknebular commented Aug 11, 2023

Ok Thanks for all!!!

I don't deserve to have my entire account censored either, perhaps only the comments...

@REDoxONA
Copy link

This is very sad.
He did a great work there!!!

@dsfans
Copy link

dsfans commented Aug 11, 2023

That's lies (again) :)
The wrapper only patches specific files (ffmpeg27, ffmpeg33 and ffmpeg41) if they exists, these files are exclusively used by VideoStation.

Are you calling me a liar here? Do you know me?...You don't, Capichi?

I spent 3 weeks of my life solving a problem with the Video Cameras App because of your wrapper, Alex, yes it's true, there is a dedicated binary, but perhaps you don't know that when you store videos of recordings with rare formats, the system jumps and uses ffmpeg41 and it didn't work for me because I didn't realize that and that ffmpeg41 was pointing to a binary that no longer existed on my system.

By the way, I just tried to enter the darknebular profile and I was able to access it. It looks like good!!!

@dsfans
Copy link

dsfans commented Aug 11, 2023

I don't deserve to have my entire account censored either, perhaps only the comments...

We know what AlexPresso is trying to do with you. Do not respond to their provocations. We know that the only thing you used was its wrapper.

Don't worry and again thanks for your Wrapper, it works great.

@REDoxONA
Copy link

By the way, I just tried to enter the darknebular profile and I was able to access it. It looks like good!!!

Good news!!!!

@darknebular, don't worry, you've done a great job there and right now I'm going to give you the star you deserve.

@darknebular
Copy link

Thanks a lot guys.
image

REDoxONA si viajas a Madrid tienes una cerveza pagada por mi!!!

@darknebular
Copy link

The Installer´s Script version 3.9.3 Wrapper with 5.1 and Configurator Tool:

Fully tested, fully stable, fully configurable using the Advanced Wrapper.

NOW YOU WILL HAVE: (Only when It´s necessary to activate my wrapper. This means transcoding of DTS, EAC3 and TrueHD.)

  • In MediaServer DLNA = [1) AAC 5.1 512kbps AND 2) MP3 2.0 256kbps.] (by default) (If exists)
  • In VIDEO-STATION = [1) MP3 2.0 256kbp AND 2) AAC 5.1 512kbps.] (by default)
  • You now can change the 5.1 audio´s codec from AAC 512kbps to AC3* 640kbps independently of its audio´s streams order in VIDEO-STATION and DLNA MediaServer using the configurator tool embedded into the installer.sh.

*(AC3 is more compatible with legacy 5.1 devices).
Avoid permanent errors, unlike other Internet Installers. There are other installers on the internet that produce permanent errors on your systems even after uninstalling them. Be careful. This does not happen with my Wrapper and my installer.

ADD-ONs or FIXES FROM 3.9.1:

  • Tested and working fine in a lot of Synology´s models.
  • Homogenize the closing of processes in the Simplest Wrapper with the Advanced Wrapper, to correct a bug carried over from Alex's code (the Simplest Wrapper). The Advanced Wrapper was and is working fine and don't need fix it.
  • Fixed the possibility to enter to the Start menu if you haven't got the AME License and you want to install the patch for the license in a XPEnology system.

Check It out:
Connect using SSH (Maximize the window for read better the menu) and then:

Enter:
sudo -i

And then:

INSTALL / UNINSTALL:

The BASIC command (you will see the Main Menu and all options):
bash -c "$(curl "https://raw.githubusercontent.com/darknebular/Wrapper_VideoStation/main/installer.sh")"

...

OTHER FLAGS:
Enter for installing:
bash -c "$(curl "https://raw.githubusercontent.com/darknebular/Wrapper_VideoStation/main/installer.sh")" -- -s autoinstall

Or (for uninstall it...)

Enter for uninstalling:
bash -c "$(curl "https://raw.githubusercontent.com/darknebular/Wrapper_VideoStation/main/installer.sh")" -- -s uninstall

CONFIGURATOR TOOL:

Enter:
bash -c "$(curl "https://raw.githubusercontent.com/darknebular/Wrapper_VideoStation/main/installer.sh")" -- -s config

https://github.com/darknebular/Wrapper_VideoStation

...

Please give a star in my repository if you like my wrapper or if you find It useful. Thanks...

BEST REGARDS.

@AlexPresso
Copy link

AlexPresso commented Aug 11, 2023

@darknebular

But I can't spend all day with humiliating comments or belittling my work

I'm just answering you, you have no need to insult me.

the system jumps and uses ffmpeg41 and it didn't work for me because I didn't realize that and that ffmpeg41 was pointing to a binary that no longer existed on my system

Oh you are also patching VideoStation and removing it without unpatching... Same test as @REDoxONA ("capichi" is spanish, you didn't say you are Italian ?). Yes. I don't believe you are a legitimate account.

Of course removing VideoStation withouth unpatching creates an issue, I'm working on fixing that.

We know what AlexPresso is trying to do with you

I'm not trying to do anything with him, actually I didn't report him at the time (I said him on Discord after he added me). The only thing I want is make other people see he's actually (and was) saying a lot of wrong things about me and my wrapper. If I'm not doing that, people won't know and they would just end to believe him. That's the reason he's angry in my opinion, because I'm coming here to show everyone when he's wrong.

Github removing his work or account is not what I want because he also spent time for this project. But to be honest I would be very glad if they could prevent him from creating new accounts, using my name/talking about me or my projects, seeing my projects or contacting me in any way. It's up to them to chose the better way to do it.

@AlexPresso
Copy link

By the way, about your bugs @REDoxONA you didn't answer this part:

But wait... If you have a ffmpeg.log file, why did you say in your issue you don't have any log file ? thinkinghttps://github.com/AlexPresso/VideoStation-FFMPEG-Patcher/issues/81

@dsfans
Copy link

dsfans commented Aug 11, 2023

Capichi is the vulgar form and Capisci is the correct, in the street you can use both. And yes this is a Italian word.

He is not talking about your wrapper at any time. However, whenever you can, you do, with comments that he copies you, that he has bullshit features, curious that little by little you are copying many of those "features" too.

@Denton22
Copy link

Ok Thanks for all!!!

I don't deserve to have my entire account censored either, perhaps only the comments...

Great to have you back, hopfully a bit more composed, would be a shame to see that happening again

@AlexPresso
Copy link

AlexPresso commented Aug 11, 2023

@dsfans

Capichi is the vulgar form and Capisci is the correct, in the street you can use both. And yes this is a Italian word.

Oh okay, I didn't know that, my bad then.

He is not talking about your wrapper at any time

https://github.com/darknebular/Wrapper_VideoStation/issues?q=is%3Aissue+alex

hat he copies you, that he has bullshit features

Did you look at his Offline_installer code ? the functions for logging and how to trigger the workflow are very similar... You can actually notice it's not his code because everything else is having a complete different coding style, like : no for loops, not ordering/grouping functions together.
I'm not saying his patcher is not working, I'm just saying he has copied a lot of things from mine and he still acts like my patcher is bad or I don't know but actually he's taking a lot from it.

I'm a bit lazy so I didn't put everything but you can see where he copied and tried to mix with his own way of coding to make it appears as his own code. Do you get why he is angry when I answer his messages now ?

I never said he has bullshit features, I said this comparison image (https://github.com/darknebular/Wrapper_VideoStation#tests-installers) is bullshit, most of the places where he places a red cross are wrong and he knows it.

@AlexPresso
Copy link

AlexPresso commented Aug 11, 2023

Anyway, this PR, fixing the bugs you reported is in a beta state and looking for testers. If anyone wants to (the testing procedure is detailed in the comments): AlexPresso/VideoStation-FFMPEG-Patcher#83

  • Bug 1 : Was not a bug but removed this symlink as it was not improving performances that much.
  • Bug 2 : Fixed, everything now gets automatically unpatched if you uninstall VideoStation.
  • Bug 3 : Not a bug, it’s an enhancement, I will keep this one in my todo for now.
  • Bug 4 : Waiting for your input in the issue.
  • Bug 5 : Fixed, the tmp.wget gets removed after patching/unpatching and the wrappers are now only logging into .stderr files (which get removed after process termination).
  • Bug 6 : Fixed by the fix in Bug 5 ; For this one I also added a “issue-report.sh” script to generate a report and simplify the steps for people opening bug issues and make it more easier to include the log files.
  • Bug 7 : Waiting for your input in the issue.

(to give my patcher a little more love) I also added a linter to check for potential code issue.

@dsfans
Copy link

dsfans commented Aug 11, 2023

JAJAJAJAJAJA

You are saying that he copy you Code because he used a commented box like you for sections?
And he use a intro with a conditional and you a message of the day?

JAJAJAJA JAJAJAJA

@dsfans
Copy link

dsfans commented Aug 11, 2023

That to me is not copying code. For me, copying code is what you did, hundreds and hundreds of lines of his version 12.1 and 12.2 wrapper, up to the last comma at the end and without mentioning him. And he asked you to please (on 3 occasions) to mention him and you replied that they were changes that anyone with little knowledge could make (you again belittled his work), after they were minor changes (you again belittled his work), Many things were fixed thanks to those "small" changes in Benjamin's original Wrapper and you know it. In the image it doesn't say anything about your wrapper, it talks about other installers. Many of the things that you told him were bullshit (you put him down again) like stopping the installation if it detected the Wrapper previously installed for you were trivial and now you're copying the idea. The AME license check you said it was not necessary, that your script works fine without that check and that it was trivial and a Holy Shit and now you are copying the idea from him, we will see if it is not so well part of his code. You never stop mentioning him, in the previous message you write things like he's wrong, what exactly is wrong? (again belittling him, making it look like he's wrong and presenting yourself as the "savior" to his mistakes), now you go back to shitting on him, you mention him again, to say that he copies you and you present us with a fucking comment box and put an intro that makes it different on top? Excuse me, but I must be laughing. If people read you, they will think that all the work is yours and that is a lie. I'm going to ask you too, if you only have those "proofs" better stop saying that he copies your script and stop mentioning him every day and stop manipulating.

@txsastre
Copy link

Thanks a lot guys. image

REDoxONA si viajas a Madrid tienes una cerveza pagada por mi!!!

I already gave you a star, I want my beer to. xD

Eso, que yo también quiero birra. Ánimos @darknebular , buen trabajo.

@darknebular
Copy link

darknebular commented Aug 11, 2023

Eso, que yo también quiero birra. Ánimos @darknebular , buen trabajo.

❤❤❤❤❤❤❤❤❤❤
OEEE MUCHAS GRACIAS!! Tú también eres o hablas español?
Para ti también por su puesto... Espero que ahora no coja y diga que tu cuenta soy yo también que me auto-escribo dice jajajaja, como ha dicho de las otras 2 cuentas anteriores...xD

Sólo tengo esta cuenta y hoy casi la pierdo por entrar al trapo con él. Supongo que él lo hará y por eso lo ve factible que yo también lo haga.

Saludos.

#################

For you too, of course... I hope that now he doesn't pick up and say that your account is also me who writes myself, he says hahahaha, as he said about the other 2 previous accounts... xD

I only have this account and today I almost lost it for going to the rag with him. I suppose that he will do it and that is why he sees it feasible that I do it too.

Greetings.

@REDoxONA
Copy link

(to give my patcher a little more love) I also added a linter to check for potential code issue.
@AlexPresso

I've been thinking about it deeply and I've decided not to continue helping you to improve your wrapper, you don't deserve it.

Until I showed you the bugs you didn't know they existed. How is it possible that darknebular didn't have any of those bugs if according to you, he doesn't use his brain? Well, I'm going to answer you, because he has spent a lot of time debugging and trial and error and you haven't.

And if you keep saying that I'm darknebular (which I'm not), you should at least wash your mouth and thank him for telling you all those bugs, which you call "enhancements"...

Best regards.

@darknebular
Copy link

darknebular commented Aug 11, 2023

THESE ARE OBJECTIVE FACTS AND NOT "FEELINGS OR THE LIKE": THE TRUTH ONLY

The 12.2 was launched in April 2021: (Version 12.1 was even earlier than that date)
image

I asked you up to 3 times to at least mention me and I asked you please, you laughed at my improvements and copied all my first versions and improvements made on Benjamin's wrapper and then you said you didn't.
image

image

### I changed the binaries order in 12.1, delete some commands, fix the logging in order to have only error output and not all output, change the names in the methods with more logical names, you Copy-Paste ALL my changes and ALL my wrapper's fixes or Versions without mention to me and now you are crying because I did a fork from your Simplest? At least I mention to you into the Simplest's wrapper.

LEFT IT'S MY INITIAL WRAPPER'S VERSION 12.1, RIGHT IT'S THE DEPRECATED BENJAMIN'S WRAPPER 12 VERSION.
image
image
image

Here "Alex's" wrapper "from" the "Benjamin's one", but It was really a Copy-Paste from MY INITIAL VERSION 12.1:

image
image
image

I know why I put this 22 there, you don't.

Could you explain this 22 there? No, You can't do it. UP TO THE LAST COMMA, IT WAS AN EXACT COPY PASTE

@txsastre
Copy link

txsastre commented Aug 11, 2023

Eso, que yo también quiero birra. Ánimos @darknebular , buen trabajo.

❤❤❤❤❤❤❤❤❤❤ OEEE MUCHAS GRACIAS!! Tú también eres o hablas español? Para ti también por su puesto... Espero que ahora no coja y diga que tu cuenta soy yo también que me auto-escribo dice jajajaja, como ha dicho de las otras 2 cuentas anteriores...xD

Sólo tengo esta cuenta y hoy casi la pierdo por entrar al trapo con él. Supongo que él lo hará y por eso lo ve factible que yo también lo haga.

Saludos.

#################

For you too, of course... I hope that now he doesn't pick up and say that your account is also me who writes myself, he says hahahaha, as he said about the other 2 previous accounts... xD

I only have this account and today I almost lost it for going to the rag with him. I suppose that he will do it and that is why he sees it feasible that I do it too.

Greetings.

From Spain.
I have to say that is sort of sad to see this kind of discussion here, in a place that open source means "sharing".

I've used both and both do the trick for me, be able to see movies.

Don't waste your time fighting each other, I'm very grateful for your work and the time you have spend for developing this and sharing your knowledge.

And no, I'm not "darknebuka*, I work as system admin and networks, I left behind development.

Now I'm using @darknebular and sometimes ask if it's possible to see subtitles xD. (Yes you said the problem is Synology).

Please peace here.

@darknebular
Copy link

Peace!!!

@geoff2k
Copy link

geoff2k commented Aug 11, 2023

I wish you all could harness this energy and channel it into something productive.

This clearly is something you are both passionate about, but the negativity that this is bringing into your lives can't be worth it.

@AlexPresso
Copy link

Peace

@kalety
Copy link

kalety commented Aug 12, 2023 via email

@darknebular
Copy link

Hi guys, it will be possible “Things” like HDR, 4K, etc in our loved Sinologys?
image
image
image
image

I think that YES!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment