[Cin] HDV manual section need some work

Terje J. Hanssen terjejhanssen at gmail.com
Sat Nov 5 23:05:40 CET 2022



Den 05.11.2022 13:46, skrev Andrew Randrianasulu:
>
>
> сб, 5 нояб. 2022 г., 15:39 Terje J. Hanssen <terjejhanssen at gmail.com>:
>
>
>
>     Den 03.11.2022 22:13, skrev Andrew Randrianasulu:
>>
>>
>>     чт, 3 нояб. 2022 г., 21:28 Terje J. Hanssen
>>     <terjejhanssen at gmail.com>:
>>
>>
>>
>>         Den 03.11.2022 16:17, skrev Andrew Randrianasulu:
>>>
>>>
>>>         чт, 3 нояб. 2022 г., 17:52 Terje J. Hanssen
>>>         <terjejhanssen at gmail.com>:
>>>
>>>
>>>
>>>             Den 03.11.2022 01:42, skrev Andrew Randrianasulu via Cin:
>>>>
>>>>
>>>>             чт, 3 нояб. 2022 г., 03:34 Andrew Randrianasulu
>>>>             <randrianasulu at gmail.com>:
>>>>
>>>>
>>>>
>>>>                 чт, 3 нояб. 2022 г., 03:14 Andrew Randrianasulu
>>>>                 <randrianasulu at gmail.com>:
>>>>
>>>>                     I think we can add some clarification
>>>>
>>>>                     ---
>>>>
>>>>
>>>>                       HDV on a Blu-ray Disc Without Re-encoding
>>>>
>>>>                     An MTS file is a video file saved in the
>>>>                     high-definition (HD) MPEG Transport Stream
>>>>                     video format, commonly called AVCHD. It
>>>>                     contains HD video compatible with Blu-ray disc
>>>>                     format and is based on the MPEG-2 transport
>>>>                     stream. MTS files are often used by Sony,
>>>>                     Panasonic, Canon and other HD camcorders. Legal
>>>>                     input for Video – MPEG1VIDEO, MPEG2VIDEO, H264;
>>>>                     Audio – MP1, MP2, AC3, AC3PLUS, DTS, TRUHD.
>>>>
>>>>                     Note, mp2 and mp1 audio codecs are valid for
>>>>                     transport stream itself but not as on-disk
>>>>                     format for Blu-Rays.
>>>>
>>>>                     In this case you still can save original video
>>>>                     by using ffmpeg's switches
>>>>
>>>>                      -c:v copy -c:a ac3 , while outputting into
>>>>                     another temporal ts container.
>>>>
>>>>                     {waiting for Terje's results on pcm_bluray case}
>>>>
>>>>
>>>>                     ---
>>>>
>>>>
>>>>                     I think all m2ts files you used for testing
>>>>                     were h264/aac (or ac3), not from-camcoder HDVs
>>>>                     with mpeg2 video/mp2 audio.
>>>>
>>>>                     you can try HDV-in-mov from this folder as
>>>>                     ffmpeg test file, I think
>>>>
>>>>                     http://samples.mplayerhq.hu/mov/FCP/
>>>>
>>>>
>>>>                 oh, this is not mp2 audio but pcm audio. And ..not
>>>>                 exactly kind of pcm used on blurays!
>>>>
>>>>                 so this line work, note mpegts_m2ts_mode switch for
>>>>                 enabling more bluray like output, without it ffmpeg
>>>>                 will mux audio into private stream -  good luck
>>>>                 getting it back!
>>>>
>>>>                 ffmpeg -i HDV_1080i50.mov -c:v copy -c:a pcm_bluray
>>>>                 -mpegts_m2ts_mode 1 hdv.mts
>>>>
>>>>                 then tsmuxer recognizes mts file as below:
>>>>
>>>>                 ~/tsMuxer $ tsmuxer hdv.mts
>>>>                 tsMuxeR version 2.6.16-dev.
>>>>                 github.com/justdan96/tsMuxer
>>>>                 <http://github.com/justdan96/tsMuxer>
>>>>                 Track ID:    4113  Stream type: MPEG-2
>>>>                 Stream ID:   V_MPEG-2
>>>>                 Stream info: Profile: Main at 6. Resolution:
>>>>                 1440:1080i. Frame rate: 25
>>>>                 Stream lang:
>>>>
>>>>                 Track ID:    4352
>>>>                 Stream type: LPCM
>>>>                 Stream ID:   A_LPCM
>>>>                 Stream info: Bitrate: 1536Kbps  Sample Rate: 48KHz
>>>>                 Channels: 2 Bits per sample: 16bit
>>>>                 Stream lang: eng
>>>>
>>>>                 Duration: 00:00:08.000
>>>>
>>>>                 ====
>>>>
>>>>                 I wonder if you can cp this file few times and then
>>>>                 cat them back together for simulating longer video ) ?
>>>>
>>>>
>>>>             https://github.com/OpenShot/openshot-qt/issues/3428#top
>>>>
>>>>             this one contain real very short hdv sample with mp2 sound
>>>>
>>>>             http://twenkid.com/os/3.m2t
>>>>
>>>>
>>>
>>>             I can try to dig and test further into this matter later
>>>             this month - or possibly more realistic next month.
>>>             Currently I spend some holiday weeks on Gran Canaria 😎
>>>
>>>
>>>
>>>         have good times (even without camcoder!)
>>>
>>>
>>>
>>>             Some thoughts in advance:
>>>
>>>             Would it possibly be better/clear to differ/split
>>>             between the formats, HDV video on tape (M2T container)
>>>             and the successor H264/AVC(HD) video on disk?
>>>             https://en.wikipedia.org/wiki/HDV
>>>
>>>
>>>         sure, right now it confusing.
>>>
>>>
>>>
>>>
>>>             Possibly you still have the probably little longer HDV
>>>             1080i sample file, "20081103140154.m2t" we used for the
>>>             HDV format patch here
>>>             https://www.mail-archive.com/cin@lists.cinelerra-gg.org/msg02048.html
>>>
>>>
>>>
>>>         yeah, will call my friend 'find' )
>>>
>>>         thanks!
>>>
>>>
>>>
>>>
>>>             And if  Phyllis has access to a Blu-ray disc burner and
>>>             BD hw player, testing could possibly start sooner(?)
>>>
>>>
>>>
>>>
>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>                     ----
>>>>
>>>>                     For creating a blu-ray disc, if you have HDV
>>>>                     MPEG-2 media that is in blu-ray format, you can
>>>>                     save the original quality of your work, rather
>>>>                     than rendering it to another format.
>>>>
>>>>
>>>>                     {I hope Terje will let us know if bdwrite still
>>>>                     works with bluray pcm audio as produced by
>>>>                     ffmpeg 5.1+}
>>>>
>>
>>         I forgot one question:
>>         Will it be possible and how to access and use ffmpeg-5.x
>>         included with Cin-GG in a terminal as usual?
>>
>>
>>
>>
>>     if you compile your own cinelerra ffmpeg binary will be in
>>     thirdparty/ffmpeg-5.1/ffmpeg
>>
>>
>>     we do not install this binary because cin does all work via
>>     library interface.
>>
>>     So I think you can do single-user build and then play with
>>     compiled binary and may be even use it in shell scripting as
>>     described in
>>
>>     https://cinelerra-gg.org/download/CinelerraGG_Manual/Menu_Bar_Shell_Commands.html
>>
>>
>>
>>         The latest openSUSE Leap 15.4 distro I use, has so far no
>>         official ffmpeg-5.x package or codec enabled from Packman.
>>         I have add-installed ffmpeg-5.1.2 from OBS (Open Build
>>         Service), but don't know if it works.
>>
>>
>
===========================
>
>
>     A first test step with add-installed Experimental
>     ffmpeg-5-5.1.2-lp154.35.1.x86_64.rpm for Leap 15.4 from
>     https://software.opensuse.org/download/package?package=ffmpeg-5&project=multimedia%3Alibs
>     <https://software.opensuse.org/download/package?package=ffmpeg-5&project=multimedia%3Alibs>
>     https://build.opensuse.org/package/show/multimedia%3Alibs/ffmpeg-5
>
>         zypper addrepo
>         https://download.opensuse.org/repositories/multimedia:libs/15.4/multimedia:libs.repo
>         zypper refresh
>         zypper install ffmpeg-5
>
>     ----------------
>
>     ffmpeg -i 3.m2t -c:v copy -c:a pcm_bluray output.ts
>     ffmpeg version 5.1.2 Copyright (c) 2000-2022 the FFmpeg developers
>       built with gcc 7 (SUSE Linux)
>     -------------
>     Input #0, mpegts, from '3.m2t':
>       Duration: 00:00:03.10, start: 1.400000, bitrate: 21633 kb/s
>       Program 1
>         Metadata:
>           service_name    : Service01
>           service_provider: FFmpeg
>       Stream #0:0[0x100]: Video: mpeg2video (Main) ([2][0][0][0] /
>     0x0002), yuv420p(tv, bt709, top first), 1440x1080 [SAR 4:3 DAR
>     16:9], 25000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn
>         Side data:
>           cpb: bitrate max/min/avg: 25000000/0/0 buffer size: 7340032
>     vbv_delay: N/A
>       Stream #0:1[0x101]: Audio: mp2 ([3][0][0][0] / 0x0003), 48000
>     Hz, stereo, fltp, 384 kb/s
>     Unknown encoder 'pcm_bluray'
>
>     -----------
>
>     Obviously pcm_bluray encoder is not enabled - only the decoder is
>     enabled. Then it will be difficult ...
>
>     ffmpeg -codecs -hide_banner | egrep "pcm|pcm_bluray"
>
>      ..AIL. adpcm_4xm            ADPCM 4X Movie
>      ..AIL. adpcm_adx            SEGA CRI ADX ADPCM
>      ..AIL. adpcm_afc            ADPCM Nintendo Gamecube AFC
>      ..AIL. adpcm_agm            ADPCM AmuseGraphics Movie AGM
>      ..AIL. adpcm_aica           ADPCM Yamaha AICA
>      ..AIL. adpcm_argo           ADPCM Argonaut Games
>      ..AIL. adpcm_ct             ADPCM Creative Technology
>      ..AIL. adpcm_dtk            ADPCM Nintendo Gamecube DTK
>      ..AIL. adpcm_ea             ADPCM Electronic Arts
>      ..AIL. adpcm_ea_maxis_xa    ADPCM Electronic Arts Maxis CDROM XA
>      ..AIL. adpcm_ea_r1          ADPCM Electronic Arts R1
>      ..AIL. adpcm_ea_r2          ADPCM Electronic Arts R2
>      ..AIL. adpcm_ea_r3          ADPCM Electronic Arts R3
>      ..AIL. adpcm_ea_xas         ADPCM Electronic Arts XAS
>      ..AIL. adpcm_g722           G.722 ADPCM
>      ..AIL. adpcm_g726           G.726 ADPCM
>      ..AIL. adpcm_g726le         G.726 ADPCM little-endian
>      ..AIL. adpcm_ima_acorn      ADPCM IMA Acorn Replay
>      ..AIL. adpcm_ima_alp        ADPCM IMA High Voltage Software ALP
>      ..AIL. adpcm_ima_amv        ADPCM IMA AMV
>      ..AIL. adpcm_ima_apc        ADPCM IMA CRYO APC
>      ..AIL. adpcm_ima_apm        ADPCM IMA Ubisoft APM
>      ..AIL. adpcm_ima_cunning    ADPCM IMA Cunning Developments
>      ..AIL. adpcm_ima_dat4       ADPCM IMA Eurocom DAT4
>      ..AIL. adpcm_ima_dk3        ADPCM IMA Duck DK3
>      ..AIL. adpcm_ima_dk4        ADPCM IMA Duck DK4
>      ..AIL. adpcm_ima_ea_eacs    ADPCM IMA Electronic Arts EACS
>      ..AIL. adpcm_ima_ea_sead    ADPCM IMA Electronic Arts SEAD
>      ..AIL. adpcm_ima_iss        ADPCM IMA Funcom ISS
>      ..AIL. adpcm_ima_moflex     ADPCM IMA MobiClip MOFLEX
>      ..AIL. adpcm_ima_mtf        ADPCM IMA Capcom's MT Framework
>      ..AIL. adpcm_ima_oki        ADPCM IMA Dialogic OKI
>      ..AIL. adpcm_ima_qt         ADPCM IMA QuickTime
>      ..AIL. adpcm_ima_rad        ADPCM IMA Radical
>      ..AIL. adpcm_ima_smjpeg     ADPCM IMA Loki SDL MJPEG
>      ..AIL. adpcm_ima_ssi        ADPCM IMA Simon & Schuster Interactive
>      ..AIL. adpcm_ima_wav        ADPCM IMA WAV
>      ..AIL. adpcm_ima_ws         ADPCM IMA Westwood
>      ..AIL. adpcm_ms             ADPCM Microsoft
>      ..AIL. adpcm_mtaf           ADPCM MTAF
>      ..AIL. adpcm_psx            ADPCM Playstation
>      ..AIL. adpcm_sbpro_2        ADPCM Sound Blaster Pro 2-bit
>      ..AIL. adpcm_sbpro_3        ADPCM Sound Blaster Pro 2.6-bit
>      ..AIL. adpcm_sbpro_4        ADPCM Sound Blaster Pro 4-bit
>      ..AIL. adpcm_swf            ADPCM Shockwave Flash
>      ..AIL. adpcm_thp            ADPCM Nintendo THP
>      ..AIL. adpcm_thp_le         ADPCM Nintendo THP (Little-Endian)
>      ..AIL. adpcm_vima           LucasArts VIMA audio
>      ..AIL. adpcm_xa             ADPCM CDROM XA
>      ..AIL. adpcm_yamaha         ADPCM Yamaha
>      ..AIL. adpcm_zork           ADPCM Zork
>      ..AIL. derf_dpcm            DPCM Xilam DERF
>      ..AIL. gremlin_dpcm         DPCM Gremlin
>      ..AIL. interplay_dpcm       DPCM Interplay
>      DEAIL. pcm_alaw             PCM A-law / G.711 A-law
>      D.AI.S pcm_bluray           PCM signed 16|20|24-bit big-endian
>     for Blu-ray media
>      D.AI.S pcm_dvd              PCM signed 20|24-bit big-endian
>      ..AI.S pcm_f16le            PCM 16.8 floating point little-endian
>      ..AI.S pcm_f24le            PCM 24.0 floating point little-endian
>      DEAI.S pcm_f32be            PCM 32-bit floating point big-endian
>      DEAI.S pcm_f32le            PCM 32-bit floating point little-endian
>      DEAI.S pcm_f64be            PCM 64-bit floating point big-endian
>      DEAI.S pcm_f64le            PCM 64-bit floating point little-endian
>      ..AI.S pcm_lxf              PCM signed 20-bit little-endian planar
>      DEAIL. pcm_mulaw            PCM mu-law / G.711 mu-law
>      DEAI.S pcm_s16be            PCM signed 16-bit big-endian
>      DEAI.S pcm_s16be_planar     PCM signed 16-bit big-endian planar
>      DEAI.S pcm_s16le            PCM signed 16-bit little-endian
>      DEAI.S pcm_s16le_planar     PCM signed 16-bit little-endian planar
>      DEAI.S pcm_s24be            PCM signed 24-bit big-endian
>      ..AI.S pcm_s24daud          PCM D-Cinema audio signed 24-bit
>      DEAI.S pcm_s24le            PCM signed 24-bit little-endian
>      DEAI.S pcm_s24le_planar     PCM signed 24-bit little-endian planar
>      DEAI.S pcm_s32be            PCM signed 32-bit big-endian
>      DEAI.S pcm_s32le            PCM signed 32-bit little-endian
>      DEAI.S pcm_s32le_planar     PCM signed 32-bit little-endian planar
>      ..AI.S pcm_s64be            PCM signed 64-bit big-endian
>      ..AI.S pcm_s64le            PCM signed 64-bit little-endian
>      DEAI.S pcm_s8               PCM signed 8-bit
>      DEAI.S pcm_s8_planar        PCM signed 8-bit planar
>      ..AI.S pcm_sga              PCM SGA
>      DEAI.S pcm_u16be            PCM unsigned 16-bit big-endian
>      DEAI.S pcm_u16le            PCM unsigned 16-bit little-endian
>      DEAI.S pcm_u24be            PCM unsigned 24-bit big-endian
>      DEAI.S pcm_u24le            PCM unsigned 24-bit little-endian
>      DEAI.S pcm_u32be            PCM unsigned 32-bit big-endian
>      DEAI.S pcm_u32le            PCM unsigned 32-bit little-endian
>      DEAI.S pcm_u8               PCM unsigned 8-bit
>      ..AIL. pcm_vidc             PCM Archimedes VIDC
>      ..AIL. roq_dpcm             DPCM id RoQ
>      ..AIL. sdx2_dpcm            DPCM Squareroot-Delta-Exact
>      ..AIL. sol_dpcm             DPCM Sol
>      ..AIL. xan_dpcm             DPCM Xan
>
>
> for me it says
>
> DEAI.S pcm_bluray           PCM signed 16|20|24-bit big-endian for 
> Blu-ray media
>
>
> on termux. Guess suse people a bit afraid about enabling anything 
> bluray related in widely-distributed packages. Just for checking you 
> can ask  package maintainer, may be he (?) disabled it by oversight.
>
> So yeah, for this test self-compiled ffmpeg will be more interesting 
> (on x86/glibc system simple configure/make should give you ff* binaries)
>
>
>

