Page 106 of 118

Posted: Fri 06 Jun 2014, 22:02
by nubc
Working from Slacko 5.5 as a live CD, I installed Pburn 4.3.5 to concatenate a movie in 7 parts (mp4s), by selecting "Author files in list to Video-DVD file system" from Tools. This produced a folder with 6 files, 2 of which are large VOB files comprising the movie in two halves. Although audio-video sync is good for this concatenation, 7 parts to 2 parts, I am not completely satisfied with the end result because, for the two VOB files, the video clock-timer is counting multiple 15-minute increments of the original 7 mp4s. Actually, parts 1 through 6 are 15 minutes each, and part 7 is only 10 minutes. On the other hand, between the 15-minute parts there is considerable discrepancy in file size, from 41 MB to 62 MB. Total size of the movie is about 380 MB, which is bare minimum for avoiding pixellation and other distortion.

Here are the 6 files authored to directory with Pburn:
VIDEO_TS.BUP (gear icon)
VIDEO_TS.IFO (gear icon)
VTS_01_0.BUP (gear icon)
VTS_01_0.IFO (gear icon)
VTS_01_1.VOB (film icon)
VTS_01_2.VOB (film icon)

I tried to use the CopyDVD app to concatenate the two halves, but nothing happened when I clicked "Rip DVD", presumably because there is no DVD. Some command line refinement might be called for here. What can I do to concatenate the two VOB files into one mp4 file? Naturally, it would be preferable for the resultant concatenation to show a clock-timer that runs from 0 to 100 minutes. In fact, I would be willing to redo the original concatenation (to two parts) if there were some way to make the clock-timer count continuous time for each half.

Understand that I could have burned the 7 parts as a project to DVD, and then ripped the resultant DVD for one single file. That would likely produce a good result, even if the clock-timer still counted 15-minute increments. The sad fact is, burning the project to DVD is the best way to concatenate a video (movie) in multiple parts, even when this wastes a DVD for the purpose. There may be a better way in Windows, but I haven't discovered it.

EDIT: I observed the clock while watching the movie, and the above description is not entirely accurate. The video clock-timer counts up to 14:59 and stops, then remains frozen for the duration of the movie. The counter starts at "00:00/03:24" when the movie begins. The counter shows "14:59/03:24" when it stops at the first 15-minute mark. If I move the slider to skip over the end of the first segment, the count will begin again at "00:00/03:24" in the second 15-minute segment.

Posted: Tue 10 Jun 2014, 16:15
by zigbert
nubc
I was hoping a guru would step in here. This is a bit out of my scope.
pBurn uses the progam 'vobcopy' to rip the DVD and 'vamps' to shrink it. This code was written by plinej for his dvdrsab app. It is the program 'dvdauthor' that builds the DVD filesystem. I do not know these commands very well. The ripping/burning commands are all shown in the 'Advanced' tab in the burn-options dialog.

My focus with pBurn is to ... burn :)
Related functions like ripping are not having my priority. But, if someone else are willing to look at it, I am not strictly against it.


Sigmund

Posted: Wed 11 Jun 2014, 12:41
by rcrsn51
My only suggestion would be to concatenate the original MP4's into one file using ffmpeg, then author it. From here:
ffmpeg -i "concat:input1.mpg|input2.mpg|input3.mpg" -c copy output.mpg

If you have MP4 files, these could be losslessly concatenated by first transcoding them to mpeg transport streams. With h.264 video and AAC audio, the following can be used:

ffmpeg -i input1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate1.ts
ffmpeg -i input2.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate2.ts
ffmpeg -i "concat:intermediate1.ts|intermediate2.ts" -c copy -bsf:a aac_adtstoasc output.mp4
Hopefully, this will make the timer work correctly through the full playback.

Posted: Wed 11 Jun 2014, 14:18
by Flash
nubc wrote:...burning the project to DVD is the best way to concatenate a video (movie) in multiple parts, even when this wastes a DVD for the purpose. ...
If you burned a rewritable DVD you wouldn't waste anything. :idea:

