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
@darknebular
Copy link

You can try to force the transcoding configuring these options in Media Server:
image

Regards.

@darknebular
Copy link

I am a real newbie into this and it can be some easy thing that i have missed.

I think that in DTS, EAC3 and TrueHD the Wrapper must be activated and then having too the two audio streams. I think that if you send me the log I will can see the problem

@martvard
Copy link

This is what i get with the tail -n 200 -f /tmp/wrapper_ffmpeg.log command, using video station on PC. I checked the same command when trying to play the video on TV and nothing show up. TV says something like "video doesnt support audio"

2023-04-13 00:26:51 - FFM21611 - *** PROCESS START REV AME_12.3.6 DS220+ (gemini lake) PID 21611 ***
2023-04-13 00:26:51 - FFM21611 - MOVIE = /volume1/test/sample-Planet Earth II S01E02 HEVC 2160p UHD BluRay HDR DTSHD5.1-DDR.mkv
2023-04-13 00:26:51 - FFM21611 - VCODEC = hevc (Main 10)
2023-04-13 00:26:51 - FFM21611 - ACODEC = dts
2023-04-13 00:26:51 - FFM21611 - PARAMVS =
2023-04-13 00:26:51 - FFM21611 - = -ss 0.000 -vaapi_device /dev/dri/ren derD128 -hwaccel vaapi -hwaccel_output_format vaapi -noautorotate -i /volume1/te st/s
2023-04-13 00:26:51 - FFM21611 - = ample-Planet Earth II S01E02 HEVC 21 60p UHD BluRay HDR DTSHD5.1-DDR.mkv -r 24 -vcodec h264_vaapi -vf format=nv12|vaa pi,h
2023-04-13 00:26:51 - FFM21611 - = wupload,scale_vaapi=w=1920:h=1072,sc ale_vaapi=format=nv12 -vsync 2 -bf 0 -vb 15000000 -acodec libmp3lame -ab 128K -a c 2
2023-04-13 00:26:51 - FFM21611 - = -f ssegment -pix_fmt yuv420p -segmen t_format mpegts -segment_list_type m3u8 -hls_seek_time 0 -segment_time 5 -segmen t_ti
2023-04-13 00:26:51 - FFM21611 - = me_delta 0.000 -segment_start_number 00000 -avoid_negative_ts 0 -break_non_keyframes 1 -max_muxing_queue_size 1024 - map
2023-04-13 00:26:51 - FFM21611 - = 0:0 -map 0:1 /tmp/VideoStation/HLS/3 fcad3c5c5704ad739a236b93a6db7d3_qBb3AI0I/slice-%05d.ts
2023-04-13 00:26:51 - FFM21611 - MODE = ORIG-VSMS
2023-04-13 00:26:51 - FFM21611 - FFMPEG = /var/packages/CodecPack/target/pack/ bin/ffmpeg41.orig
2023-04-13 00:26:51 - FFM21611 - PARAMWP =
2023-04-13 00:26:51 - FFM21611 - = -ss 0.000 -vaapi_device /dev/dri/ren derD128 -hwaccel vaapi -hwaccel_output_format vaapi -noautorotate -i /volume1/te st/s
2023-04-13 00:26:51 - FFM21611 - = ample-Planet Earth II S01E02 HEVC 21 60p UHD BluRay HDR DTSHD5.1-DDR.mkv -r 24 -vcodec h264_vaapi -vf format=nv12|vaa pi,h
2023-04-13 00:26:51 - FFM21611 - = wupload,scale_vaapi=w=1920:h=1072,sc ale_vaapi=format=nv12 -vsync 2 -bf 0 -vb 15000000 -acodec libmp3lame -ab 128K -a c 2
2023-04-13 00:26:51 - FFM21611 - = -f ssegment -pix_fmt yuv420p -segmen t_format mpegts -segment_list_type m3u8 -hls_seek_time 0 -segment_time 5 -segmen t_ti
2023-04-13 00:26:51 - FFM21611 - = me_delta 0.000 -segment_start_number 00000 -avoid_negative_ts 0 -break_non_keyframes 1 -max_muxing_queue_size 1024 - map
2023-04-13 00:26:51 - FFM21611 - = 0:0 -map 0:1 /tmp/VideoStation/HLS/3 fcad3c5c5704ad739a236b93a6db7d3_qBb3AI0I/slice-%05d.ts
2023-04-13 00:26:51 - FFM21611 - CHILDPID = 21660
2023-04-13 00:26:51 - FFM21611 - *** CHILD END ***
2023-04-13 00:26:51 - FFM21611 - STDOUT =
2023-04-13 00:26:51 - FFM21611 - = BPS : 5896
2023-04-13 00:26:51 - FFM21611 - = BPS-eng : 5896
2023-04-13 00:26:51 - FFM21611 - = DURATION : 00:00:22.711 000000
2023-04-13 00:26:51 - FFM21611 - = DURATION-eng : 00:00:22.711 000000
2023-04-13 00:26:51 - FFM21611 - = NUMBER_OF_FRAMES: 4
2023-04-13 00:26:51 - FFM21611 - = NUMBER_OF_FRAMES-eng: 4
2023-04-13 00:26:51 - FFM21611 - = NUMBER_OF_BYTES : 16739
2023-04-13 00:26:51 - FFM21611 - = NUMBER_OF_BYTES-eng: 16739
2023-04-13 00:26:51 - FFM21611 - = _STATISTICS_WRITING_APP: mkvme rge v10.0.0 ('To Drown In You') 64bit
2023-04-13 00:26:51 - FFM21611 - = _STATISTICS_WRITING_APP-eng: m kvmerge v10.0.0 ('To Drown In You') 64bit
2023-04-13 00:26:51 - FFM21611 - = _STATISTICS_WRITING_DATE_UTC: 2017-04-09 02:11:12
2023-04-13 00:26:51 - FFM21611 - = _STATISTICS_WRITING_DATE_UTC-e ng: 2017-04-09 02:11:12
2023-04-13 00:26:51 - FFM21611 - = _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
2023-04-13 00:26:51 - FFM21611 - = STATISTICS_TAGS-eng: BPS DURA TION NUMBER_OF_FRAMES NUMBER_OF_BYTES
2023-04-13 00:26:51 - FFM21611 - = Stream mapping:
2023-04-13 00:26:51 - FFM21611 - = Stream #0:0 -> #0:0 (hevc (native) -> h264 (h264_vaapi))
2023-04-13 00:26:51 - FFM21611 - = Stream #0:1 -> #0:1 (? (?) -> mp3 (libmp3lame))
2023-04-13 00:26:51 - FFM21611 - = Decoder (codec dts) not found for in put stream #0:1
2023-04-13 00:26:51 - FFM21611 - MODE = PIPE V_ORIG-A_WRAP-VS
2023-04-13 00:26:51 - FFM21611 - FFMPEG1 = /var/packages/CodecPack/target/pack/ bin/ffmpeg41.orig
2023-04-13 00:26:51 - FFM21611 - FFMPEG2 = /var/packages/ffmpeg/target/bin/ffmp eg
2023-04-13 00:26:51 - FFM21611 - PARAM1 =
2023-04-13 00:26:51 - FFM21611 - = -ss 0.000 -noaccurate_seek -vaapi_de vice /dev/dri/renderD128 -hwaccel vaapi -hwaccel_output_format vaapi -noautorota te -
2023-04-13 00:26:51 - FFM21611 - = i /volume1/test/sample-Planet Earth II S01E02 HEVC 2160p UHD BluRay HDR DTSHD5.1-DDR.mkv -r 24 -vcodec h264_vaapi -v f fo
2023-04-13 00:26:51 - FFM21611 - = rmat=nv12|vaapi,hwupload,scale_vaapi =w=1920:h=1072,scale_vaapi=format=nv12 -vsync 2 -bf 0 -vb 15000000 -acodec copy -f m
2023-04-13 00:26:51 - FFM21611 - = pegts -pix_fmt yuv420p -map 0:0 -map 0:1 -bufsize 8192k pipe:1
2023-04-13 00:26:51 - FFM21611 - PARAM2 =
2023-04-13 00:26:51 - FFM21611 - = -analyzeduration 10000000 -vaapi_dev ice /dev/dri/renderD128 -hwaccel vaapi -hwaccel_output_format vaapi -noautorotat e -i
2023-04-13 00:26:51 - FFM21611 - = pipe:0 -map 0:0 -map 0:1 -map 0:1 - r 24 -vcodec copy -vsync 2 -bf 0 -vb 15000000 -c:a:0 libmp3lame -c:a:1 libfdk_aa c -b
2023-04-13 00:26:51 - FFM21611 - = :a:0 256k -b:a:1 512k -ac:1 2 -ac:2 6 -f ssegment -pix_fmt yuv420p -segment_format mpegts -segment_list_type m3u8 -h ls_s
2023-04-13 00:26:51 - FFM21611 - = eek_time 0 -segment_time 5 -segment
time_delta 0.000 -segment_start_number 00000 -avoid_negative_ts 0 -break_non_key fram
2023-04-13 00:26:51 - FFM21611 - = es 1 -max_muxing_queue_size 1024 /tm p/VideoStation/HLS/3fcad3c5c5704ad739a236b93a6db7d3_qBb3AI0I/slice-%05d.ts
2023-04-13 00:26:51 - FFM21611 - CHILDPID = 21692
2023-04-13 00:27:16 - FFM21611 - *** CHILD END ***
2023-04-13 00:27:16 - FFM21611 - *** PROCESS END ***

