djatom@atomch-server:~$ ./dgdemux -i /home/storage2/\[BDMV\]\[アニメ\]\[180124\]\ いぬやしき\ \[BD\ BOX\ 1\]/INUYASHIKI_1/BDMV/PLAYLIST/00001.mpls -o ./testdemux/inu
DGDemux 1.0.0.50 by Donald A. Graft
Copyright (C) 2019-2021 Donald A. Graft, All Rights Reserved [Made in USA]
00001.m2ts
00002.m2ts
00003.m2ts
Done!
Will try on Arch soon.
One small thing: "./dgdemux -i" leads to "Segmentation fault" error. Probably it's good to add extra check if option is not empty or so.
djatom@DJATOM-PC ~]$ ./dgdemux -i '/run/media/djatom/T8TB1/Seeding/[BDMV][201202][Adachi to Shimamura][Vol.1]/ADACHI_AND_SHIMAMURA_1/BDMV/PLAYLIST/00003.mpls' DGDemux 1.0.0.50 by Donald A. Graft
Copyright (C) 2019-2021 Donald A. Graft, All Rights Reserved [Made in USA]
Files:
00005.m2ts
Streams:
1011: Video [AVC 23.976 1080p 16:9]
1100: PCM 48K 16bit 2/0 [jpn]
Chapters [8]
[djatom@DJATOM-PC ~]$ ./dgdemux -i '/run/media/djatom/T8TB1/Seeding/[BDMV][201202][Adachi to Shimamura][Vol.1]/ADACHI_AND_SHIMAMURA_1/BDMV/PLAYLIST/00003.mpls' -o testdemux/ada1
DGDemux 1.0.0.50 by Donald A. Graft
Copyright (C) 2019-2021 Donald A. Graft, All Rights Reserved [Made in USA]
00005.m2ts
Done!
./dgdemux -i /mnt/bb/BDMV/PLAYLIST/00001.mpls
DGDemux 1.0.0.50 by Donald A. Graft
Copyright (C) 2019-2021 Donald A. Graft, All Rights Reserved [Made in USA]
Files:
00001.m2ts
Streams:
1011: Video [AVC 23.976 1080p 16:9]
1100: PCM 48K 16bit 2/0 [und]
Chapters [1]
EDIT:
No progress indicator?
Is it possible to add a --help parameter that shows the available parameters?
DJ, do you think preallocation is a big deal? Should I try to find a portable way to do it for linux?
I think it's not a big deal. And using falloc on FAT32 or ext3 might block application entirely for a long time, not sure if it's really beneficial at all. Fragmentation is not really an issue nowadays, modern OSes are smart enough to handle that when PC idling.
I just made a simple build script that makes .deb package. I think it's not bad to provide it, people with less Linux knowledge can install it in one click (or command). So that's a convenience for them.
#!/bin/sh
rm -rf debian
mkdir -p debian
mkdir -p debian/DEBIAN
mkdir -p debian/usr/local/bin
version=$(./bin/dgdemux -v | grep -Eo 'DGDemux ([0-9\.]+)' | grep -Eo '([0-9\.]+)')
echo """Package: dgdemux
Version: ${version}
Section: utils
Priority: optional
Architecture: amd64
Essential: no
Depends:
Pre-Depends:
Recommends:
Suggests:
Installed-Size: $(($(wc -c < bin/dgdemux)/1024))
Homepage: http://rationalqm.us/dgdemux/dgdemux.html
Maintainer: Donald A. Graft [donald.graft@cantab.net]
Conflicts:
Replaces:
Provides: dgdemux
Description: DGDemux is a standalone demuxer for BluRay/UHD disks, including 3D BluRays. It takes a playlist and demuxes all the elementary streams (audio and video), the subtitle streams, and the chapters. The demuxed files are all in sync with the demuxed video, even for seamless branching titles.""" > debian/DEBIAN/control
cp bin/dgdemux debian/usr/local/bin
chmod +x debian/usr/local/bin/dgdemux
dpkg -b debian dgdemux_${version}.deb
If you willing to provide packages, put that script into certain folder (for example, folder name "dgdemux-package", script name "mkdeb.sh") and set execution rights (chmod +x mkdeb.sh). Put dgdemux binary into "dgdemux-package/bin" and run script. It should produce dgdemux_1.0.0.50.deb (current version) which you can host as alternative to .gz archive.
VS Code appears adequate for debugging. Better than printf debugging at least. I have it working fine. Still lots to learn about it but good for now. Thank you for the heads up, DJ.
What shocked me was how fast all the vi commands came back to me after 35 years. They were squirrelled away somewhere in my brain.