Posted: Thu 19 Jun 2014, 05:10
by technosaurus
nubc wrote:The video clock-timer counts up to 14:59 and stops, then remains frozen for the duration of the movie
Seeking with variable bitrate encoding is hard because you can't just multiply the number of packets by a single value (you have to track them as you traverse the file), but if you want the best encoding possible with the smallest file size possible, that is what you've got.
FWIW I just wrote a tool to strip ID3 tags from mp3 files so you can just use `cat *.mp3 >collection.mp3` to put them together without any en/de-coding. I'm sure the same is possible for other streaming type formats, but for formats that are meant to be stored in files you _may_ need to rebuild the format specific header info from them.
My id3 stripper is here if you want to take a look at how it works (pretty simple)

Posted: Thu 19 Jun 2014, 05:28
by technosaurus
double post

Posted: Wed 16 Jul 2014, 10:30
by charlie6
Hi Sigmund,
on dpup-wheezy-3.5.2.5as also on 3.5.2.11:
using PBurn-4.3.5, blanking a DVD-rw returns the following log:
Pburn version 4.3.5

###################################################
COMMAND:
###################################################
growisofs -use-the-force-luke=notray -Z /dev/sr1=/dev/zero

###################################################
OUTPUT:
###################################################
Executing 'builtin_dd if=/dev/zero of=/dev/sr1 obs=32k seek=0'
/dev/sr1: "Current Write Speed" is 4.1x1352KBps.
35782656/4706074624 ( 0.8%) @4.1x, remaining 13:03 RBU 100.0% UBU 2.0%
54099968/4706074624 ( 1.1%) @4.0x, remaining 14:19 RBU 100.0% UBU 53.1%
71991296/4706074624 ( 1.5%) @3.9x, remaining 13:56 RBU 100.0% UBU 63.3%
90603520/4706074624 ( 1.9%) @4.0x, remaining 13:35 RBU 100.0%
... etc ...
4672552960/4706074624 (99.3%) @4.0x, remaining 0:06 RBU 100.0% UBU 85.7%
4691099648/4706074624 (99.7%) @4.0x, remaining 0:02 RBU 100.0% UBU 55.1%
:-[ WRITE@LBA=231020h failed with SK=5h/INVALID ADDRESS FOR WRITE]: Invalid argument
:-( write failed: Invalid argument
/dev/sr1: flushing cache
/dev/sr1: writing lead-out
Do i have to care about the last lines reporrting «failed»?
What would i have to do?

Thanks for answering
Greetings!
Charlie

Posted: Wed 16 Jul 2014, 13:26
by zigbert
Charlie

Question 1:
After blanking, did pBurn show the error or finish dialog? I suspect the Error dialog, since you have posted here :)

Question 2:
Did the DVD work after blanking, or ... ?
If yes is the answer, I should think of more information in the error-message for this behavior.

As said in the blanking dialog (with red text); blanking of DVD's might be troublesome for some burner devices. For those, the solution is to overwrite existing data. This is done in the burn-option-dialog.


Sigmund

Posted: Fri 18 Jul 2014, 14:51
by charlie6
Hello Sigmund !
here using wheezy-3.5.2.5 + latest 01micko pup_event_files-140714.tar.gz (seems working nice)
zigbert wrote:Question 1:
After blanking, did pBurn show the error or finish dialog? I suspect the Error dialog, since you have posted here :)
it finishes dialog (see shot hereunder)
zigbert wrote:Question 2:
Did the DVD work after blanking, or ... ?
If yes is the answer, I should think of more information in the error-message for this behavior.
it works: i could re-use the DVD and burn datas on it again.
zigbert wrote:As said in the blanking dialog (with red text); blanking of DVD's might be troublesome for some burner devices. For those, the solution is to overwrite existing data. This is done in the burn-option-dialog.
Sigmund
I tried to overwrite existing datas and got the below documented error.
PBurn reports «mkisofs: No such file or directory» ... mkisofs is well present on my system ...! (see attached pBurn18jui2014.log.tar.gz )

thanks in advance for your time!
Greetings
Charlie

Posted: Fri 18 Jul 2014, 16:27
by SFR
Hey Sigmund

I noticed that pBurn has a broken symlink:
/root/.config/rox.soureforge.net/OpenWith/.application_x-cd-image/Burn with pBurn points to ../../../../usr/local/apps/Pburn, but there is pBurn.

Another thing - have you been considering to suppress those ugly chars in log window after "Last chance to quit" msg?
I've got quite good results using this in func_exec (line 27):