@martvard
Copy link

I now tried your config in Media Server and now it seems to be working fine!

Thank you so much.

@darknebular
Copy link

Thank you so much.

Great!!!

You are welcome!!!

Bets regards and ENJOY IT!!!

@dsfans
Copy link

dsfans commented Apr 17, 2023

I am writing my opinion about the wrappers. Sorry for my English, I am italian And I am not English speaker.
I was a user of the Alex's wrapper, I had problems with the resume of the videos and I saw a bug with the same problem that me in its profile. I was waiting for a solution, but only I read that "It's not related to his wrapper".

Well, Finally, I installed the darknebular's Wrapper and all my problems with the resume go off. Now It's working perfectly.

I decided to sign Up here in GitHub for answer to the user with these problems recomending to try the darknebular's One. In This moment, Alex had a bad manners towards me, he hided my comments and marked them as abuse.

Finally He blocks my profile for commenting It.

I think that He thinks that I am darknebula but I am another Guy.

I think that Alex is the tipical person that you can't say that he is wrong...
He said too that both wrappers can be installed in the same system, but It isn't true, when I have both I am having bucles in playing movies and strange errors.

I Will never come back to use the Alex's wrapper.
I recommend stay with the darknebular's One, for me It's powerfuller and better wrapper.

Cheers.

@darknebular
Copy link

darknebular commented Apr 17, 2023

ey ey ey I am happy with my life and I don't need another war with Alex.
I don't know this guy. He is a different person than me.

And yes, you are right, He doesn't listen to people and thinks he's always right. You CAN'T have both wrappers installed, because you will have strange behaviors in the reproduction of the movies. This behavior is because Alex's wrapper patches the VideoStation folder (good in older DSM but not ideal or wrong path in newer DSM) and not the CodecPack folder (the correct path in newer DSM) and produces playback errors with the mine.

I am glad that you are working fine with my Wrapper, ENJOY IT!!

Thanks for the review and please try not to include me in your fights with Alex. He has a wrapper and I have another wrapper, you choose if you need 5.1 or not and I don't want any war with somebody.

Best regards.

@darknebular
Copy link

@dsfans stop trolling me!!!
It isn't "your" wrapper, stop saying that to people and pretending to be me. I also will blocked you.
What are you doing doing this?

@va3lim
Copy link

va3lim commented Apr 26, 2023

@darknebular To use your ffmpeg wrapper, do I need to uninstall the other wrapper (alexpresso) or can they both co-exist? Thanks.

@darknebular
Copy link

darknebular commented Apr 26, 2023

@darknebular To use your ffmpeg wrapper, do I need to uninstall the other wrapper (alexpresso) or can they both co-exist? Thanks.

NO, It's better than they don't co-exist. I tried with both in the past and I had weird problems. The Alex's one patchs VideoStation folder and then he does a permanent link into CodecPack binary and the mine only patch CodecPack binary. In DSM 7.X you must only have patched the CodecPack binary.

It's better uninstall the other and then install my Wrapper. Or you can Install my Wrapper, and then re-install it. In this moment, my script will ask you if you want to uninstall others (for example Alex's one) or a older wrapper.
image

Regards.

@kkman466
Copy link

Hi darknebular
How to use this Wrapper. [ffmpeg41-wrapper-DSM7_1-12.3.7]
tks

@darknebular
Copy link

@kkman466
When you have installed this Wrapper, you will be able to play movies with DTS, E-AC3, TrueHD audio's codecs in Video Station and Media Server (This package is Optional).
For use this Wrapper, you only need to install it and play the movies in Video Station, nothing more.