======================


I upgraded instead my rolling openSUSE Tumbleweed with the recent 
multimedia codec enabled ffmpeg 5.1.2 from Packman
https://opensuse.github.io/openSUSE-docs-revamped-temp/codecs/

where also the pcm_bluray encoder is enabled:

ffmpeg -codecs -hide_banner | grep pcm_bluray
  DEAI.S pcm_bluray           PCM signed 16|20|24-bit big-endian for 
Blu-ray media


and verified first the input file

  ffprobe -hide_banner 3.m2t
Input #0, mpegts, from '3.m2t':
   Duration: 00:00:03.10, start: 1.400000, bitrate: 21633 kb/s
   Program 1
     Metadata:
       service_name    : Service01
       service_provider: FFmpeg
   Stream #0:0[0x100]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), 
yuv420p(tv, bt709, top first), 1440x1080 [SAR 4:3 DAR 16:9], 25000 kb/s, 
29.97 fps, 29.97 tbr, 90k tbn
     Side data:
       cpb: bitrate max/min/avg: 25000000/0/0 buffer size: 7340032 
vbv_delay: N/A
   Stream #0:1[0x101]: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, 
stereo, fltp, 384 kb/s


Then a new attempt with the first step to transcode the mp2 audio to 
pcm_blu-ray.
Added also for this case the "-mpegts_m2ts_mode 1" switch for enabling 
more bluray like output, because without it didn't seem to be recognized!?


