Portix Media Center

Arch based Porteus community project

Moderator: M. Eerie

raja
Shogun
Shogun
Posts: 434
Joined: 02 May 2017, 09:51
Distribution: v3.2.2-32 and Porteus-Artix-64
Location: Chennai,India

Portix Media Center

Post#16 by raja » 05 Jun 2022, 17:07

I used syslinux version 6.04pre3. All syslinux files in /boot/syslinux and /EFI/boot should be from the same version.

Mixing up different versions will show errors like "ldlinux.c32".

e.g

1)Take a say, 8GB pendrive and format to clean the disk.
2)Make a 1GB FAT32 partition
3)Make the rest ext4 partition
If the pendrive is identified as sdb,
sdb1 will be FAT32 partition
sdb2 will be ext4 partition

4)copy boot and EFI folders from the ISO to sdb1
5)copy config and portix folders from the ISO to sdb2

6)unmount sdb
7)open terminal and give following commands

for syslinux bootloader installtion in sdb1

/dev/sdb1/boot/syslinux/syslinux -a -d /boot/syslinux/ -i /dev/sdb1

for mbr installtion, give this command,

dd bs=440 count=1 conv=notrunc if=/boot/syslinux/mbr.bin of=/dev/sdb

usb disk is now ready for booting .

We should not mix up different ideas . Since the ISO works very well in your in your EFI only machines, obviously nothing is wrong with the ISO.

Same ISO works in my bios/EFI m/c and I am typing this from portix media center-v4 only, my regular OS.
Linux Kernel-4.4.272 -32 bit; Linux Kernel-5.4.185 - 64 bit

lucdeluc
White ninja
White ninja
Posts: 4
Joined: 03 Jun 2022, 03:54
Distribution: porteus 5

Portix Media Center

Post#17 by lucdeluc » 06 Jun 2022, 17:27

ah ok , so your iso is not exactly a live cd ( for this it dont boot in virtualbox)
i will try your suggestions about to create a live usb
best reguards

spa_time
White ninja
White ninja
Posts: 20
Joined: 29 Jun 2022, 06:39
Distribution: Porteus 5.1

Portix Media Center

Post#18 by spa_time » 29 Jun 2022, 07:18

Porteus Nemesis and Portix - nice work - appreciate - it help us a little up-grade with save changes menu to module ( preferable ) or file like
in Porteus 4 - also the .wine director is nice to be in a module for not increase home director - also will be nice login pasword menu at start - all the best !

User avatar
Ed_P
Contributor
Contributor
Posts: 8315
Joined: 06 Feb 2013, 22:12
Distribution: Cinnamon 5.01 ISO
Location: Western NY, USA

Portix Media Center

Post#19 by Ed_P » 30 Jun 2022, 15:48

raja wrote:
05 Jun 2022, 17:07
I used syslinux version 6.04pre3.
Where did you get it?
Ed

raja
Shogun
Shogun
Posts: 434
Joined: 02 May 2017, 09:51
Distribution: v3.2.2-32 and Porteus-Artix-64
Location: Chennai,India

Portix Media Center

Post#20 by raja » 01 Jul 2022, 08:23

Ed_P,

MY PC download folder has this package. May be I downloaded from ,

https://www.zytor.com/pub/syslinux/Testing/6.04/
Linux Kernel-4.4.272 -32 bit; Linux Kernel-5.4.185 - 64 bit

raja
Shogun
Shogun
Posts: 434
Joined: 02 May 2017, 09:51
Distribution: v3.2.2-32 and Porteus-Artix-64
Location: Chennai,India

Portix Media Center

Post#21 by raja » 01 Jul 2022, 08:42

Someone doubted that Portix media center is not a live CD ISO.

There is an option in rufus to create live cd from ISO by using "dd" command. But the USB drive will not be useful for any other purpose as dd command makes it unwritable. It is just like burning an ISO to a DVD or CD.
Linux Kernel-4.4.272 -32 bit; Linux Kernel-5.4.185 - 64 bit

raja
Shogun
Shogun
Posts: 434
Joined: 02 May 2017, 09:51
Distribution: v3.2.2-32 and Porteus-Artix-64
Location: Chennai,India

Portix Media Center

Post#22 by raja » 01 Jul 2022, 09:30

spa_time wrote:
29 Jun 2022, 07:18
Porteus Nemesis and Portix - nice work - appreciate - it help us a little up-grade with save changes menu to module ( preferable ) or file like
in Porteus 4 - also the .wine director is nice to be in a module for not increase home director - also will be nice login pasword menu at start - all the best !
Thanks for review.