You only need to have one of them installed:

  1. Advanced (with 5.1 support and 2.0 with 256 kbps, you also could change the audio's codecs order using the Configurator Tool)
  2. Simplest (only with 2.0 support and 96 kbps, not possible to configure)

It's recommended that you only have one Wrapper installed, if you have another wrapper before, please uninstall first.

Best regards.

@Oliech-1
Copy link

Oliech-1 commented May 1, 2023

Hi @darknebular
First, Thanks for your wrapper. Really nice and useful for a dsvideo user like me. Two clicks install, and it works !

One question, when I start a video encoded in ac3, what ever configuration I try to do in your wrapper (-- -s config), it remains in stereo.
eac3 or DTS are correctly read in multi channels. Is it an issue you are aware of or did I do someting wrong ?

I used previously AlexPresso's wrapper and removed it from your installer

(using dsvideo from an appleTV 4k with DS418Play)

Many thanks for your help

@kkman466
Copy link

kkman466 commented May 1, 2023

Hi darknebular

I installed ffmpeg 6.0, then I removed your Wrapper,
I installed your Wrapper again and got an error

FFMPEG WRAPPER INSTALLER version: SCPT_2.9

==================== Wrapper for VideoStation and DLNA MediaServer for DTS, EAC3 and TrueHD with transcoding to AAC 5.1: ====================
Synology VideoStation and MediaServer ffmpeg wrapper with DTS, EAC3 and TrueHD support.
It enables hardware transcoding from Synology's ffmpeg for video and transcoding DTS, HEVC, EAC3, AAC, True HD from the ffmpeg of the SynoCommunity.

When the Wrapper needs to transcoding you will have 2 audio's streams from the SAME track:

  • In DLNA MediaServer = [1) AAC 5.1 512kbps AND 2) MP3 2.0 256kbps.] (by default)
  • In VIDEO-STATION = [1) MP3 2.0 256kbp AND 2) AAC 5.1 512kbps.] (by default)*
    *(For Chromecast or Google TV or other clients that don´t accept 5.1 AAC neither multi audio's stream support).

Now, You 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.
(AC3 is more compatible with legacy 5.1 devices).

Works fine the OffLine transcoding and the streaming of tipical extensions like: MKV, MP4, AVI... Works fine the thumbnails in VideoStation.

The latest version is 12.2.5 for DSM 7.0 and 12.3.6 for DSM 7.1 and above.
You will have full control of each Audio's codecs parameter using the Configuration TOOL for the Advanced Wrapper Mode. The only Wrapper of Internet with 5.1 AAC support and with a Configurator TOOL.

============================================================ ¡¡¡¡¡ENJOY!!!!! ============================================================

[2023-05-01 22:22:07] ERROR: MISSING ffmpeg Package.
At least you need 1 package/s to Install, please Install the dependencies and RE-RUN the Installer again.
root@DS916Plus:~#

@Oliech-1
Copy link

Oliech-1 commented May 1, 2023

Hello kkman466,
As far as I understand and as mentioned in the Readme, only ffmpeg 4.X.X is supported (For the moment VideoStation It's not compatible with 5.X and 6.X)"

@darknebular
Copy link

Hi @Oliech-1 No, you are not doing something wrong. My Wrapper is activated only with DTS, E-AC3, TrueHD and when It is activated, there will be 2 audio's streams (5.1 and 2.0 or 2.0 and 5.1 ).
When you play AC3, the flow is using the native binary (ffmpeg41.orig), all native libraries and profiles, and then you will have only 2.0. (default streaming in Video Station)

Best regards.

@darknebular
Copy link

darknebular commented May 3, 2023

I installed ffmpeg 6.0, then I removed your Wrapper,
I installed your Wrapper again and got an error

Hello,

Yes, FFMPEG 6.0 has other arguments than what the Video Station app sends.

I am making another version of the Wrapper (SCPT 3.1 beta) compatible with FFMPEG 6.0, everything works but only with the advanced Wrapper, not the simplest one, ah! and in this beta version the resume option of the movies does not work.
The rest of the options work without problems.

If you want to try it you can putting this:
bash -c "$(curl "https://raw.githubusercontent.com/darknebular/Wrapper_VideoStation/main/testing.sh")"

Best regards.

@darknebular
Copy link

darknebular commented May 3, 2023

@kkman466
I recommend you that you stay with SCPT 2.9 (stable version) and you must to have installed this FFMPEG's version:
image
bash -c "$(curl "https://raw.githubusercontent.com/darknebular/Wrapper_VideoStation/main/installer.sh")"

With this version you will not have any problem with Video Station or my Wrapper SCPT 2.9.

You can have both ffmpeg if you really want to use the ffmpeg 6.0.

Best Regards.

@kkman466
Copy link

kkman466 commented May 3, 2023

ok
i got it
thks

@th0ma7
Copy link

th0ma7 commented May 3, 2023

@darknebular heads-up:

  1. there is a permission issue with DSM6 that some user may be affected by using latest releases
  2. ffmpeg4 seek time patches have now being ported over to ffmpeg5-6 (needs further testing)

Associated PR handling this: SynoCommunity/spksrc#5711

@darknebular
Copy link

darknebular commented May 3, 2023

Hi @th0ma7
I have seen that the VideoStation sends -hls_seek_time, but that argument in FFMPEG 6.0 is deprecated and I am changing it in the wrapper to ("-ss" "$1""ms").

It's correct this change?

I don't support DSM 6.X, for me It's deprecated and unsecure system.

Best regards.

@th0ma7
Copy link

th0ma7 commented May 4, 2023

Actually, -hls_seek_time is a Synology based added option to ffmpeg that I've extracted from their GPL sources they provide and ported over to newer versions of ffmpeg 4.x and now to 5-6.x versions as well. My intent is to find a sort of balance beteeen latest ffmpeg version vs providing backported compatibility towards Synology custom ffmpeg when achievable.

To your question, is there another equivalent builtin default in ffmpeg (i.e. "-ss" "$1""ms")? no clue really. Although if you're interested in testing, https://github.com/SynoCommunity/spksrc/actions/runs/4870614890?pr=5711 (i.e. github-action resulting packages from my PR mentioned above) should provide packages with that functionality now.

And as I mentionned, I'm looking for testers to confirm it works as expected before publishing.

@darknebular
Copy link

Well, if this argument is loaded into the new version of FFMPEG 6.0 I don't need to change anything in my wrapper.

I will test with the new version and I will inform you.

Thanks in advance.

@darknebular
Copy link

darknebular commented May 4, 2023

@th0ma7
Look, I tested with the new version FFMPEG 6.0 without change the arguments and I had a error:
image

If I change the argument -hls_seek_time for the FFMPEG's standard argument to "-ss" "$1""ms", I can play the movie without problem using my advanced Wrapper in 3.1 Beta version with FFMPEG 6.0. The simplest doesn't work because this kind of wrapper doesn't change anything in the arguments.
image
image

All is working, subtitles, offline transcoding, etc, except the resume option, If I try to do a resume of a movie with FFMPEG 6.0 I have this:
image

image

Well, It looks like that these options aren't added to my repository. I have this version:
image

If I try to do a streaming via DLNA using FFMPEG 6.0, I can play the movie (not resume it like with VideoStation) and I have this "error" in the logs: (Can "pipe:X" work with FFMPEG 6.0? )
image

Best regards.

@darknebular
Copy link

Then I will test with 6.0.2 version.

regards.

@th0ma7
Copy link

th0ma7 commented May 4, 2023

@darknebular The first verion I published online (6.0-1) doesn't have the required patches. You need to use the version from my PR using the link I provided above (version 6.0-2) by downloading the zip file and installing manually from the package center. Patches are now also applied on version 5.1.3-2 (also part of the same PR) and it also includes an updated version 4.4.4 (which will probably be my last release for the 4.x tree). Testing with all of the above would be much appreciated.

For your awareness, in the PR I've ported the patches over: https://github.com/SynoCommunity/spksrc/pull/5711/files#diff-bb20f6eb779c59f6935caad18e02b0798467ef878403733648cbb1760ef596e7

I had to do a few minor changes so it uses the newer API but it was fairly minor and should hopefully work as good (or bad) as previously.

EDIT: Also, in extra configuration it now also creates symbolic links such as:

  • /usr/local/bin/ffmpeg4
  • /usr/local/bin/ffmpeg5
  • /usr/local/bin/ffmpeg6
  • /usr/local/bin/ffmpeg (defaults to latest version installed, so may vary depending of the order used to install)
  • /usr/local/bin/vainfo (only available on x86_64 for vaapi hardware acceleration info)

@darknebular
Copy link

@th0ma7
Hello, I just try with 6.0.2 version. Now with this version I don't need to change anything in my Wrapper like change the argument -hls_seek_time for the FFMPEG's standard argument to "-ss" "$1""ms".
image

Now without change this argument (hls_seek_time) works, and now I can resume the movies in Video Station BUT using DLNA (Media server) I can't do the resume option.
I still having PIPE errors in this version, look:
image

This PIPE's error doesn't exist in 4.4.3

Best regards.

@darknebular
Copy link

darknebular commented May 5, 2023

Forcing to use in the PARAM1 from pipe:1 to pipe:6 (this isn't necessary with 4.4.3) now I can resume the movies in DLNA.
But I have these errors:
image
I will need to change the -vsync option to fps in my Wrapper in order to avoid this error or you will put this option too in 6.0.2?

With this, I lost the two audio's channels, and only receive the native codec without transcodification:
image

Regards.

@darknebular
Copy link

darknebular commented May 5, 2023

The resume option in DLNA is erratic. Now It's working in DLNA.
If I leave pipe:1 (like with 4.4.3) I have two audio streams but with 6.0.2 I am having pipe errors: (but the movie plays and now It looks like that the resume is working via DLNA using VLC)
image
image

Regards.

@th0ma7
Copy link

th0ma7 commented May 5, 2023

@darknebular can you check if all is still working out OK with the new 4.4.4-49 (it normally should) as well as with verison 5.1.3-2 ?

In the meantime I'll check if there where any other ffmpeg 4.x custom patches needing porting over to v5-6.

@darknebular
Copy link

With 4.4.3 is perfect using DLNA:
image

@darknebular
Copy link

I will try with 4.4.4-49 asap.

Please wait for it.

@th0ma7
Copy link

th0ma7 commented May 5, 2023

There are only two remaining patches which I doubt have any impact on your use-case. Still I've managed to port them over to ffmpeg5-6. They are now added to the on-going PR. You'll be able to access the updated packages from the "Checks" tab once the build complete. Look for the summary page where updated packages will be available. Note that it normally takes around 5h to build x64 versions (it's quite of a beast to build).

Lastly, trying ffmpeg5 package you already downloaded may tell if this is a post-ffmpeg4 regression or not, which may mean :

  1. opening up a bug request to upstream ffmpeg OR
  2. need to further adjust used parameters somehow?

The good news are:

  • it ain't crashing
  • hls_seek_time now works

While we may not find a short-term workaround, still thnx for taking time to test this out :)

@darknebular
Copy link

While we may not find a short-term workaround, still thnx for taking time to test this out :)

You are welcome. I will try with the others versions asap.

Regards.

@th0ma7
Copy link

th0ma7 commented May 7, 2023

@darknebular note that I've now published new versions. Don't hesitate opening-up a github issue if you find something else going wrong part of your testing of version 5-6. Thnx again.

@darknebular
Copy link

@th0ma7
Look:
image

@darknebular
Copy link

Changing from -i pipe:0 to -i pipe: It looks like that fix the problem with the new versions.

@th0ma7
Copy link

th0ma7 commented May 9, 2023

Changing from -i pipe:0 to -i pipe: It looks like that fix the problem with the new versions.

Awesome, great finding! Hope you can then switch to the newer ffmpeg6 version instead. Note that I intend to freeze 4.4 and focus on latest only :)

EDIT: and btw, feel free to connect on Discord SynoCommunity channel.

@kkman466
Copy link

Can QNAP use Wrapper to implement DTS like SYNOLOGY?

@darknebular
Copy link

darknebular commented May 10, 2023

@th0ma7 I can't have running well the DLNA using 6.0.2. I am having these errors and I don't know how do a workaround or fixed them, look:
image

Have you any idea or a possible fix for it?
With 4.4.3-48 I haven't any error and all is working perfectly without change anything.

Best regards.

@darknebular
Copy link

darknebular commented May 11, 2023

@th0ma7 With 4.4.4-49 It's working fine, without any change in the arguments sended by VideoStation, I haven't any issue.
With 6.0.2 I am having resume problems via DLNA. And I will need to change the argument-vsync to -fps in my wrapper for compatibilize it with Video Station. And a broken pipe error and muxing errors as you can see.

Best regards.

@darknebular
Copy link

Can QNAP use Wrapper to implement DTS like SYNOLOGY?

Sure!!! you only need to know the arguments sended by your streaming QNAP's app.

Regards.

@kkman466
Copy link

kkman466 commented May 11, 2023

Can QNAP use Wrapper to implement DTS like SYNOLOGY?

Sure!!! you only need to know the arguments sended by your streaming QNAP's app.

Regards.

I only know QNAP to install Video Station 5 and ffmpeg
QQ

@darknebular
Copy link

I think that if you change the name of the binary of the ffmpeg from QNAP's Video Station to .orig extension, put my wrapper or better in this case that you don't know all arguments, the Simplest wrapper you must be able to play all, I think.

I don't know if It's necessary to add the new audio codecs into a QNAP's library and If you use my wrapper, you will need to change these two variables for the correct paths and binaries in your system and It's probable that something doesn't work fine, due to difference in arguments between Synology and Qnap.

bin1=/var/packages/CodecPack/target/pack/bin/ffmpeg41.orig
bin2=/var/packages/ffmpeg/target/bin/ffmpeg

Regards.

@darknebular
Copy link

Changing from -i pipe:0 to -i pipe: It looks like that fix the problem with the new versions.

Awesome, great finding! Hope you can then switch to the newer ffmpeg6 version instead. Note that I intend to freeze 4.4 and focus on latest only :)