ffmpeg -i 3.m2t -c:v copy -c:a pcm_bluray -mpegts_m2ts_mode 1 output.mts
ffmpeg version 5.1.2 Copyright (c) 2000-2022 the FFmpeg developers
   built with gcc 12 (SUSE Linux)
..........
Input #0, mpegts, from '3.m2t':
   Duration: 00:00:03.10, start: 1.400000, bitrate: 21633 kb/s
   Program 1
     Metadata:
       service_name    : Service01
       service_provider: FFmpeg
   Stream #0:0[0x100]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), 
yuv420p(tv, bt709, top first), 1440x1080 [SAR 4:3 DAR 16:9], 25000 kb/s, 
29.97 fps, 29.97 tbr, 90k tbn
     Side data:
       cpb: bitrate max/min/avg: 25000000/0/0 buffer size: 7340032 
vbv_delay: N/A
   Stream #0:1[0x101]: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, 
stereo, fltp, 384 kb/s
Stream mapping:
   Stream #0:0 -> #0:0 (copy)
   Stream #0:1 -> #0:1 (mp2 (native) -> pcm_bluray (native))
Press [q] to stop, [?] for help
Output #0, mpegts, to 'output.mts':
   Metadata:
     encoder         : Lavf59.27.100
   Stream #0:0: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), 
