thing is, I still do not know where such feature must reside in cinelerra's case... because normal file* operations like write_frame operate mostly on frame-at-time, so even if you know current frame status (is_keyframe) in source media you do not know down here how many files render engine will feed you .... so I guess for handling this case some more info must also pass from render*.C down to file*.C parts of Cinelerra. Like function write_multiple_precompressed/write_multiple_reencoded ? where render engine calculates boundaries and ask file encoder/muxer to write either full gop or recompress some new group of pictures.... just thinking .... вт, 22 нояб. 2022 г., 23:51 Terje J. Hanssen <[email protected]>:
Den 22.11.2022 18:21, skrev Andrew Randrianasulu:
вт, 22 нояб. 2022 г., 19:53 Terje J. Hanssen <[email protected]>:
Den 22.11.2022 16:30, skrev Andrew Randrianasulu:
вт, 22 нояб. 2022 г., 00:20 Terje J. Hanssen <[email protected]>:
Den 13.11.2022 00:07, skrev Andrew Randrianasulu:
сб, 12 нояб. 2022 г., 21:43 Terje J. Hanssen <[email protected] :
Derived from another thread "HDV files at archive.org <http://archive.org>" I extract and continue this topic in a new thread here. And if this isn't documented yet, I suggest some with knowledge to setup a Readme and manual section for this.
already there
https://cinelerra-gg.org/download/CinelerraGG_Manual/Managing_AppImage.html#...
I think I didn't recognized this section equivalent to the appimage user-guide section.
try to just unpack appimage and then set
export LD_LIBRARY_PATH=$BCASTDIR:$LD_LIBRARY_PATH
where $BCASTDIR points at unpacked/mounted appimages's usr/lib
before running bdwrite
While waiting for my ordered BD-R/RE discs, I have tried again and attach the new terminal output with comments as follows:
/home/terje/Applications/CinGG-20221031-x86_64.AppImage --appimage-offset (AppImageLauncher:16794): GdkPixbuf-CRITICAL **: 20:50:50.433: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed 189632
sudo mount /home/terje/Applications/CinGG-20221031-x86_64.AppImage /home/terje/mountpoint/ -o offset=189632 [sudo] passord for root:
find /home/terje/mountpoint -name lib /home/terje/mountpoint/usr/lib
export LD_LIBRARY_PATH=/home/terje/mountpoint/usr/lib:$LD_LIBRARY_PATH
ls -la 2008_m2t_pcm_bluray.mts -rw-r--r-- 1 terje users 47020032 Nov 11 22:06 2008_m2t_pcm_bluray.mts
mkudffs -b 2048 /tmp/newfilename.udfs 27055 filename=/tmp/newfilename.udfs label=LinuxUDF uuid=637bd9b8ea861ad7 blocksize=2048 blocks=27055 udfrev=201 start=0, blocks=16, type=RESERVED start=16, blocks=3, type=VRS start=19, blocks=237, type=USPACE start=256, blocks=1, type=ANCHOR start=257, blocks=16, type=PVDS start=273, blocks=1, type=LVID start=274, blocks=26524, type=PSPACE start=26798, blocks=1, type=ANCHOR start=26799, blocks=239, type=USPACE start=27038, blocks=16, type=RVDS start=27054, blocks=1, type=ANCHOR
mount -o loop /tmp/newfilename.udfs /mnt/test
find /home/terje/mountpoint -name bdwrite /home/terje/mountpoint/usr/bin/bdwrite
/home/terje/mountpoint/usr/bin/bdwrite /mnt/test 2008_m2t_pcm_bluray.mts
No interlace error ! --------------------
ls /mnt/test BDMV CERTIFICATE
tree -h /mnt/test/BDMV /mnt/test/BDMV ├── [ 40] AUXDATA ├── [ 332] BACKUP │ ├── [ 40] BDJO │ ├── [ 92] CLIPINF │ │ └── [ 480] 00000.clpi │ ├── [ 40] JAR │ ├── [ 110] MovieObject.bdmv │ ├── [ 92] PLAYLIST │ │ └── [ 184] 00000.mpls │ └── [ 124] index.bdmv ├── [ 40] BDJO ├── [ 92] CLIPINF │ └── [ 480] 00000.clpi ├── [ 40] JAR ├── [ 40] META ├── [ 110] MovieObject.bdmv ├── [ 92] PLAYLIST │ └── [ 184] 00000.mpls ├── [ 92] STREAM │ └── [ 45M] 00000.m2ts └── [ 124] index.bdmv
12 directories, 9 files
---------------------------------------
Finally 9 files and [ 45M] 00000.m2ts
I was able to open /mnt/test/BDMV with VLC and playback video and pcm_bluray video OK
------------------------------------------------------ but not with mplayer as follows:
umount /mnt/test
which mplayer /usr/bin/mplayer
mplayer -vo null br://tmp/newfilename.udfs Creating config file: /root/.mplayer/config MPlayer 1.2.r38304-Packman-7 (C) 2000-2021 MPlayer Team do_connect: could not connect to socket connect: No such file or directory Failed to open LIRC support. You will not be able to use your remote control.
Playing br://tmp/newfilename.udfs. The hostname option must be an integer: tmp Struct bluray, field hostname parsing error: tmp disc.c:333: failed opening UDF image newfilename.udfs disc.c:437: error opening file BDMV/index.bdmv disc.c:437: error opening file BDMV/BACKUP/index.bdmv bluray.c:2646: nav_get_title_list(newfilename.udfs/) failed Couldn't open Blu-ray device: newfilename.udfs No stream found to handle url br://tmp/newfilename.udfs
Exiting... (End of file)
mplayer works for me if I start it from /tmp (where test file is located)
I will try also that next.
But thinking more about this topic that has several cumbersome and error-phrone manual steps. Appimage has even complicated these, not at least for occasionally users. Therefore I will throw in the following suggestion or RFE:
Will it be possible or manageable to integrate and run the bundled 'bdwrite' to Bluray within the Cin-GG's run-time environment? I.e we now has File > BD render (and DVD render). What to add File > "BD Write" and get sub-window with options to select HDV/mpeg2 without re-encoding (compression loss) of video from HDD file, select re-encoding of the MP2 audio to AC3 or PCM for Blu-ray etc.
may be try to encapsulate manual steps into bash script and then run this script from shell commands system? (not sure how to handle sudo password entering .... xdialog conditional on X DISPLAY variable? ah someone suggested 'sudo -A' and custom script https://askubuntu.com/questions/314395/proper-way-to-let-user-enter-password... )
https://cinelerra-gg.org/download/CinelerraGG_Manual/Menu_Bar_Shell_Commands...
if we develop it into being even relatively distro-agnostic and error-proof it hopefully can be included into future versions of CinGG
making mpeg2 hdv compatible _encoding_ profile is also on table, I think ... (this one can be integrated at Blu-ray specific menu choice, because I put some lines of code in there for supporting pcm audio on h264 encoded BD)
I also found some remaints of direct-copy 'smart-render-like' feature in Cinelerra-CV's libquicktime:
https://github.com/cinelerra-cv-team/cinelerra-cv/blob/954a91e72bba1ed1ce641...
around line 730 but it was only working (apparently) with some mpeg4 _divx_ movs, not mpeg2s.
developing mpeg direct-copy routines remained big TODO item. I look at related code from time to time but no promises, sadly.
I just add my extracted notes and urls about Smart rendering HDV in Vegas, Premiere Pro:
What is smart rendering? Smart Render *analyzes a video for any previously rendered sections and renders only the new or revised sections*. This can reduce rendering time significantly. Corel VideoStudio's SmartRender feature makes previewing and creating movies a lot faster.
How To Enable Smart Render
You can enable smart render with video editing software like VideoStudio. Follow along with our tutorial below to learn the easiest way to enable smart render. Rendering can take an enormous amount of time in video editing, especially when the video is long and includes a large number of effects. VideoStudio has implemented a smart render system to speed that process up and only render the parts of the film that need rendering. Read on to find out how it works.
Smart Render analyzes a video for any previously rendered sections and renders only the new or revised sections. This can reduce rendering time significantly.
Corel VideoStudio’s SmartRender feature makes previewing and creating movies a lot faster. When you preview your video project for the first time, VideoStudio ‘renders’ the project by creating a temporary preview file on your hard drive which combines the video, image, and audio clips with the special effects which you applied to them. The SmartRender feature detects any changes in your project and if there are no changes, instantly plays back the preview file. If there are changes (for instance, when titles, video filters or transition effects have been added), it renders out only the edited portions, making render times much shorter and faster.
https://www.vegascreativesoftware.info/us/forum/hdv-smart-rendering-and-bada... https://www.dvinfo.net/forum/archive/index.php/t-116464.html
https://helpx.adobe.com/premiere-pro/using/smart-rendering.html
https://larryjordan.com/articles/premiere-pro-export-faster-with-smart-rende...
https://workflow.frame.io/guide/smart-rendering
https://blog.frame.io/2021/06/07/premiere-pro-max-render-quality-max-bit-dep...
https://www.kevinmonahan.net/?p=88
After all, Blu-ray images on BD-R/RE discs and possible simpler DVD-R/RW discs for exchange, are more reliable and playable backups for video on tape or HDD.
Den 12.11.2022 16:36, skrev Andrew Randrianasulu: > > > сб, 12 нояб. 2022 г., 18:30 Terje J. Hanssen <[email protected]> <mailto:[email protected]>: >
> "Finally home again", just to discover that I have not 'bdwrite' available on my workstations upgraded with the latest 31. Oct 2022 CinGG appimages. > Therefore I wonder if CinGG Appimage not provide and make it possible to run bdwrite from command line (similar like no ffmpeg) without a single user build? > > > I think you can unpack/mount appimages . > >
https://docs.appimage.org/user-guide/run-appimages.html#mount-an-appimage
> > then you hopefully will find bdwrite inside .... > > or slightly down this question documentation said you can extract content of appimage into directory. So, if bdwrite actually there you can run it from there or copy it to some place >
1) First attempt as Type 1 appimage:
terje@localhost:~> sudo mount /home/terje/Applications/CinGG-20221031-x86_64.AppImage /home/terje/mountpoint/
[sudo] passord for root: mount: /home/terje/mountpoint: wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error.
terje@localhost:~> umount /home/terje/mountpoint/ umount: /home/terje/mountpoint: not mounted.
2) Second attempt as Type 2 appimage:
terje@localhost:~> /home/terje/Applications/CinGG-20221031-x86_64.AppImage --appimage-offset
but why all these warnings and failed messages? ----------
/usr/bin/AppImageLauncher: /usr/lib64/libcurl.so.4: no version information available (required by
/usr/bin/../lib/x86_64-linux-gnu/appimagelauncher/libappimageupdate.so)
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
** (AppImageLauncher:7534): WARNING **: 17:40:13.433: Pixbuf theme: Cannot load pixmap file /usr/share/themes/Breeze/gtk-2.0/../assets/progressbar-trough.png: Feil under lasting av bilde
«/usr/share/themes/Breeze/gtk-2.0/../assets/progressbar-trough.png»:
Fatal feil i PNG-bildefil: bad parameters to zlib
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
** (AppImageLauncher:7534): WARNING **: 17:40:13.433: Invalid borders specified for theme pixmap: /usr/share/themes/Breeze/gtk-2.0/../assets/progressbar-trough.png, borders don't fit within the image
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)'
failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)'
failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)'
failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)'
failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)'
failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)'
failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)'
failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)'
failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)'
failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(AppImageLauncher:7534): GdkPixbuf-CRITICAL **: 17:40:13.433: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed 189632 ----------------
terje@localhost:~> sudo mount /home/terje/Applications/CinGG-20221031-x86_64.AppImage /home/terje/mountpoint/ -o offset=189632 [sudo] passord for root:
terje@localhost:~> cd mountpoint terje@localhost:~/mountpoint> ls AppRun cin.desktop cin.svg usr terje@localhost:~/mountpoint> ls -la totalt 40 drwxr-xr-x 3 root root 102 okt. 31 15:24 . drwxr-xr-x 124 terje users 36864 nov. 12 17:31 .. lrwxrwxrwx 1 root root 11 okt. 31 15:24 AppRun ->
usr/bin/cin
lrwxrwxrwx 1 root root 34 okt. 31 15:24 cin.desktop -> usr/share/applications/cin.desktop lrwxrwxrwx 1 root root 45 okt. 31 15:24 cin.svg -> usr/share/icons/hicolor/scalable/apps/cin.svg lrwxrwxrwx 1 root root 7 okt. 31 15:24 .DirIcon -> cin.svg drwxr-xr-x 5 root root 62 okt. 31 15:23 usr
terje@localhost:~/mountpoint> find . -name bdwrite ./usr/bin/bdwrite
terje@localhost:~/mountpoint> stat ./usr/bin/bdwrite Fil: ./usr/bin/bdwrite Størrelse: 35940792 [tab]Blokker: 70197 IO Blokk: 1024 vanlig fil Enhet: 700h/1792d Datanode: 12 Lenker: 1 Tilgang: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Tilgang: 2022-10-31 15:23:57.000000000 +0100 Omgjøring: 2022-10-31 15:23:57.000000000 +0100 Endring: 2022-10-31 15:23:57.000000000 +0100 Fødsel: -
terje@localhost:~/mountpoint> which bdwrite which: no bdwrite in (/home/terje/bin:/usr/local/bin:/usr/bin:/bin)
Copied the mounted bdwrite to /usr/bin:
terje@localhost:~/mountpoint> sudo cp ./usr/bin/bdwrite /usr/bin [sudo] passord for root: terje@localhost:~/mountpoint> ls -la /usr/bin/bdwrite -rwxr-xr-x 1 root root 35940792 nov. 12 18:00 /usr/bin/bdwrite
=============
3) Tried the extracted bdwrite with a hdv-file transcoded to Blu-ray pcm_bluray audio and mts stream
localhost:~ # cd /home/terje/Videoklipp localhost:/home/terje/Videoklipp # ls -1 *.mts 2008_m2t-ac3.mts 2008_m2t_pcm_bluray.mts hdv01_05_m2t_pcm_bluray.mts hdv01_m2t_pcm_bluray.mts hdv_iLink_m2t_pcm_bluray.mts
localhost:/home/terje/Videoklipp # ffprobe -hide_banner 2008_m2t_pcm_bluray.mts Input #0, mpegts, from '2008_m2t_pcm_bluray.mts': Duration: 00:00:13.44, start: 1.440000, bitrate: 27988 kb/s Program 1 Metadata: service_name : Service01 service_provider: FFmpeg Stream #0:0[0x1011]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, top first), 1440x1080 [SAR 4:3 DAR 16:9], 25000 kb/s, 25 fps, 25 tbr, 90k tbn Side data: cpb: bitrate max/min/avg: 25000000/0/0 buffer size: 7340032 vbv_delay: N/A Stream #0:1[0x1100]: Audio: pcm_bluray ([128][0][0][0] / 0x0080), 48000 Hz, stereo, s16, 1536 kb/s localhost:/home/terje/Videoklipp # du -sb *.mts 43333624 2008_m2t-ac3.mts 47020032 2008_m2t_pcm_bluray.mts 1603362816 hdv01_05_m2t_pcm_bluray.mts 2299017216 hdv01_m2t_pcm_bluray.mts 399237120 hdv_iLink_m2t_pcm_bluray.mts
localhost:/home/terje/Videoklipp # ls -la 2008_m2t_pcm_bluray.mts -rw-r--r-- 1 terje users 47020032 Nov 11 22:06
2008_m2t_pcm_bluray.mts
localhost:/home/terje/Videoklipp # mkudffs -b 2048 /tmp/newfilename.udfs 27055 filename=/tmp/newfilename.udfs label=LinuxUDF uuid=636fdd9d0eee73bf blocksize=2048 blocks=27055 udfrev=201 start=0, blocks=16, type=RESERVED start=16, blocks=3, type=VRS start=19, blocks=237, type=USPACE start=256, blocks=1, type=ANCHOR start=257, blocks=16, type=PVDS start=273, blocks=1, type=LVID start=274, blocks=26524, type=PSPACE start=26798, blocks=1, type=ANCHOR start=26799, blocks=239, type=USPACE start=27038, blocks=16, type=RVDS start=27054, blocks=1, type=ANCHOR
localhost:/home/terje/Videoklipp # mount -o loop /tmp/newfilename.udfs /mnt/test
localhost:/home/terje/Videoklipp # bdwrite /mnt/test 2008_m2t_pcm_bluray.mts
but got an error message:
bdwrite: error while loading shared libraries: libIlmImf-2_3.so.24: cannot open shared object file: No such file or directory