EDIT: and btw, feel free to connect on Discord SynoCommunity channel.

NO, the correct syntax is puting: -i pipe:0
with pipe: I have the same problem, I will write again the pipe:0

image

@darknebular
Copy link

@th0ma7 If I change the argument from -vsync to -fps in order to compatibilize with the new version of ffmpeg 6.0.2 I have this:
image

@th0ma7
Copy link

th0ma7 commented May 14, 2023

@darknebular Honestly I have no clue, perhaps you'll can find help from upstream ffmpeg?

@darknebular
Copy link

darknebular commented May 14, 2023

@th0ma7 Finally, I found the problem with the pipes. It was a bug from Benjamín code @BenjaminPoncet. He had pipe:1 and pipe:0. I used an old argument's variable from his old wrapper ver 12.0 until now. Now, for the function with pipes I am puting pipe: in both binaries. (It's really pipe:0 in the new ffmpeg's version.)
new option called -fps (there isn't in this binary), don't worry, -vsync still working fine.

Best regards.

@darknebular
Copy link

@th0ma7 with all these changes I confirm to you that with FFMPEG 6.0.2 all is working fine.
I Will deprecate the use of FFMPEG 4.4.3 soon and I will change the requeriments for the new version to FFMPEG 6.0.2.

Regards.

@darknebular
Copy link

darknebular commented May 15, 2023

When it will be published officially the 6.0.2?
image

When this version is for all people, I will change my script to start to use the FFMPEG 6 and deprecates de 4.X.

Regards.

@th0ma7
Copy link

th0ma7 commented May 16, 2023

It's there: https://synocommunity.com/package/ffmpeg6
Your package is probably just not updated yet.

@th0ma7
Copy link

th0ma7 commented May 16, 2023

with all these changes I confirm to you that with FFMPEG 6.0.2 all is working fine. I Will deprecate the use of FFMPEG 4.4.3 soon and I will change the requeriments for the new version to FFMPEG 6.0.2.

Regards.

@darknebular Awesome :)

