Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Transcript: Queue is stuck when FFmpeg overlay failed #200

Open
limjoe opened this issue Jul 8, 2024 · 6 comments
Open

Transcript: Queue is stuck when FFmpeg overlay failed #200

limjoe opened this issue Jul 8, 2024 · 6 comments
Assignees
Labels
bug Something isn't working EnglishNative This issue is conveyed exclusively in English.

Comments

@limjoe
Copy link
Contributor

limjoe commented Jul 8, 2024

Describe the bug
Use Camera to forward the AI HLS overlay stream, when occur some error, the AI transcription seems to be blocked, and no more transcription result, and the Live Segments Queue became more and more longer

It seems that the original live stream is interrupted for a moment, then pushed the stream again.

Then I suspected that there was an interruption in the original video stream, but I watched the video through Whep and during this period, the video played normally and it seemed to have no interruption

Version
v5.14.22, with this PR #193

To Reproduce
Steps to reproduce the behavior:

  1. Go to transcript
  2. Click on start Transcription
  3. Go to Camera
  4. Use the latest AI Transcrition transcript live stream with subtitle url as source, and forward the AI stream to third SRT server, SRT server can use Restreamer.
  5. Click Start Live, run for a while.
  6. See error

Expected behavior
AI transcription is running normally

Screenshots
image
image

Additional context
The Oryx logs as below, it seems that the source stream is unpublish, but after a while the origin stream is recoverd.
node1. xxxx. com is the replaced content

Oryx.txt

The Oryx_2.txt is another test, and has more logs.
Oryx_2.txt

@limjoe limjoe added the bug Something isn't working label Jul 8, 2024
@winlinvip winlinvip added the EnglishNative This issue is conveyed exclusively in English. label Jul 8, 2024
@limjoe
Copy link
Contributor Author

limjoe commented Jul 8, 2024

I rolled back my Oryx container version to v5.14.19, and without my PR modify, and there is the same issues.

@limjoe
Copy link
Contributor Author

limjoe commented Jul 8, 2024

And the queue ts file order maybe looks like this.
image

@winlinvip
Copy link
Member

winlinvip commented Jul 18, 2024

Caused by the overlay command failed when driving fix queue:

[warn] 2024/07/08 12:00:45.492859 [51][1006] transcript: task uuid=6e61fd0f-194a-49f7-803e-f09d9662028c, live=segments=0, asr=segments=1, fix=segments=3, pat=So, on that note, that minor glitch has been resolved. We have fantastic pitches so far today and a really excellent job from all of the pitchers., overlay=segments=9, config is all=true, key=56B, organization=, base=https://api.openai.com/v1, lang=en, overlay=true, forceStyle=Alignment=2,MarginV=20, videoCodecParams=-c:v h264_nvenc -profile:v main -preset:v medium -bf 0, webvtt=true, webvttCueStyle=STYLE
::cue { background-color: blue; color: FFFFFF; font-family: Helvetica; font-size: 15px; }, webvttCueSetting=line:90%  align:center drive fix queue err exit status 1
transcode [-i transcript/355-org-aebe00dc-897f-46d6-9e31-b43c86c9ac3a.ts -vf subtitles=transcript/355-audio-f939a467-5e69-4d1e-b8e2-9a573c85ceed.srt:force_style='Alignment=2,MarginV=20' -c:v h264_nvenc -profile:v main -preset:v medium -bf 0 -c:a aac -copyts -y transcript/355-overlay-47c37aac-5533-44fb-8e8f-43a5c4bace8e.ts]
main.(*TranscriptTask).DriveFixQueue
 /g/platform/transcript.go:1998
main.(*TranscriptWorker).Start.func7
 /g/platform/transcript.go:1174
runtime.goexit
 /usr/local/go/src/runtime/asm_amd64.s:1571

If failed, it will retry forever, stuck the whole queue.

@limjoe
Copy link
Contributor Author

limjoe commented Jul 18, 2024

the failed ffmpeg command log is

root@20e03e30a247:/usr/local/oryx/platform/containers/data# ffmpeg -i transcript/1194-org-ecea8993-3b9c-4ec4-a82d-6d199857f28c.ts -vf subtitles=transcript/1194-audio-1b79ae23-c68e-4096-a5a0-62d0ea3eb403.srt:force_style='Alignment=2,MarginV=20' -c:v libx264 -profile:v main -preset:v medium -tune zerolatency -bf 0 -c:a aac -copyts -y transcript/1194-overlay-8e3364c7-c463-450f-b7a9-be5e8df22dfd.ts
ffmpeg version 5.0.2 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.2)
  configuration: --enable-pthreads --extra-libs=-lpthread --pkg-config-flags=--static --disable-shared --enable-static --enable-gpl --enable-nonfree --enable-postproc --enable-bzlib --enable-zlib --enable-libx264 --enable-libmp3lame --enable-libfdk-aac --enable-libxml2 --enable-demuxer=dash --enable-openssl --enable-protocol=tls --enable-protocol=rtmps --enable-filter=drawtext --enable-libfreetype --enable-libfontconfig --enable-libass --enable-libsrt --enable-nvdec --enable-nvenc --enable-cuda --enable-cuvid --enable-cuda-nvcc --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64
  libavutil      57. 17.100 / 57. 17.100
  libavcodec     59. 18.100 / 59. 18.100
  libavformat    59. 16.100 / 59. 16.100
  libavdevice    59.  4.100 / 59.  4.100
  libavfilter     8. 24.100 /  8. 24.100
  libswscale      6.  4.100 /  6.  4.100
  libswresample   4.  3.100 /  4.  3.100
  libpostproc    56.  3.100 / 56.  3.100