porteus settings centre in version 4, which makes savings module , is still work in progress for even porteus-5.0. login password...shall look into.
Linux Kernel-4.4.272 -32 bit; Linux Kernel-5.4.185 - 64 bit

User avatar
Ed_P
Contributor
Contributor
Posts: 8315
Joined: 06 Feb 2013, 22:12
Distribution: Cinnamon 5.01 ISO
Location: Western NY, USA

Portix Media Center

Post#23 by Ed_P » 01 Jul 2022, 19:12

raja wrote:
01 Jul 2022, 08:23
MY PC download folder has this package. May be I downloaded from ,

https://www.zytor.com/pub/syslinux/Testing/6.04/
Thanks raja. Do you have /boot/syslinux and /EFI/syslinux folders you can share?
Ed

raja
Shogun
Shogun
Posts: 434
Joined: 02 May 2017, 09:51
Distribution: v3.2.2-32 and Porteus-Artix-64
Location: Chennai,India

Portix Media Center

Post#24 by raja » 03 Jul 2022, 09:38

Long ago, I made a request to you to test "create live usb" script modified to make FAt32 partition instead of 16 bit dos, included in "portix media centre" ISO.

The boot folder also has, "

.porteus_installer-linux.run; --installs extlinux from linux os

install-bootloader-windows; installs syslinux fron windows os

grub with grub.cfg for syslinux - shows porteus.cfg menu in grub

and

all manual commands to make bootable USB."

I tested only ISO boot from my multiboot USB drive.

Due to non availability of spare USB drive with me, I have not tested the others.

If you can download the ISO, you can have /boot/syslinux,grub and EFI folders, and can also test the others, if you have spare USB and time.

'create live usb' script, choose only 'bios'.

Thanks in advance.
Linux Kernel-4.4.272 -32 bit; Linux Kernel-5.4.185 - 64 bit

raja
Shogun
Shogun
Posts: 434
Joined: 02 May 2017, 09:51
Distribution: v3.2.2-32 and Porteus-Artix-64
Location: Chennai,India

Portix Media Center

Post#25 by raja » 07 Jul 2022, 10:45

Plank-0.11.89-3 for Portix Media Center

Code: Select all

[guest@porteus ~]$ su
Password: 
[porteus guest]#  glib-compile-schemas /usr/share/glib-2.0/schemas/
and start with,

Code: Select all

[guest@porteus ~]$ XDG_SESSION_TYPE=x11 plank
Linux Kernel-4.4.272 -32 bit; Linux Kernel-5.4.185 - 64 bit

spa_time
White ninja
White ninja
Posts: 20
Joined: 29 Jun 2022, 06:39
Distribution: Porteus 5.1

Portix Media Center

Post#26 by spa_time » 19 Jul 2022, 09:39

All apreciation for your Portix !
Save session module menu for a changes.xzm in module folder it will be nice
A login menu at startup to choose user will be nice
Also multilib_x86_64 xzm module and wine-5.15-x86_64.xzm are not working
OpenShot-v2.6.1-x86_64.appimage is working ( is working just in Portix not in Porteus 5 and not in Nemesis )
Hope this feedback help you for a better porteus iso ! All the best !

User avatar
francois
Contributor
Contributor
Posts: 6433
Joined: 28 Dec 2010, 14:25
Distribution: xfce plank porteus nemesis
Location: Le printemps, le printemps, le printemps... ... l'hiver s'essoufle.

Portix Media Center

Post#27 by francois » 14 Nov 2022, 18:11

Hello raja,

An idea, just like that. What about adding gopro quick to your portix?

Thanks.
Prendre son temps, profiter de celui qui passe.

raja
Shogun
Shogun
Posts: 434
Joined: 02 May 2017, 09:51
Distribution: v3.2.2-32 and Porteus-Artix-64
Location: Chennai,India

Portix Media Center

Post#28 by raja » 09 Dec 2022, 08:28

I don't think there is a desktop version of gopro quick for linux!
Linux Kernel-4.4.272 -32 bit; Linux Kernel-5.4.185 - 64 bit

beny
Full of knowledge
Full of knowledge
Posts: 2083
Joined: 02 Jan 2011, 11:33
Location: italy

Portix Media Center

Post#29 by beny » 09 Dec 2022, 10:29

the gopro tools is a script no gui

Code: Select all

 #!/usr/bin/env bash