@darknebular
Copy link

darknebular commented May 16, 2023

The Installer´s Script version 3.9.1 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).

ADD-ONs or FIXES FROM 2.4:

  • Tested and working fine in a lot of Synology´s models.
  • Fixed a bug in the Uninstallation process.
  • Added a Flag for automatic installation in the case that the Wrapper was installed previously and you don't want to write YES for uninstall the older Wrapper.
  • Save space in the Installer script in some function that mustn't be translated.
  • Fixed a bug when you are in 7.0.X the scripts doesn't take the conditional correctly in check_versions fuction.
  • Make the installation script compatible with the new version of DSM 7.2
  • Add compatibility to DSXXX-PLAY appliances using ffmpeg27
  • Support for the new versions of FFMPEG 6.0.X and deprecate the use of FFMPEG 4.X.X.
  • Fixed a bug in Offline Transcoding.
  • Improved the viewing of logs.
  • Improved DLNA processing to use only one binary.
  • Fixed a problem to close the process in Simplest wrapper.
  • Fixed a piping problem with the new versions of FFMPEG.
  • Improved the removing of the stderr's temporals to specific PID.
  • Fixed a bug with AVBR movies using DLNA transcoding.
  • I remove the buffer 8M for DLNA, It must be only for ChromeCast or Browsers.
  • Improvements in checking for future releases of DSM's versions.
  • Creation of installer_OffLine to avoid the 128KB limit and to be able to create more logic in the script and new fuctions.
  • Now the installer has an AME's License Crack until DSM 7.2 (BETA)
  • Added full support for DS21X-Play devices with ARMv8 using a GStreamer's Wrapper.
  • Now the installer recommends to you the Simplest or the Advanced in function of the performance of your system.
  • Fixed a bug in declaration of the variables for the licenses fix for AME.
  • Fixed a bug in the GStreamer's Wrapper installer that doesn't clear the plugin's cache in AME.
  • Fixed a VideoStation bug when the movie has HEVC 4K HDR 10bits plus TrueHD 7.1 audio codec in the Advanced Wrapper, this bug will be there in Simplest Wrapper, because VS send bad arguments and the Simplest doesn't change any arguments.
  • Added the possibility to transcode AAC codec in Video Station and Media Server.
  • Added new libraries for GStreamer 1.6.3. for this AAC decoding.

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 Jul 29, 2023

Hey there,
Deployed a new version of the wrapper : https://github.com/AlexPresso/VideoStation-FFMPEG-Patcher

This one adds:

  • Gstreamer wrapper : allowing HEVC transcoding with eac3, dts, truehd on architectures using GSTOmx (thanks to @nap-liu for the workaround while waiting for the Gstreamer package)
  • Adds ffmpeg version selector : you can now choose ffmpeg 4.x, ffmpeg 5.x or ffmpeg 6.x as you wish
  • Fixes a process leak : This process leak was due to child process launched in wrappers, to never be terminated after execution.

This fix saves a lot of performances on every NAS and I highly suggest you to install it.
This fix is not yet present in DarkNebular's wrapper (At least until he copy paste my wrappers code again without asking my permission 😛.).

Have a good one

@KidWar75
Copy link

Hey there!
Cheers for the update :)
Any updates on the subtitles issue in DS Video ?

@AlexPresso
Copy link

I personally don't have any issue with subtitles (both embedded and external subtitles).
I don't think it's related to any wrapper / patch, but I can have a look at it if you want to post an issue on the repo :)

@KidWar75
Copy link

I personally don't have any issue with subtitles (both embedded and external subtitles).
I don't think it's related to any wrapper / patch, but I can have a look at it if you want to post an issue on the repo :)

I already did a few months back. You said that you had a similar issue wish a Samsung or an Android phone at least.
A few weeks later you closed it saying that there was no workaround or something like that :p

@AlexPresso
Copy link

Oh yes, that's right (AlexPresso/VideoStation-FFMPEG-Patcher#49) I remember now, if the subtitles are also not working on unpatched version, then it's not an issue with the patcher, but with the DS Video app, and I can't do anything for this unfortunately :c

@darknebular
Copy link

darknebular commented Aug 7, 2023

This fix is not yet present in DarkNebular's wrapper (At least until he copy paste my wrappers code again without asking my permission 😛.).

What's happening with you?
Why are you doing this?
image

You are a liar, because this problem in my Wrapper, the Advanced one isn't exist.
Sorry but my Wrapper is working fine and the system closes fine the child process launched in wrappers.

@darknebular
Copy link

darknebular commented Aug 7, 2023

And yes, I don't take care about the Simplest one, The simplest Wrapper is a fork from your wrapper but installed in the correct path without any binary change in VideoStation folder.

Just fixed in the Simplest one, the Advanced Wrapper is working great!!!

Ah, If you play HEVC 4K + EAC3 7.1 or DTS 7.1 movies, the only Wrapper that work with this kind of movies is the Advanced, in the Simplest has this problem, because you can't change any arguments.

And please stop of mention me.

Kind regards.

@AlexPresso
Copy link

AlexPresso commented Aug 7, 2023

And yes, I don't take care about the Simplest one, The simplest Wrapper is a fork from your wrapper but installed in the correct path without any binary change in VideoStation folder.

This is not a fork. It's copy paste of my code and I would like you stop doing this (not only for the wrapper but for everything) It's working better and you know it, that's why you copy paste without using your brain that much.

Ah, If you play HEVC 4K + EAC3 7.1 or DTS 7.1 movies, the only Wrapper that work with this kind of movies is the Advanced, in the Simplest has this problem, because you can't change any arguments.

"Ah" Then why you copy paste my wrapper if it's not working with 7.1 ? just remove it ?

@AlexPresso
Copy link

About the NanoChoco screenshot, I don't know what happened but I'm glad someone is finally giving facts about you and your wrapper.

@AlexPresso
Copy link

XPenology/Redpill users should be happy about it, but did you know that having a license cracker inside your project is warranty void for every users using your wrapper ? Congratulations.

@darknebular
Copy link

darknebular commented Aug 7, 2023

With your Wrapper you can't play 7.1 movies. Yours It's not better. Let the people choose.
My installer has two Wrappers:
1) The mine It's the Advanced one and It's the correct continuation from the Benjamin one
2) The Simplest, that It's a fork from you, but installed in the correct path.

The "crack" It's an optional for those that haven't a valid license but a legit serial or in an Offline environment. I don't change the serial number. You don't need to install the patch in order to use my Wrapper. LIAR!!!

@AlexPresso
Copy link

AlexPresso commented Aug 7, 2023

The Simplest, that It's a fork from you.

I never gave you permission to use my wrapper as if it was "your" wrapper, this is not a fork, it's a copy paste (of course you don't have permission to fork my repositories because I blocked you long time ago). And if it can't play 7.1 then it's not good and you should remove it :) I really don't understand why you would want to keep such a wrapper if yours is better.

The "crack" It's an optional for those that haven't a valid license but a legit serial or in an Offline environment. I don't change the serial number. You don't need to install the patch in order to use my Wrapper. LIAR!!!

If you have a legit Synology hardware and registered account, you have a valid license :) who's lying ?

@darknebular
Copy link

darknebular commented Aug 7, 2023

