News:

--

Main Menu

Cannot play in Opus exported audio

Started by alberto, March 27, 2022, 05:01:48 AM

Previous topic - Next topic

alberto

Hi, I just wanted to save only the audio track from the video, but I encountered two problems.

1) The audio track is saved in AAC. When I saved just the audio track with the "Copy" option, it saved successfully in AAC and can be played. But the player does not indicate the audio length correctly. The original length is around 17 minutes, but VLC reports the length of the audio at 17 hours and constantly changes the depicted length during playing and gets really close to the actual length towards the end of the file.

2) To avoid the problem #1, I tried to save the audio track in Opus. I don't know if it makes any difference, but as a file extension I tried *.opus as well as *.ogg. Unfortunately, both options cannot get played, even though the file size seems to be ok (around 14 MB). VLC just doesn't play the file at all but shows no error as well.

I am currently using the latest 2.8.0 version. I had the same problem with the 2.7.6 version.

So, do you have any idea how to resolve these issues?

Here is the log:
[HandleAction] 05:09:44-028 ************ AUDIO_CODEC_CONFIGURE **************
[audioCodecConfigure] 05:09:44-028 Track 0 has 8 audio encoder index
[dxvaRender::draw] 05:09:44-090 D3D : Draw!
[dxvaRender::refresh] 05:09:44-090 Refresh**
[dxvaRender::draw] 05:09:51-821 D3D : Draw!
[dxvaRender::refresh] 05:09:51-821 Refresh**
[HandleAction] 05:09:54-162 ************ SAVE_AUDIO **************
[dxvaRender::draw] 05:09:54-808 D3D : Draw!
[dxvaRender::refresh] 05:09:54-808 Refresh**
[dxvaRender::draw] 05:09:58-987 D3D : Draw!
[dxvaRender::refresh] 05:09:58-987 Refresh**
[AccessFilter] Creating access filter, startime 00:00:00,000, globalHeader 0
[createEncodingFilter] 05:10:00-181 Creating audio encoding filter with start time 00:00:00,000
[AUDMAudioFilter_Bridge::AUDMAudioFilter_Bridge] 05:10:00-181 [Bridge] Starting with time 00:00:00,000 , shift 0 ms
[AUDMAudioFilter_Bridge::AUDMAudioFilter_Bridge] 05:10:00-181 [Bridge] Ending with time 00:00:00,000, sample 0
[AUDMAudioFilter_Bridge::rewind] 05:10:00-181 [AudioBridge] Going to time 00:00:00,000
[ADM_edAudioTrackFromVideo::goToTime] 05:10:00-181 [edAudioTrackFromVideo] Seeking to 00:00:00,000
[ADM_edAudioTrackFromVideo::goToTime] 05:10:00-181 [edAudioTrackFromVideo] => seg 0, rel time 00:00:00,000
[mkvAccess::goToTime] 05:10:00-181 [MKVAUDIO] Asked for 00:00:00,067 , go to block 0
[mkvAccess::goToTime] 05:10:00-181 [MKVAUDIO] This block starts at 00:00:00,067
[mkvAccess::goToTime] 05:10:00-181 [MKVAUDIO] Offset=0 us
[AUDMAudioFilter_Bridge::rewind] 05:10:00-181 [AudioBridge] Going to time 00:00:00,000
[ADM_edAudioTrackFromVideo::goToTime] 05:10:00-181 [edAudioTrackFromVideo] Seeking to 00:00:00,000
[ADM_edAudioTrackFromVideo::goToTime] 05:10:00-181 [edAudioTrackFromVideo] => seg 0, rel time 00:00:00,000
[mkvAccess::goToTime] 05:10:00-181 [MKVAUDIO] Asked for 00:00:00,067 , go to block 0
[mkvAccess::goToTime] 05:10:00-181 [MKVAUDIO] This block starts at 00:00:00,067
[mkvAccess::goToTime] 05:10:00-181 [MKVAUDIO] Offset=0 us
[Opus] Incoming Fq :48000
[AUDMEncoder_Opus::initialize] 05:10:00-181 Bitrate : Asked 56, actually set = 56000
[FilterAccess] Created, starting at 0 ms
[ADM_audioAccess_thread::ADM_audioAccess_thread] 05:10:00-181 Swallowing audio access into a thread
[saveAudio] Duration: 00:16:52,899, 48619199 samples.
[ADM_threadQueue::startThread] 05:10:00-206 Starting thread...
[ADM_threadQueue::startThread] 05:10:00-218 Thread created and started
[dxvaRender::draw] 05:10:00-241 D3D : Draw!
[dxvaRender::refresh] 05:10:00-241 Refresh**
[dxvaRender::draw] 05:10:00-272 D3D : Draw!
[dxvaRender::refresh] 05:10:00-272 Refresh**
[ADM_edAudioTrackFromVideo::getPacket] 05:10:14-670 Audio getPacket failed, audioSegment=0
[ADM_edAudioTrackFromVideo::getPacket] 05:10:14-670 ..and this is the last segment
[ADM_edAudioTrackFromVideo::refillPacketBuffer] 05:10:14-670 End of audio
[ADM_edAudioTrackFromVideo::getPCMPacket] 05:10:14-670 [Editor] Cannot refill audio
[AUDMAudioFilter_Bridge::fillIncomingBuffer] 05:10:14-670 [Bridge] End of stream
[ADMAudioFilter_Access::getPacket] 05:10:14-697 [Access] getpacket failed for encoding
[ADM_audioAccess_thread::runAction] 05:10:14-697 Audio Thread, no more data
[ADM_audioAccess_thread::getPacket] 05:10:14-697 Audio thread stopped, no more data
[A_saveAudioCommon] 05:10:14-708 wanted 48619199 samples, got 48614511 samples, written 6368503 bytes
[ADM_audioStream_autoDelete::~ADM_audioStream_autoDelete] 05:10:14-708 Killing son audioStream
[ADM_audioStream_autoDelete::~ADM_audioStream_autoDelete] 05:10:14-708 Killing son audioAccess
[ADM_threadQueue::stopThread] 05:10:14-708 Destroying threadQueue
[FilterAccess] Destroyed
[Bridge] Destroying bridge
[Opus] Deleting encoder
[ADM_threadQueue::~ADM_threadQueue] 05:10:14-708 Killing audio thread and son
[dxvaRender::draw] 05:10:14-734 D3D : Draw!
[dxvaRender::refresh] 05:10:14-734 Refresh**

eumagga0x2a

Timing within raw variable bitrate streams like AAC cannot be reliably estimated.

Raw Opus streams cannot be played, this is correct. Avidemux doesn't have means to mux them into a container (e.g. into Ogg), so don't use Opus when you want to save audio only.

alberto

Ok, a bit disappointing, but thank you for clearing this out.

eumagga0x2a

If all you need is the possibility to derive timing from bitrate of a raw audio stream (i.e. constant bitrate and constant number of samples per packet), use AC3 if you need support for number of channels > 2, MP3 or PCM. Select a bitrate based on at least 96 kbit/s per channel in case of AC3 and MP3 for best possible quality.