[h264 @ 0x55d3c525d380] illegal POC type 14
[h264 @ 0x55d3c525d380] non-existing PPS 2 referenced
[h264 @ 0x55d3c525d380] missing picture in access unit with size 21319
[extract_extradata @ 0x55d3c52b4440] Invalid NAL unit 0, skipping.
    Last message repeated 11 times
[h264 @ 0x55d3c525d380] Invalid NAL unit 0, skipping.
    Last message repeated 11 times
[h264 @ 0x55d3c525d380] non-existing PPS 2 referenced
[h264 @ 0x55d3c525d380] decode_slice_header error
[h264 @ 0x55d3c525d380] no frame!
[extract_extradata @ 0x55d3c52b4440] Invalid NAL unit 0, skipping.
    Last message repeated 6 times
[h264 @ 0x55d3c525d380] Invalid NAL unit 0, skipping.
    Last message repeated 6 times
[h264 @ 0x55d3c525d380] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x55d3c525d380] If you want to help, upload a sample of this file to https://streams.videolan.org/upload/ and contact the ffmpeg-devel mailing list. ([email protected])
[h264 @ 0x55d3c525d380] no frame!
[h264 @ 0x55d3c525d380] non-existing PPS 3 referenced
[extract_extradata @ 0x55d3c52b4440] Invalid NAL unit 0, skipping.
    Last message repeated 2 times
[h264 @ 0x55d3c525d380] Invalid NAL unit 0, skipping.
    Last message repeated 2 times
[h264 @ 0x55d3c525d380] no frame!
[h264 @ 0x55d3c525d380] non-existing PPS 1 referenced
[h264 @ 0x55d3c525d380] Invalid NAL unit 0, skipping.
    Last message repeated 3 times
[h264 @ 0x55d3c525d380] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x55d3c525d380] If you want to help, upload a sample of this file to https://streams.videolan.org/upload/ and contact the ffmpeg-devel mailing list. ([email protected])
[h264 @ 0x55d3c525d380] no frame!
[h264 @ 0x55d3c525d380] time_scale/num_units_in_tick invalid or unsupported (0/3745513472)
[h264 @ 0x55d3c525d380] Overread VUI by 8 bits
[h264 @ 0x55d3c525d380] FMO is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x55d3c525d380] missing picture in access unit with size 92262
[h264 @ 0x55d3c525d380] Invalid NAL unit 0, skipping.
    Last message repeated 18 times
[h264 @ 0x55d3c525d380] sps_id 2 out of range
[h264 @ 0x55d3c525d380] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x55d3c525d380] If you want to help, upload a sample of this file to https://streams.videolan.org/upload/ and contact the ffmpeg-devel mailing list. ([email protected])
[h264 @ 0x55d3c525d380] no frame!
[h264 @ 0x55d3c525d380] SEI type 48 size 1712 truncated at 176
[h264 @ 0x55d3c525d380] missing picture in access unit with size 4945
[h264 @ 0x55d3c525d380] Invalid NAL unit 0, skipping.
    Last message repeated 1 times
[h264 @ 0x55d3c525d380] SEI type 48 size 1712 truncated at 147
[h264 @ 0x55d3c525d380] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x55d3c525d380] If you want to help, upload a sample of this file to https://streams.videolan.org/upload/ and contact the ffmpeg-devel mailing list. ([email protected])
[h264 @ 0x55d3c525d380] no frame!
[h264 @ 0x55d3c525d380] missing picture in access unit with size 24043
[h264 @ 0x55d3c525d380] Invalid NAL unit 0, skipping.
    Last message repeated 7 times
[h264 @ 0x55d3c525d380] sps_id 2 out of range
[h264 @ 0x55d3c525d380] no frame!
[h264 @ 0x55d3c525d380] missing picture in access unit with size 1441
[h264 @ 0x55d3c525d380] Invalid NAL unit 0, skipping.
    Last message repeated 2 times
[h264 @ 0x55d3c525d380] no frame!
[mpegts @ 0x55d3c5256740] Could not find codec parameters for stream 1 (Video: h264 ([27][0][0][0] / 0x001B), none): unspecified size
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
Input #0, mpegts, from 'transcript/1194-org-ecea8993-3b9c-4ec4-a82d-6d199857f28c.ts':
  Duration: 00:00:11.35, start: 0.683000, bitrate: 184 kb/s
  Program 1 
  Stream #0:0[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 130 kb/s
  Stream #0:1[0x100]: Video: h264 ([27][0][0][0] / 0x001B), none, 23.50 tbr, 90k tbn