I really don't understand why you would want to keep such a wrapper if yours is better.

I use it only for troubleshooting and for a low performance devices. It's the same with a little changes (the Simplest one) but installed only in the AME folder.
The Advanced is mine, It's the correct evolution from the deprecated Benjamin's wrapper with a lot of fixes and improvements, and yes, It's better than your wrapper or Simplest one. The Advanced is more powerful than yours.

You used the mine without any mention to me when I started the improvements in the Benjamin's one, You copied the 12.1 version in your installer without any mention to me, then again you copy-paste my 12.2 version again... Then you did the simplest, because you knew that you was using my Wrapper versions.

At least, I mention you into the Simplest's one.
I want have the two, because in this way I let the people choose both Wrappers using the same installer.

If you have a legit Synology hardware and registered account, you have a valid license :) who's lying ?

If you haven't an account or you have a Offline enviorement, you will not be able to license it. The patch is only a helper for this guys, not really a "serial crack". It's doesn't modify any serial.

STOP Crying Baby.

@AlexPresso
Copy link

AlexPresso commented Aug 7, 2023

If you haven't an account or you have a Offline enviorement, you will not be able to license it. The patch is only a helper for this guys, not really a "serial crack". It's doesn't modify any serial.

This is exactly what a licence cracker is... Call it what you want, everyone using this "helper" is voiding it's warranty.

I keep repeating you I was never using your wrapper, I just did small changes on the Benjamin's one.

@darknebular
Copy link

darknebular commented Aug 7, 2023

I keep repeating you I was never using your wrapper, I just did small ghanges on the Benjamin's one.

You are a liar, you can check it out in the historic. You used my Wrappers versions. I told you 2 years ago...
And well, YOU DON'T NEED TO INSTALL THIS AME LICENSE IN ORDER TO USE MY WRAPPER, IT'S AN OPTIONAL ADDONS, NOTHING MORE. And this patch or crack has a DISCLAIMER and It must be use at your own risk.
THIS ADDON IS NOT THE WRAPPER AND IT'S NOT MANDATORY TO INSTALL IT IN ORDER TO USE MY WRAPPER!!!

Please forget me, buy a friend and enjoy your life.

@darknebular
Copy link

darknebular commented Aug 7, 2023

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.

@darknebular
Copy link

darknebular commented Aug 7, 2023

The Installer´s Script version 3.9.2 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.

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.

@dsfans
Copy link

dsfans commented Aug 9, 2023

I will give data about you and your wrapper. @AlexPresso
I was a user of your wrapper, then over time the problems started I made an account and just because I put the darknebular link, you thought I was him, I think he is from Spain and I am Italian.
You insulted me, you treated me badly and you were rude to me.

I then found out that your installer made permanent changes and errors to my system and I had to uninstall and reinstall everything to get it clean of those changes.

Your installer is made without respect for the stability of your users' systems and made without love.
It just confirms if /var/packages/CodecPack/target/pack exists and nothing else, but you don't know that that folder isn't generated until you install the AME license. When you load and activate said license, that folder is auto-generated. When I installed your wrapper, I did not have the AME license loaded and that folder on my system did not exist, the AlexPresso installer made changes to the binaries of:
/var/packages/CodecPack/target
They were all links to the VideoStation binary (WTF?), then I installed the AME license and the folder to: /var/packages/CodecPack/target/pack/ was generated for me. When I tried to uninstall your wrapper, those links from /var/packages/CodecPack/target weren't deleted and they kept pointing wrong to the VideoStation binary and I started having a lot of problems, the movie thumbnails wouldn't load, some things they weren't working and I had to reinstall the whole AME.
At that moment I understood why the Darlnebular script checks that the AME license is loaded and activated, precisely to avoid permanent changes, as it happened to me.

The only one here who is copying ideas is you, because darknebular made the patch for devices with GStreamer in May 2023 and now you do the same, but it's worse. The GStreamer libraries that you download with the darknebular installer end up in a separate folder and thanks to that, he can do a totally clean delete, leaving nothing behind and without altering any existing files. On the contrary, your installer loads these files directly into the system folder where there are already other library files, imagine that this file exists, when someone uninstalls your wrapper, that file or library will be lost forever and the only way to recovering it will be reinstalling VideoStation and AME.

And yes, the darknebular installer and its wrapper is much better than yours Alex. The darknebular installer can patch MediaServer and VideoStation at the same time using the same wrapper and it has many control mechanisms and everything has been done with care not to make any permanent changes under any circumstances, unlike you. Your Media Server wrapper is installed using another installer and will not work if you do not have the VideoStation wrapper installed as well. Think why!!
You have always been envious and manipulative, now you are critical of an optional addition that darknebular put in his script and you said 2 weeks ago that you were going to put it too, look:

image

The only reason you have more stars, it's not because you're better, it's because darknebular took more time to present an installer for its wrapper, at that time darknebular only had a manual procedure.

Also I agree with him, your project is not a real continuation of Benjamin's, it's totally another totally different wrapper.
I suggest to Benjamin (@BenjaminPoncet ) that he thinks that the only real continuation of his project is Darknebular's and not yours, Alex.

Not only is the darknebular's wrapper better, but it also has 5.1 when activated by both VideoStation and DLNA or MediaServer.
It is also true, that your wrapper is not capable of playing HEVC movies with DTS or EAC3 7.1 and the darknebular wrapper is capable. You can also configure the wrapper and yours can't.

For all this, I hope that people get to know you and know in advance all these problems and how rude you can be.

@dsfans
Copy link

dsfans commented Aug 9, 2023

And I want to add more things about the AlexPresso's wrapper. I also experienced errors in other Synology apps (Synology Photos, Audio Station, Surveillance Station), stopped working when using the AlexPresso wrapper, and uninstalled VideoStation. That's because it makes links in all the CodecPack binaries (you only need to modify the ffmpeg41 for VideoStation), it uncontrollably and uncaringly links in all the binaries and points them to the VideoStation binary, when uninstalling VideoStation and not uninstalling its wrapper, all those apps stopped working.

These problems with the Darknebular wrapper do not occur.

Nor is it elegant that if you have Alex's wrapper previously installed that its installer tries to re-install it from scratch, that for me is a botch job.

Now I guess, Alex will copy from darknebular to check the AME license, stop linking all AME binaries pointing to the VideoStation binary and download the GStreamer libraries using a separate folder.

He has already shut his mouth here:
https://gist.github.com/BenjaminPoncet/bbef9edc1d0800528813e75c1669e57e?permalink_comment_id=4653734#gistcomment-4653734

In short, if you want permanent problems, errors, or changes to your system, install the AlexPresso wrapper.

If you want to ensure a clean install every time, zero problems or permanent changes, have more advanced features, install the one from Darnebular.

Ciao piccolo.

@darknebular
Copy link

darknebular commented Aug 9, 2023

JAJAJAJAJA

Thanks guy for your feedback. I knew those problems and other little problems not mentioned here, but I couldn't tell him.
he also copied me the checks to know if the script was being launched in root or not. Until then, his installer was trying to install things without permissions...

Another thing that my Wrapper does and not Alex's, is that it checks if the system can play AAC codec, if it can't, it adds AAC codec on those systems, then my Wrapper can play content with AAC and the AlexPresso's wrapper can't.

