So i have a ZEEVEE ZvPro820 that has the ability to play a video loop from an internal SD card and inject it into a CATV channel. Problem is, the software that converts video files to it's ZVC format is Windows based (we use linux), it is incredibly slow (doesnt multithread), and the converter has a poor encoding algorithm (video looks choppy compared to my own attempt to replicate). So here is what i know:
ZVC file is basically an mpg file using MPEG-1/2 (mpgv) the problem is the audio is encoded in an unfamiliar way. The ZvPro unit reports that the audio stream is invalid when i encode an mpg file with AAC, AC2, mpga, mp2, etc...
Here is the console data for the regular mpg file that i created on my own:
mediainfo --fullscan sample.mpeg1-2.mpgv.mpg
General
Count : 308
Count of stream of this kind : 1
Kind of stream : General
Kind of stream : General
Stream identifier : 0
Count of video streams : 1
Count of audio streams : 1
Video_Format_List : MPEG Video
Video_Format_WithHint_List : MPEG Video
Codecs Video : MPEG-2 Video
Audio_Format_List : MPEG Audio
Audio_Format_WithHint_List : MPEG Audio
Audio codecs : MPEG-1 Audio layer 2
Complete name : sample.mpeg1-2.mpgv.mpg
File name : sample.mpeg1-2.mpgv
File extension : mpg
Format : MPEG-PS
Format : MPEG-PS
Format/Extensions usually used : mpeg mpg m2p vob pss
Commercial name : MPEG-PS
Internet media type : video/MP2P
Codec : MPEG-PS
Codec : MPEG-PS
Codec/Extensions usually used : mpeg mpg m2p vob pss
File size : 1923072
File size : 1.83 MiB
File size : 2 MiB
File size : 1.8 MiB
File size : 1.83 MiB
File size : 1.834 MiB
Duration : 3240
Duration : 3s 240ms
Duration : 3s 240ms
Duration : 3s 240ms
Duration : 00:00:03.240
Duration : 00:00:03;07
Duration : 00:00:03.240 (00:00:03;07)
Overall bit rate mode : VBR
Overall bit rate mode : Variable
Overall bit rate : 4748326
Overall bit rate : 4 748 Kbps
Frame rate : 29.970
Frame rate : 29.970 fps
Frame count : 97
Stream size : 40155
Stream size : 39.2 KiB (2%)
Stream size : 39 KiB
Stream size : 39 KiB
Stream size : 39.2 KiB
Stream size : 39.21 KiB
Stream size : 39.2 KiB (2%)
Proportion of this stream : 0.02088
File last modification date : UTC 2017-04-05 13:32:53
File last modification date (local) : 2017-04-05 09:32:53
Video
Count : 312
Count of stream of this kind : 1
Kind of stream : Video
Kind of stream : Video
Stream identifier : 0
StreamOrder : 0
FirstPacketOrder : 0
ID : 224
ID : 224 (0xE0)
Format : MPEG Video
Commercial name : HDV 720p
Commercial name : HDV 720p
Format version : Version 2
Format profile : Main@High 1440
Format settings : BVOP
Format settings, BVOP : Yes
Format settings, BVOP : Yes
Format settings, Matrix : Default
Format settings, Matrix : Default
Format settings, GOP : M=3, N=12
Internet media type : video/MPV
Codec : MPEG-2V
Codec : MPEG-2 Video
Codec/Family : MPEG-V
Codec profile : Main@High 1440
Codec settings, Matrix : Default
Duration : 3237
Duration : 3s 237ms
Duration : 3s 237ms
Duration : 3s 237ms
Duration : 00:00:03.237
Duration : 00:00:03:07
Duration : 00:00:03.237 (00:00:03:07)
Bit rate mode : VBR
Bit rate mode : Variable
Bit rate : 4397834
Bit rate : 4 398 Kbps
Width : 1280
Width : 1 280 pixels
Height : 720
Height : 720 pixels
Pixel aspect ratio : 1.000
Display aspect ratio : 1.778
Display aspect ratio : 16:9
Frame rate : 29.970
Frame rate : 29.970 fps
Frame count : 97
Resolution : 8
Resolution : 8 bits
Colorimetry : 4:2:0
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8
Bit depth : 8 bits
Scan type : Progressive
Scan type : Progressive
Interlacement : PPF
Interlacement : Progressive
Compression mode : Lossy
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.159
Delay : 0.000
Delay : 00:00:00.000
Delay_DropFrame : No
Delay, origin : Container
Delay, origin : Container
Delay_Original : 0
Delay_Original : 00:00:00.000
Delay_Original_Settings : drop_frame_flag=0 / closed_gop=0 / broken_link=0
Delay_Original_DropFrame : No
Delay_Original_Source : Stream
Time code of first frame : 00:00:00:00
Time code source : Group of pictures header
GOP, Open/Closed : Open
GOP, Open/Closed : Open
Stream size : 1779237
Stream size : 1.70 MiB (93%)
Stream size : 2 MiB
Stream size : 1.7 MiB
Stream size : 1.70 MiB
Stream size : 1.697 MiB
Stream size : 1.70 MiB (93%)
Proportion of this stream : 0.92521
Buffer size : 141312
intra_dc_precision : 8
Audio
Count : 254
Count of stream of this kind : 1
Kind of stream : Audio
Kind of stream : Audio
Stream identifier : 0
StreamOrder : 1
FirstPacketOrder : 1
ID : 192
ID : 192 (0xC0)
Format : MPEG Audio
Commercial name : MPEG Audio
Format version : Version 1
Format profile : Layer 2
Internet media type : audio/mpeg
Codec : MPA1L2
Codec : MPEG-1 Audio layer 2
Duration : 3240
Duration : 3s 240ms
Duration : 3s 240ms
Duration : 3s 240ms
Duration : 00:00:03.240
Duration : 00:00:03.240
Bit rate mode : CBR
Bit rate mode : Constant
Bit rate : 256000
Bit rate : 256 Kbps
Channel(s) : 2
Channel(s) : 2 channels
Sampling rate : 48000
Sampling rate : 48.0 KHz
Samples count : 155520
Frame count : 135
Compression mode : Lossy
Compression mode : Lossy
Delay : 0.000
Delay : 00:00:00.000
Delay, origin : Container
Delay, origin : Container
Delay relative to video : 0
Delay relative to video : 00:00:00.000
Video0 delay : 0
Video0 delay : 00:00:00.000
Stream size : 103680
Stream size : 101 KiB (5%)
Stream size : 101 KiB
Stream size : 101 KiB
Stream size : 101 KiB
Stream size : 101.2 KiB
Stream size : 101 KiB (5%)
Proportion of this stream : 0.05391
Below is the console data on the converted file (above), after it has been converted to a zvc file using the ZeeVee converter application.
mediainfo --fullscan sample.mpeg1-2.mpgv.zvc
General
Count : 308
Count of stream of this kind : 1
Kind of stream : General
Kind of stream : General
Stream identifier : 0
Count of video streams : 1
Video_Format_List : MPEG Video
Video_Format_WithHint_List : MPEG Video
Codecs Video : MPEG-2 Video
Complete name : sample.mpeg1-2.mpgv.zvc
File name : sample.mpeg1-2.mpgv
File extension : zvc
Format : MPEG Video
Format : MPEG Video
Format/Extensions usually used : mpgv mpv mp1v m1v mp2v m2v
Commercial name : MPEG Video
Format version : Version 2
Internet media type : video/MPV
Codec : MPEG Video
Codec : MPEG Video
Codec/Extensions usually used : mpgv mpv mp1v m1v mp2v m2v
File size : 1604296
File size : 1.53 MiB
File size : 2 MiB
File size : 1.5 MiB
File size : 1.53 MiB
File size : 1.530 MiB
Duration : 3237
Duration : 3s 237ms
Duration : 3s 237ms
Duration : 3s 237ms
Duration : 00:00:03.237
Duration : 00:00:03;07
Duration : 00:00:03.237 (00:00:03;07)
Overall bit rate mode : VBR
Overall bit rate mode : Variable
Overall bit rate : 3964896
Overall bit rate : 3 965 Kbps
Frame rate : 29.970
Frame rate : 29.970 fps
Frame count : 97
Stream size : 0
Stream size : 0.00 Byte (0%)
Stream size : Byte0
Stream size : 0.0 Byte
Stream size : 0.00 Byte
Stream size : 0.000 Byte
Stream size : 0.00 Byte (0%)
Proportion of this stream : 0.00000
File last modification date : UTC 2017-04-05 13:34:44
File last modification date (local) : 2017-04-05 09:34:44
Video
Count : 312
Count of stream of this kind : 1
Kind of stream : Video
Kind of stream : Video
Stream identifier : 0
Format : MPEG Video
Commercial name : HDV 720p
Commercial name : HDV 720p
Format version : Version 2
Format profile : Main@High 1440
Format settings : BVOP
Format settings, BVOP : Yes
Format settings, BVOP : Yes
Format settings, Matrix : Default
Format settings, Matrix : Default
Format settings, GOP : M=3, N=15
Internet media type : video/MPV
Codec : MPEG-2V
Codec : MPEG-2 Video
Codec/Family : MPEG-V
Codec profile : Main@High 1440
Codec settings, Matrix : Default
Duration : 3237
Duration : 3s 237ms
Duration : 3s 237ms
Duration : 3s 237ms
Duration : 00:00:03.237
Duration : 00:00:03:07
Duration : 00:00:03.237 (00:00:03:07)
Bit rate mode : VBR
Bit rate mode : Variable
Bit rate : 3964896
Bit rate : 3 965 Kbps
Maximum bit rate : 5000000
Maximum bit rate : 5 000 Kbps
Width : 1280
Width : 1 280 pixels
Height : 720
Height : 720 pixels
Pixel aspect ratio : 1.000
Display aspect ratio : 1.778
Display aspect ratio : 16:9
Frame rate : 29.970
Frame rate : 29.970 fps
Frame count : 97
Resolution : 8
Resolution : 8 bits
Colorimetry : 4:2:0
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8
Bit depth : 8 bits
Scan type : Progressive
Scan type : Progressive
Interlacement : PPF
Interlacement : Progressive
Compression mode : Lossy
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.144
Delay : 0
Delay : 00:00:00.000
Delay_Settings : drop_frame_flag=0 / closed_gop=1 / broken_link=0
Delay_DropFrame : No
Delay, origin : Stream
Delay, origin : Raw stream
Time code of first frame : 00:00:00:00
GOP, Open/Closed : Open
GOP, Open/Closed : Open
GOP, Open/Closed of first frame : Closed
GOP, Open/Closed of first frame : Closed
Stream size : 1604296
Stream size : 1.53 MiB (100%)
Stream size : 2 MiB
Stream size : 1.5 MiB
Stream size : 1.53 MiB
Stream size : 1.530 MiB
Stream size : 1.53 MiB (100%)
Proportion of this stream : 1.00000
Buffer size : 63488
intra_dc_precision : 8
I've noticed a few variances, but still not sure how to completely replicate using ffmpeg.
Thoughts?
+ Reply to Thread
Results 1 to 8 of 8
-
-
The video does contain an audio stream somewhere, although it doesn't play audio in VLC, the file does play audio on the ZeeVee unit.
The ZVC converter software "about" popup menu mentions that it uses a GPL version of FFMPEG to encode into a "known format," whatever that is?
The audio stream info does seem elusive. Attached is a short sample of the video after it has been encoded using the ZVC converter.
sample.conv.zvc.mpg is the converted file (normally ends in .zvc, but had to add .mpg at end so that it would upload), the file size is more than double, same video bitrate, so i suppose the audio is uncompressed pcm..
sample.orig.mpg is the original clip before it was converted.Last edited by 1branchonthevine; 6th Apr 2017 at 11:07.
-
i took a quick look through it and all i can tell you is that it has ac3 audio. but i don't see any sign of normal mpeg headers anywhere in the file so i'm not sure how they muxed it, which may be why nothing can play it with audio.
--
"a lot of people are better dead" - prisoner KSC2-303 -
The ZVC file is not an MPEG container but it looks like a video MPEG2 segment starting at 0x00000000
Audio is AC-3 192 kbps and starts at 0x00173e8d until approx. 0x0018708f
At 0x00187090 some kind of video and audio index starts.
The video and audio can be muxed again into an MPEG2 file, it will play in VLC (with audio): zvc_remuxed.mpgHCenc at: http://hank315.nl -
The folks at ZeeVee were so kind as to offer the source files to compile their converter on linux. I will see if there is any tweaking I can do, like multithreading, etc., although due to the method (described below) used to split up the video, I may be unable to clean up the choppy video compression appearance.
Thanks everyone for your help thus far. I will try and keep you posted on the progress, and might even be able to provide a linux compiled app to share with anyone else that could use it.
As for the source, respectfully I was asked to not share the source directly. ZeeVee email reply is below:
---------------------------------------
Hi Jason,
Below is a link to dropbox that has the source files in it for ZVc 1.2.
Some information from our engineers –
As the customer noted, we used ffmpeg to do the convert of the source video to MPEG2 program stream format. However, we did a couple of things to optimize the generated output file for playback on our hardware:
• We separated the video and audio streams in to separate chunks. This allows the video and audio muxing code to more efficiently find the data to play out.
• We do a pass over the video and audio data and generate an index array of each video and audio frame. This allows the playback code on the modulator to more efficiently find the start of a frame.
The source code will build for both Linux and Windows.
Under Linux, extract the archive with “tar xzf zvc.tgz” then run make at the root directory and it will build a zvc executable. In the root directory is a “notes” file that has more information on how to setup the Windows build environment. It’s much more involved.
I do have to note, that the information and files are being provided to you “as is” and there is very limited support for it. Ultimately, if you have issues with ZvShow, we will want to use the converter from our website for troubleshooting.
Regarding the post you put up on video help. Please don’t share the files directly, but feel free to note that we provided them to you. We would like to manage who we send the files to instead of posting them for general consumption. Hope you understand.
Cheers -
The choppy video compression appearance is caused by the high quantizers used.
For I-frames the (linear) quantization uses a quant value 62 which is the maximum --> worst possible quality.
The P and I-frames use lower quantizers but still pretty high.
Used quant matrices are standard MPEG2, so the flat 16 for non-intra.
The ffmpeg MPEG2 encoder is very good, especially the later versions, setting it up can be problematic.
@sneaker
No, it's certainly not interleavedHCenc at: http://hank315.nl
Similar Threads
-
Problems Demuxing, Remuxing and Encoding AVIs. Also MeGUI problems.
By VideoFanatic in forum RestorationReplies: 1Last Post: 10th Feb 2016, 02:30 -
Encoding TV show problems with handbrake
By codygs83 in forum DVD RippingReplies: 2Last Post: 22nd Jun 2014, 14:40 -
1) Encoding to youtube, 2) Reduce encoding time.
By moghbr in forum Video ConversionReplies: 9Last Post: 30th Aug 2013, 07:40 -
Problems with Audio in Handbrake Encoding
By MrRed in forum Newbie / General discussionsReplies: 4Last Post: 12th Mar 2013, 13:54 -
Problems Encoding the OC Season 1 DVDs
By nesburf in forum DVD RippingReplies: 17Last Post: 1st Feb 2013, 15:17