yuv420p(tv, bt709, top first), 1440x1080 [SAR 4:3 DAR 16:9], q=2-31, 
25000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn
     Side data:
       cpb: bitrate max/min/avg: 25000000/0/0 buffer size: 7340032 
vbv_delay: N/A
   Stream #0:1: Audio: pcm_bluray, 48000 Hz, stereo, s16, 128 kb/s
     Metadata:
       encoder         : Lavc59.37.100 pcm_bluray
frame=   76 fps=0.0 q=-1.0 Lsize=    8898kB time=00:00:03.00 
bitrate=24297.5kbits/s speed= 139x
video:7854kB audio:565kB subtitle:0kB other streams:0kB global 
headers:0kB muxing overhead: 5.697285%

---------------------

At last verified the output file:

ffprobe -hide_banner output.ts
Input #0, mpegts, from 'output.ts':
   Duration: 00:00:03.10, start: 1.400000, bitrate: 22791 kb/s
   Program 1
     Metadata:
       service_name    : Service01
       service_provider: FFmpeg
   Stream #0:0[0x100]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), 
yuv420p(tv, bt709, top first), 1440x1080 [SAR 4:3 DAR 16:9], 25000 kb/s, 
29.97 fps, 29.97 tbr, 90k tbn
     Side data:
       cpb: bitrate max/min/avg: 25000000/0/0 buffer size: 7340032 
vbv_delay: N/A
   Stream #0:1[0x101]: Data: bin_data ([6][0][0][0] / 0x0006)
Unsupported codec with id 98314 for input stream 1

==========================
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20221105/4039a177/attachment-0001.htm>


More information about the Cin mailing list