https://gist.github.com/BenjaminPoncet/bbef9edc1d0800528813e75c1669e57e?permalink_comment_id=4656147#gistcomment-4656147
image

https://gist.github.com/BenjaminPoncet/bbef9edc1d0800528813e75c1669e57e?permalink_comment_id=4656408#gistcomment-4656408
image

XD

@darknebular
Copy link

The Installer´s Script version 3.9.2 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.

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 9, 2023

Okay... It's going way too far, and it's absolutely untrue, I have to answer that.

You insulted me, you treated me badly and you were rude to me.

?! I was maybe wrong to think you are the other guy but insulting you or treat you badly, this never happened. (AlexPresso/VideoStation-FFMPEG-Patcher#65)

I then found out that your installer made permanent changes and errors to my system and I had to uninstall and reinstall everything to get it clean of those changes.

How are these "permanent changes" different from the other wrapper ? Do you know it's literally suggesting to use the "simplest" wrapper (aka my wrapper) for non advanced users ?

Your installer is made without respect for the stability of your users' systems and made without love.

Based on your message, I'm not sure you actually have any experience to judge what is "love" or what is "made with love", nor about optimization or stability... But if you feel you have, my repository is open to pull requests, you can start bringing some "love" in it... :)

When I installed your wrapper, I did not have the AME license loaded and that folder on my system did not exist

I should put it in the requirements, but my wrapper needs a real Synology hardware and a licensed AME, thanks for the feedback and sorry for the inconvenience.

The only one here who is copying ideas is you, because darknebular made the patch for devices with GStreamer in May 2023 and now you do the same, but it's worse.

That's good for him it was done before, but in my case, this workaround was gave by another user (nap-liu), in the following issue : AlexPresso/VideoStation-FFMPEG-Patcher#53 which I used to implement my own version. Yes, it took me some times, sorry for maintaining a free project and having a life/work at the same time.

[Edit:] Did you notice how similar are the DarkNebular's Gstreamer wrappers and the nap-liu wrapper ? interesting...
https://github.com/darknebular/Wrapper_VideoStation/blob/main/ffmpeg41-wrapper-DSM7_X-Simplest#L69
https://github.com/nap-liu/VideoStation-FFMPEG-Patcher/blob/rtd1296-ds6.2.4/gst-inspect-1.0-wrapper.sh#L3

Oh looks like nap-liu also uses a "/patch" directory :) ; no credits ? I'm not surprised.

The GStreamer libraries that you download with the darknebular installer end up in a separate folder and thanks to that, he can do a totally clean delete

Basically that's why I'm referencing every files in an array (do you know what is an array ?) : https://github.com/AlexPresso/VideoStation-FFMPEG-Patcher/blob/main/patcher.sh#L35 everything in this array is removed if you unpatch...

And yes, the darknebular installer and its wrapper is much better than yours Alex. The darknebular installer can patch MediaServer and VideoStation at the same time

My patcher is called VideoStation-FFMPEG-Patcher, it's only related to VideoStation and it will always be like this... I deeply think it's more clear for the users to separate these patch into different projects.

For all this, I hope that people get to know you and know in advance all these problems and how rude you can be.

Okay. I also hope people will make their own opinions about all of this.

@AlexPresso
Copy link

he also copied me the checks to know if the script was being launched in root or not. Until then, his installer was trying to install things without permissions

That's funny you think everything you do is your work when the same code is the first result on StackOverflow... which everyone (me too) uses...

Another funny thing is how similar is your patcher code and mine since it's second version... Did you get any help from me writing it ? :)

@AlexPresso
Copy link

Anyway, coming back here was a terrible mistake, I was very happy before doing it and I should do it again. Wish you all the best.

@AlexPresso
Copy link

AlexPresso commented Aug 9, 2023

And I want to add more things about the AlexPresso's wrapper. I also experienced errors in other Synology apps (Synology Photos, Audio Station, Surveillance Station)

That's lies (again) :)
The wrapper only patches specific files (ffmpeg27, ffmpeg33 and ffmpeg41) if they exists, these files are exclusively used by VideoStation.
The one used by surveillance is called : ffmpeg33-for-surveillance and remains unchanged after patch (same for audio):

root@Kloudy:/var/packages/CodecPack/target/pack/bin# ll
total 1072
drwxr-xr-x 2 root root   4096 Aug  7 17:42 .
drwxr-xr-x 6 root root   4096 Jul 16 13:03 ..
lrwxrwxrwx 1 root root     44 Aug  7 17:42 ffmpeg27 -> /var/packages/VideoStation/target/bin/ffmpeg
-rwxr-xr-x 1 root root 226040 Mar 24 03:21 ffmpeg27.orig
-rwxr-xr-x 1 root root 250896 Mar 24 03:21 ffmpeg33-for-audio
-rwxr-xr-x 1 root root 250888 Mar 24 03:21 ffmpeg33-for-surveillance
lrwxrwxrwx 1 root root     44 Aug  7 17:42 ffmpeg41 -> /var/packages/VideoStation/target/bin/ffmpeg
-rwxr-xr-x 1 root root 259024 Mar 24 03:21 ffmpeg41.orig
lrwxrwxrwx 1 root root     53 Aug  7 17:42 gst-inspect-1.0 -> /var/packages/VideoStation/target/bin/gst-inspect-1.0
-rwxr-xr-x 1 root root  44176 Mar 24 03:21 gst-inspect-1.0.orig
lrwxrwxrwx 1 root root     52 Aug  7 17:42 gst-launch-1.0 -> /var/packages/VideoStation/target/bin/gst-launch-1.0
-rwxr-xr-x 1 root root  35688 Mar 24 03:21 gst-launch-1.0.orig
-rwxr-xr-x 1 root root   6072 Mar 24 03:21 gst-plugin-scanner

@dsfans
Copy link

dsfans commented Aug 9, 2023

I should put it in the requirements, but my wrapper needs a real Synology hardware and a licensed AME, thanks for the feedback and sorry for the inconvenience

My NAS is original, when you install the AME you must to load and activate the license in AME.
THIS IS HAPPING WITH YOUR WRAPPER WITHOUT THE LICENSE IN AME, and yes It's occurring too in real synology hardware.

These files names was changed recient, because in older DSM there were ffmpeg33 and ffmpeg27 only.

Ciao!!!

@AlexPresso
Copy link

My NAS is also official and I have a license. No one ever complain about the license when using my wrapper before ¯_(ツ)_/¯.

arrivederci 👋

@darknebular
Copy link

darknebular commented Aug 9, 2023

Alex, Stop mention to me or insinuate that I copy anyone without mentioning, that only you have done with me.
And yes, dsfan is right, the very first that you install AME in original hardware, you need to download and load the license.

This issue Will occur with your installer in This case.

And I tell you again, STOP MENTION TO ME OR MY WRAPPER.

ENJOY YOUR "fantastic" LIFE!!!

@darknebular
Copy link