function get-output-filename {
        # takes fileinput, returns fileoutput name; takes optional $2 argument to tack onto end of name
        name="$(cut -d'.' -f1 <<<"$1")"
        ext="$(cut -d'.' -f2 <<<"$1")"
        echo "${name}_${2}.${ext}"
}

function timelapse() {
	framerate="$1"
	filename="$2"
	resolution_width="$3"
	resolution_height="$4"
	$(type -P ls) -1tr ./*.JPG >gopro_timelapse_list.txt
	mencoder -nosound -ovc x264 \
		-vf scale="$resolution_width":"$resolution_height" -mf type=jpeg:fps="$framerate" \
		mf://@gopro_timelapse_list.txt -o "$filename"
	rm gopro_timelapse_list.txt
}

function superview() {
	for i in *.MP4; do
		name=$(echo "$i" | cut -d'.' -f1)+S
		echo "$name"
		ffmpeg -i "$i" -q:a 1 -q:v 1 0 -vcodec mpeg4 -acodec ac3 -aspect 16:9 -strict experimental "$name".MP4
	done
}

function fisheye() {
	#echo "https://gopro.com/help/articles/Question_Answer/HERO4-Field-of-View-FOV-Information"
	echo -ne "Resolution:\n-[0] 4:3 Wide FOV\n-[1] 4:3 Medium FOV\n-[2] 4:3 Narrow FOV\nPhoto resolution: "
	read -r res
	distortion_args=""
	case $res in
	0*)
		distortion_args="0 0 -0.3"
		;;
	1*)
		distortion_args="0 0 -0.2"
		;;
	2*)
		distortion_args="0 0 -0.1"
		;;
	esac
	if [[ $1 == "" ]]; then
		for photo in *.JPG; do
			timestamp=$(stat -c %y "$photo")
			mogrify -distort barrel "$distortion_args" "$photo"
			touch -d "$timestamp" "$photo"
		done
	else
		timestamp=$(stat -c %y "$1")
		mogrify -distort barrel "$distortion_args" "$1"
		touch -d "$timestamp" "$1"
	fi
}

function fisheye_video() {
	#echo "https://gopro.com/help/articles/Question_Answer/HERO4-Field-of-View-FOV-Information"
	#https://gopro.com/help/articles/question_answer/HERO3-Black-Edition-Field-of-View-FOV-Information
	#https://gopro.com/help/articles/Question_Answer/HERO4-Field-of-View-FOV-Information
	#https://gopro.com/help/articles/Question_Answer/HERO5-Black-Field-of-View-FOV-Information
	#http://www.kolor.com/wiki-en/action/view/Autopano_Video_-_Focal_length_and_field_of_view
	#https://gopro.com/help/articles/question_answer/hero6-black-field-of-view-fov-information

	vfov=0
	hfov=0
	diag=0

	echo -ne "Camera:
			-[0] HERO3
			-[1] HERO4/5
			-[2] HERO6
			>> Camera: "
	read -r cam
	case $cam in
	0*)
		echo ">> HERO3"
		echo -ne "Resolution:
			-[0] 4:3 Wide FOV
			-[1] 4:3 Medium FOV
			-[2] 4:3 Narrow FOV
			-[3] 16:9 Wide FOV
			-[4] 16:9 Medium FOV
			-[5] 16:9 Narrow FOV
			>> Video resolution: "
		read -r res
		case $res in
		0*)
			hfov=94.4
			vfov=122.6
			diag=149.2
			;;
		1*)
			hfov=72.2
			vfov=94.4
			diag=115.7
			;;
		2*)
			hfov=49.1
			vfov=64.6
			diag=79.7
			;;
		3*)
			hfov=69.5
			vfov=118.2
			diag=133.6
			;;
		4*)
			hfov=55
			vfov=94.4
			diag=107.1
			;;
		5*)
			hfov=37.2
			vfov=64.4
			diag=73.6
			;;
		esac
		;;
	1*)
		echo ">> HERO4"
		echo -ne "Resolution:
			-[0] 4:3 Wide FOV
			-[1] 4:3 Medium FOV
			-[2] 4:3 Narrow FOV
			-[3] 16:9 Wide FOV
			-[4] 16:9 Medium FOV
			-[5] 16:9 Narrow FOV
			>> Video resolution: "
		read -r res
		case $res in
		0*)
			hfov=94.4
			vfov=122.6
			diag=149.2
			;;
		1*)
			hfov=72.2
			vfov=94.4
			diag=115.7
			;;
		2*)
			hfov=49.1
			vfov=64.6
			diag=79.7
			;;
		3*)
			hfov=69.5
			vfov=118.2
			diag=133.6
			;;
		4*)
			hfov=55
			vfov=94.4
			diag=107.1
			;;
		5*)
			hfov=37.2
			vfov=64.4
			diag=73.6
			;;
		esac
		;;
	2*)
		echo ">> HERO6"
		echo -ne "Resolution:
			-[0] 4:3 Wide FOV ZOOM 0
			-[1] 4:3 Wide FOV ZOOM 100
			-[2] 16:9 Wide FOV ZOOM 0
			-[3] 16:9 Wide FOV ZOOM 100
			>> Video resolution: "
		read -r res
		case $res in
		0*)
			hfov=94.4
			vfov=122.6
			diag=149.2
			;;
		1*)
			hfov=49.1
			vfov=64.6
			diag=79.7
			;;
		2*)
			hfov=69.5
			vfov=118.2
			diag=133.6
			;;
		3*)
			hfov=35.7
			vfov=62.2
			diag=70.8
			;;
		esac
		;;
	esac

	flength=$(echo "$vfov/$hfov*$diag" | bc -l | head -n1 | cut -d "." -f1)
	if [[ $1 == "" ]]; then
		for video in *.MP4; do
			name=$(echo "$video" | cut -d'.' -f1)_corrected
			ffmpeg -i "$video" -vf "lenscorrection=cx=0.5:cy=0.5:k1=-0.$flength:k2=-0.022" -q:a 1 -q:v 1 -vcodec libx264 "$name".mp4
		done
	else
		name=$(echo "$1" | cut -d'.' -f1)_corrected
		ffmpeg -i "$1" -vf "lenscorrection=cx=0.5:cy=0.5:k1=-0.$flength:k2=-0.022" -q:a 1 -q:v 1 -vcodec libx264 "$name".mp4
	fi
}

function convert() {
	if [[ $1 == "" ]]; then
		for i in *.MP4; do
			name=$(echo "$i" | cut -d'.' -f1)
			echo "$name"
			ffmpeg -i "$i" -q:a 1 -q:v 1 -vcodec mpeg4 "$name".mov
		done
	else
		name=$(echo "$1" | cut -d'.' -f1)
		echo "$name"
		ffmpeg -i "$1" -q:a 1 -q:v 1 -vcodec mpeg4 "$name".mov
	fi
}

function convert-h265-to-h264 {
        fileout="$(get-output-filename ${1} h264)"
        ffmpeg -i "$1" -bsf:v h264_mp4toannexb -vcodec libx264 -c:a copy "$fileout"
}

function slowmo() {
	ffmpeg -i "$1" -r 25 -vf "setpts=($3/1)*PTS" -q:a 1 -q:v 1 -vcodec libx264 "$2"
	echo "Video slowed down, use trim to trim the video"
}

function speed() {
	ffmpeg -i "$1" -r "$4" -vf "setpts=($3/1)*PTS" -q:a 1 -q:v 1 -vcodec libx264 "$2"
	echo "finished $1"
}

function trim() {
	ffmpeg -i "$1" -ss "$3" -t "$4" -q:a 1 -q:v 1 -vcodec libx264 "$2"
}

function merge() {
	LIST_FILE="$(mktemp)"
	printf "file '$PWD/%s'\n" *.MP4 > $LIST_FILE
	ffmpeg -f concat -safe 0 -i $LIST_FILE -c copy "$1"
	rm $LIST_FILE
}

function rotate90deg {
	fileout="$(get-output-filename ${1} rotated)"
        # use 'transpose=2' for counter-clockwise
        ffmpeg -i "$1" -filter:v transpose=1 -metadata:s:v rotate="" "$fileout"
}

function stabilize() {
	ffmpeg -i "$1" -vf deshake "$2"
}

function sort() {
	mkdir -p videos/{single,chaptered,thumbnails,lowresvideos}
	mkdir -p photos/{single,timelapse-burst-continuous}
	if [[ $1 == "move" ]]; then
		mv GOPR*.MP4 videos/single
		mv GP*.MP4 videos/chaptered
		mv GOPR*.JPG photos/single
		mv G*.JPG photos/timelapse-burst-continuous
		mv ./*.LRV videos/lowresvideos
		mv ./*.THM videos/thumbnails
	else
		cp -p GOPR*.MP4 videos/single
		cp -p GP*.MP4 videos/chaptered
		cp -p GOPR*.JPG photos/single
		cp -p G*.JPG photos/timelapse-burst-continuous
		cp -p ./*.LRV videos/lowresvideos
		cp -p ./*.THM videos/thumbnails
	fi
	echo "Finished!"
}

function wifiinfo() {
	echo "is $(pwd) the root of your SD card?"
	read -r
	echo -ne "Enter current (default) wifi password: "
	read -r defssid
	echo -ne "Enter Wifi SSID: "
	read -r wifissid
	echo -ne "Enter password: "
	read -r wifipassword
	{
		echo "$defssid"
		echo "EVssidprimary,$wifissid"
		echo "EVpassphrase,$wifipassword"
	} >>gpauto
	echo "Done. Insert SD card into the camera, remove battery, insert battery and power on twice."
}

function update() {
	curl https://raw.githubusercontent.com/KonradIT/gopro-linux/master/version
	curl https://raw.githubusercontent.com/KonradIT/gopro-linux/master/gopro >/usr/bin/gopro
}

function gif() {
	convert -size "$1" ./*.JPG -delay 5 -resize "$1" "$2"
}
function proxy() {
	if [[ $1 == "rename" ]]; then
		mkdir lowres highres
		mv ./*.MP4 highres/
		mv ./*.LRV lowres/
		for i in lowres/*.LRV; do
			name=$(echo "$i" | cut -d'.' -f1)
			mv "$i" "$name".MP4
		done
	fi
	if [[ $1 == "move" ]]; then
		mv highres/*.MP4 lowres/
	fi
}

function help() {
	echo 'GoPro Tool for Linux OS
Available commands:
- gopro
    >>Check for missing dependencies, e.g. ffmpeg, imagemagick and mencoder

- gopro timelapse [fps] [outfilename] [res width] [res height]
		>>Makes a timelapse with pictures in the current folder, make sure to cd to a DCIM/XXXGOPRO folder!
		>>Example: gopro timelapse 30 goproTL.mp4 1920 1080

- gopro superview
		>>Applies SuperView to all GoPro videos in the current dir

- gopro fisheye
		>>Fixes barrel distorsion to all GoPro pictures in the current folder

- gopro fisheye_video [video]
		>>Fixes barrel distorsion on GoPro videos, [video] is optional, remove to apply to all mp4 videos in current dir
		>>Also needs camera name input

- gopro convert
		>>Converts all GoPro MP4 videos to MPEG4 MOV videos for easy editing

- gopro convert-h265-to-h264 [input_video]
		>>Converts videos with h.265 codecs to h.264
		>>This is useful for backwards compatibility. Some videos recorded on HERO Black 7 devices cannot be played on older hardware until codecs are converted.

- gopro slowmo [video]
		>>Reduces the speed in a High FPS GoPro Video
		>>Example: gopro slowmo GOPRO0553.MP4

- gopro trim [input video] [output video] [HH:MM:SS start] [HH:MM:SS end]
		>>Trims a video to start and end times
		>>Example: gopro trim GOPR0553.MP4 Trimmed.mp4 00:05:04 00:07:43

- gopro merge [output_video]
		>>Merges all videos present in the current folder to [output_video]

- gopro rotate90deg [input_video]
		>>Rotates video 90 degrees clockwise (edit "translate=2" argument for counter-clockwise)

- gopro stabilize
		>>Stabilizes video
		>>Example: gopro GOPRO0005.MP4 Stabilized.MP4

- gopro sort
		>>Sorts media, please execute in DCIM/XXXGOPRO

- gopro wifiinfo
		>>Sets Wifi SSID and Password for HERO5, 6, 7 cameras

- gopro gif
		>>Makes gif from images in current dir
		>>Example: gopro gif 800x600 animation.gif

- gopro proxy [option]
		>>[rename] = renames .LRV to lowres/*.MP4
		>>[move] = when finish editing, moves highres/*.MP4 to lowres/

- gopro update
		>>Updates this script

- gopro help
		>>show this usage message'
}

echo "GoPro Tool for Linux"
echo "To see a list of commands and syntax available run: gopro help"
echo "Checking dependencies..."
hash ffmpeg 2>/dev/null || { echo >&2 "ffmpeg ..... Not installed!"; }
hash mogrify 2>/dev/null || { echo >&2 "mogrify ..... Not installed!"; }
hash mencoder 2>/dev/null || { echo >&2 "mencoder ..... Not installed!"; }
hash bc 2>/dev/null || { echo >&2 "bc ..... Not installed!"; }
"$@"
                                                                                                          

Post Reply