flaccidware / webm

Automatically exported from code.google.com/p/webm
0 stars 0 forks source link

VLC does not play audio OPUS, but Google Chrome and other brawsers plays well #1033

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
Following fix allows to play opus .webm files, mixed by libwebw in VLC player

bool Frame::CanBeSimpleBlock() const {
  return additional_ == NULL && discard_padding_ == 0;// && duration_ == 0;
}

I'm not sure that I'm right, but in comparison with ffmpeg ->
 ffmpeg uses only SimpleBlocks, but libwebm for Audio can not use simple blocks

Original issue reported on code.google.com by AndreyAl...@gmail.com on 8 Jul 2015 at 2:46

GoogleCodeExporter commented 8 years ago
The files created by libwebm and ffmpeg are identical for Opus.

> but libwebm for Audio can not use simple blocks

Can you please explain what you mean by this? libwebm uses SimpleBlock for opus 
audio samples except for the last one (because of discard padding).

Original comment by vigne...@google.com on 13 Jul 2015 at 6:46

GoogleCodeExporter commented 8 years ago

Original comment by vigne...@google.com on 13 Jul 2015 at 6:46

GoogleCodeExporter commented 8 years ago
I've attached two files. 
  vlc_fail.webm - file created before fix with duration. In my case this file are not identical with ffmpeg.
  vlc_success.webm - file created after fix with duration. Also this file really identical with opus crated by ffmpeg.

Please compare:
mkvinfo --verbose ./vlc_fail.webm
mkvinfo --verbose ./vlc_success.webm

Original comment by AndreyAl...@gmail.com on 14 Jul 2015 at 6:53

Attachments:

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
I've attached the result of operations:

mkvinfo --verbose ./vlc_fail.webm > vlc_fail.log
mkvinfo --verbose ./vlc_success.webm > vlc_success.log

vlc_fail:

|+ Cluster
| + Cluster timecode: 0.000s
| + Block group
|  + Block (track number 1, 1 frame(s), timecode 0.000s = 00:00:00.000)
|   + Frame with size 76
|  + Block duration: 20.000000ms
| + Block group
|  + Block (track number 1, 1 frame(s), timecode 0.020s = 00:00:00.020)
|   + Frame with size 77
|  + Block duration: 20.000000ms
| + Block group
|  + Block (track number 1, 1 frame(s), timecode 0.040s = 00:00:00.040)
|   + Frame with size 75
|  + Block duration: 20.000000ms
| + Block group
|  + Block (track number 1, 1 frame(s), timecode 0.060s = 00:00:00.060)
|   + Frame with size 80
|  + Block duration: 20.000000ms

vlc_success:
|+ Cluster
| + Cluster timecode: 0.000s
| + SimpleBlock (key, track number 1, 1 frame(s), timecode 0.000s = 
00:00:00.000)
|  + Frame with size 76
| + SimpleBlock (key, track number 1, 1 frame(s), timecode 0.020s = 
00:00:00.020)
|  + Frame with size 77
| + SimpleBlock (key, track number 1, 1 frame(s), timecode 0.040s = 
00:00:00.040)
|  + Frame with size 75

Original comment by AndreyAl...@gmail.com on 14 Jul 2015 at 7:00

GoogleCodeExporter commented 8 years ago

Original comment by ya...@google.com on 16 Jul 2015 at 10:21