Stream mapping:
  Stream #0:1 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:0 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[NULL @ 0x55d3c525d380] illegal POC type 14
[NULL @ 0x55d3c525d380] non-existing PPS 2 referenced
[NULL @ 0x55d3c525d380] missing picture in access unit with size 21319
[h264 @ 0x55d3c5302ac0] Invalid NAL unit 0, skipping.
    Last message repeated 11 times
[h264 @ 0x55d3c5302ac0] non-existing PPS 2 referenced
[h264 @ 0x55d3c5302ac0] decode_slice_header error
[h264 @ 0x55d3c5302ac0] no frame!
[NULL @ 0x55d3c525d380] non-existing PPS 3 referenced
[h264 @ 0x55d3c529c180] Invalid NAL unit 0, skipping.
    Last message repeated 6 times
[h264 @ 0x55d3c529c180] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x55d3c529c180] If you want to help, upload a sample of this file to https://streams.videolan.org/upload/ and contact the ffmpeg-devel mailing list. ([email protected])
[h264 @ 0x55d3c529c180] no frame!
[h264 @ 0x55d3c52ae940] Invalid NAL unit 0, skipping.
    Last message repeated 2 times
[h264 @ 0x55d3c52ae940] no frame!
[NULL @ 0x55d3c525d380] non-existing PPS 1 referenced
[NULL @ 0x55d3c525d380] time_scale/num_units_in_tick invalid or unsupported (0/3745513472)
[NULL @ 0x55d3c525d380] Overread VUI by 8 bits
[NULL @ 0x55d3c525d380] FMO is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[NULL @ 0x55d3c525d380] missing picture in access unit with size 92262
[h264 @ 0x55d3c529f980] Invalid NAL unit 0, skipping.
    Last message repeated 3 times
[h264 @ 0x55d3c529f980] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x55d3c529f980] If you want to help, upload a sample of this file to https://streams.videolan.org/upload/ and contact the ffmpeg-devel mailing list. ([email protected])
[h264 @ 0x55d3c529f980] no frame!
[h264 @ 0x55d3c542a680] Invalid NAL unit 0, skipping.
    Last message repeated 18 times
[h264 @ 0x55d3c542a680] sps_id 2 out of range
[h264 @ 0x55d3c542a680] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x55d3c542a680] If you want to help, upload a sample of this file to https://streams.videolan.org/upload/ and contact the ffmpeg-devel mailing list. ([email protected])
[h264 @ 0x55d3c542a680] no frame!
[NULL @ 0x55d3c525d380] SEI type 48 size 1712 truncated at 176
[NULL @ 0x55d3c525d380] missing picture in access unit with size 4945
[h264 @ 0x55d3c5361800] Invalid NAL unit 0, skipping.
    Last message repeated 1 times
[h264 @ 0x55d3c5361800] SEI type 48 size 1712 truncated at 147
[h264 @ 0x55d3c5361800] data partitioning is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[h264 @ 0x55d3c5361800] If you want to help, upload a sample of this file to https://streams.videolan.org/upload/ and contact the ffmpeg-devel mailing list. ([email protected])
[h264 @ 0x55d3c5361800] no frame!
[NULL @ 0x55d3c525d380] missing picture in access unit with size 24043
[NULL @ 0x55d3c525d380] missing picture in access unit with size 1441
[h264 @ 0x55d3c5377000] Invalid NAL unit 0, skipping.
    Last message repeated 7 times
[h264 @ 0x55d3c5377000] sps_id 2 out of range
[h264 @ 0x55d3c5377000] no frame!
[h264 @ 0x55d3c538b400] Invalid NAL unit 0, skipping.
    Last message repeated 2 times
[h264 @ 0x55d3c538b400] no frame!
Error while decoding stream #0:1: Invalid data found when processing input
    Last message repeated 7 times
Cannot determine format of input stream 0:1 after EOF
Error marking filters as finished
[aac @ 0x55d3c52fbf40] Qavg: 2861.542
[aac @ 0x55d3c52fbf40] 2 frames left in the queue on closing
Conversion failed!

@limjoe
Copy link
Contributor Author

limjoe commented Jul 18, 2024

it seems that if one ffmpeg command failed, then this failed ffmpeg will keep trying again, which will cause the entire queue to appear to not continue running

@winlinvip winlinvip changed the title AI transcription: Live Segments Queue not being consumed normally, Overlay Subtitle Queue has no more latest translation results. Transcript: Queue is stuck when FFmpeg overlay failed Jul 18, 2024
@winlinvip winlinvip self-assigned this Jul 18, 2024
@limjoe
Copy link
Contributor Author

limjoe commented Jul 24, 2024

There is no problem with streaming with vMix and OBS

I found that when AI subtitle stream, such as live/livestream, is pushed back to the same Oryx ai/livestream channel, AI transcription will use the slices of the ai/livestream channel for translation. During the operation, some of the ai/livestream video slices will cause ffmpeg to fail, leading to this problem

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working EnglishNative This issue is conveyed exclusively in English.
Projects
Status: 📋 Backlog
Development

No branches or pull requests

2 participants