The one used by surveillance is called : ffmpeg33-for-surveillance and remains unchanged after patch (same for audio

And yes again, the synology photo use ffmpeg33 ...

Ummm perhaps dsfan is right here too...xD

Sayonara!!!

@darknebular
Copy link

darknebular commented Aug 9, 2023

My NAS is also official and I have a license. No one ever complain about the license when using my wrapper before

Perhaps your users is having problems and they don't Know where the problem is when they uninstall your wrapper after installation of This license in AME.

These users must re-install again the AME package for fix It.

You must to Know that This license must be loaded and activated, including in real synology hardware.

I am done with you.

@REDoxONA
Copy link

REDoxONA commented Aug 10, 2023

Good morning,

I just created this account here, this is my first post and I did it because I hate arrogant and cynical people.
(Alexpreso) You're always complaining about people copying your code, I've checked version 2 of darknebular and it looks nothing like yours. The only part that has been copied or forked is your wrapper, which he has called "Simplest Wrapper" and he did a little changes and you are mentioned in that part of his code.
I also think that Darknebular's work is fabulous and that his wrapper is better than yours.
I have read the entire thread and it is true that 2 years ago (he didn't have any install script yet at that time) darknebular told you that you were using his version in your installer and that you did not mention him and instead of apologizing, you were arrogant and rude to him, you belittled his work. He has shown you that it was this way.

You should be more humble and accept criticism from others and not seek confrontation as you have done recently.

If I were him, I wouldn't even mention you in the simplest one because of your comments...

### BUGS FROM ALEXPRESSO's WRAPPER: (NONE OF THESE BUGS ARE PRESENT IN THE DARKNEBULAR WRAPPERS)

BUG 1:

I too have suffered from permanent changes because of AlexPresso and his arrogance.
image
image

I have a legal Synology, a DS120, which when I installed for the first time, before configuring the language or anything in the system, obviously the AME license was not loaded, I did not know it and I installed the Alexpresso wrapper:
image
The path to /var/packages/CodecPack/target/pack/... doesn't exists.
image
The script patched me in /var/packages/CodecPack/target/bin:
image

Nothing worked fine and then I installed the AME license with my Synology's account:
image

Now I have the correct path to /var/packages/CodecPack/target/pack/bin and nothing worked, I reinstalled again your script, and patched well in /pack folder and I had this working, until I decided to uninstall your wrapper and many things stopped working for me. I checked that the changes in /var/packages/CodecPack/target/ were permanent. After installing the AME license, there were there all links now, not binaries, and one of them pointing to VideoStation binary. This happens when you install your wrapper before the official license in AME.
image
image

BUG 2:

Now if I forget that I had your wrapper installed and decide to uninstall VideoStation, Synology Photos won't load and videos stored in Synology Photos won't show up, Media Server (DLNA) does not work either, the movie doesn't start using DLNA.

image
Because those programs make use of the CodecPack's ffmpeg and point to a non-existent VideoStation binary.

BUG 3:

Yes, we know what an array is, that you think you're smarter than other people.
The problem is that if within that array to download the gstreamer libraries that file or library already exists on your system, when you uninstall your wrapper, that library will be lost forever. You cannot 100% ensure a 100% clean install or a 100% clean uninstall with your procedure.

It is much better to use a separate folder, for example /patch, that It's very generic name and clear.

BUG 4:

It's true, videos with 7.1 don't work well. I've tried hevc 4k + TrueHD 7.1 and EAC3 7.1 and it didn't work with your wrapper. I will open an incident on your page. (But with the Darknebular's Advanced Wrapper, I can see these movies with 7.1 without any problem)
image

Sometimes with infinite loadings:
image

BUG 5:

Your Installation script is leaving shit and junk files around the system without deleting them...even if i uninstalled your wrapper.
image

image

BUG 6:

Your script and your wrapper generate a ffmpeg.log file that grows uncontrollably to infinity and when it exceeds the barrier of many megabytes, in certain synologys everything slows down in the VideoStation or in other applications that use the CodecPack.
Because you don't delete that file when you uninstall the wrapper.

BUG 7:

It's true too, videos with AAC audio codec in system without AAC enabled, doesn't works. I have another NAS without AAC license and with your wrapper I can't see them: (But with the Darknebular's Wrappers (Simplest and the Advanced) I can see these movies with AAC)
image

image
I will open an incident on your page.

And now tell me that I am also a liar or that I don't know how you do with others...

Regards.

@darknebular
Copy link

Screenshot_20230810-160605

@darknebular
Copy link

That's funny you think everything you do is your work

Well, here you copy the idea to check the root, this verification is not necessary for you, you told us it was a bullshit feature...

@AlexPresso
Copy link

AlexPresso commented Aug 10, 2023

his verification is not necessary for you, you told us it was a bullshit feature

Where did you see me say "it's a bullshit feature" ?

@darknebular
Copy link

darknebular commented Aug 10, 2023

For you, all of my checkers was a bullshit...and you Knew It.
Screenshot_20230810-184836

@AlexPresso
Copy link

AlexPresso commented Aug 10, 2023

Good evening @REDoxONA
First of all, thank you for taking a little time to post issues on the repository, I will also make a time to investigate on that, you already said you don't have any log files but I need a little bit more information from the bug issue template.

You should be more humble and accept criticism

If you knew me in real life, I hope you could see and make a better opinion of me about being humble. But about "accept criticism", I'm very open to it.
But there's a huge difference between: Saying "this feature is not present" (which in fact is not true) and Saying "there's a better way to do it".

BUG 1 (it's not a bug)

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.

BUG 2

You are also right, I'm expecting people to unpatch by themself before removing VideoStation, I will also make a fix for this.

BUG 3 (it's not a bug):
Yes, we know what an array is, that you think you're smarter than other people.
The problem is that if within that array to download the gstreamer libraries that file or library already exists on your system, when you uninstall your wrapper, that library will be lost forever. You cannot 100% ensure a 100% clean install or a 100% clean uninstall with your procedure.
It is much better to use a separate folder, for example /patch, that It's very generic name and clear.

This one is not a "bug", it's an "enhancement". Of course having /patch directory is a better idea, but the libraries and gstreamer plugins are downloaded because they're all missing in the system by default, there's actually no case where a library could be overwritten or removed by mistake.

BUG 4 (working for me):

This one is working fine on my DS218Play but thank you for opening an issue on the repository for this one, I will have a look.

BUG 5:
Your Installation script is leaving shit and junk files around the system without deleting them...even if i uninstalled your wrapper.

The tmp directory is cleaned after every reboot.
These "junk files" are actually just two files (three if you have an architecture using gstreamer).

  • tmp.wget : I use it as a temporary file to download files and check everything ok before moving it to the right directory
  • ffmpeg.log : this is the file containing ffmpeg logs (I need this when you post an issue)
  • gstreamer.log : same as ffmpeg.log but for gstreamer

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

BUG 6:

That's a real problem, you're right, I will make a fix for this, thanks for making me realize. In my case I'm rebooting my NAS every week so I never faced this issue but for people keeping their NAS in sleep state / always up that's a real problem.

BUG 7 (working fine for me too):

This one is also working fine for me but I look at it, thanks for opening an issue.

And now tell me that I am also a liar or that I don't know how you do with others...

I don't know you and you also don't know me. I really appreciate you took the time to write this extensive feedback (without being too much cynical of course, because you hate that).
I just want to say, and I'm sorry in advance if it's not true (anyway even if it could be right you'll never say it): 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... I don't know... That's very curious for me and I don't believe in "by chance" after it happens two times with 2 new accounts (and another one which made a fork just to change the readme; https://github.com/djhibee/VideoStation-FFMPEG-Patcher )

Are you sure I am the one "seeking confrontation" ?

@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