Code: Select all

$WORKDIR/exec | tr -s '\b' '\n' >> $LOG 2>&1
Thanks &
Greetings!

Posted: Mon 21 Jul 2014, 16:31
by zigbert
Charlie
The blanking process (backend) did not report error (which is a bit strange when looking at your log. The output is pointed to stdout, not stderr.), so pBurn wisely does not see this as an error. We should therefor expect the disc to be useful. The log output is still a bit awkward...

Your overwrite output is sent to stderr, and is grabbed by the pBurn error-checker. I have added the following Error-msg for your case:

Problem writing to disc
Please blank disc in 'Blank complete' mode.



Sigmund

Posted: Mon 21 Jul 2014, 16:38
by zigbert
SFR
symlink is updated for next release - thank you!

When it comes to the 'tr' fix, I can't get it to work. It strips all info in $LOG, and log-box shows no progress. I only have the busybox 'tr', and I guess that explains it all. I am running Slacko 5.7


Sigmund

Posted: Mon 21 Jul 2014, 18:41
by SFR
zigbert wrote:When it comes to the 'tr' fix, I can't get it to work. It strips all info in $LOG, and log-box shows no progress. I only have the busybox 'tr', and I guess that explains it all. I am running Slacko 5.7
That's strange, Slacko-5.7 + busybox tr here as well...
What exact action were you doing while testing this?
In my case it was blanking and then burning an ISO image onto 80mm mini CD-RW.

Hmm, did you try to invoke this directly?

Code: Select all

cdrecord dev=/dev/sr0 blank=all 2>&1 | tr -s '\b' '\n'
(btw, '\b' can be also replaced with '\x08')

Anyway, it's not so crucial, after all. 8)

Greetings!

Posted: Mon 21 Jul 2014, 21:30
by zigbert
I burnt a DVD, so it is growisofs that troubles...
I am out of CD's, but until we got a solution that is proof, we stick with existing.

btw, \x08 didn't make any difference.

Posted: Tue 22 Jul 2014, 04:28
by rg66
Found another broken symlink, /usr/share/locale/en/LC_MESSAGES/pburn points to /usr/local/pburn/locales which is missing.

Posted: Tue 22 Jul 2014, 06:59
by zigbert
rg66
That link is from the old NLS method.
I have now deleted the symlink from the installation pack.
Thank you for sharing


Sigmund

Posted: Tue 22 Jul 2014, 07:06
by zigbert
Version 4.3.6
See main post


Changelog
- Added Error-msg if growisofs wants you to do a full blanking. (Thanks to Charlie6)
- Bugfix: Export iso with only 1 non-video-file in burnlist gives option to build video-iso.
- Bugfix: Broken symlink to rox:OpenWith - Burn with pBurn. (thanks to SFR)
- Bugfix: Removed dead NLS-link from pet. (thanks to rg66)

Posted: Mon 18 Aug 2014, 07:41
by jamesbond
In 4.3.6 - "ps | grep" etc to detect running instance of Xdialog, etc only works if you use busybox version of ps. This is the case in puppy (ps is a symlink to busybox) but may not be true on others (=Fatdog) where ps is actually the full ps. As a result, dialogs are not closed when they should be.

The fix is simple, use "busybox ps" instead of "ps" on line 99, and 305 on func_exec, line 326 on "pburn" and line 383 on func_gui. Doing this will not harm other puppies anyway.

For your consideration :wink:

Posted: Mon 18 Aug 2014, 07:55
by zigbert
jamesbond
In the more recent code I have instead used the following code which works with the full ps.

Code: Select all

grep -F 'Xdialog' <<< $(ps -eo pid,command)
Could you test if this works ok for you. pBurn should not rely on busybox.


Sigmund

Posted: Mon 18 Aug 2014, 09:45
by jamesbond
zigbert wrote:pBurn should not rely on busybox.
Agreed - the idea is that it should work equally well with or without busybox.

Code: Select all

grep -F 'Xdialog' <<< $(ps -eo pid,command)
Could you test if this works ok for you. pBurn should not rely on busybox.
On a quick test, it seems to work. But "busybox ps" doesn't recognise "-eo", so puppies that symlink ps to busybox will fail this. One format that will work equally well is "ps -ef" but the output format is different ... :(