Jump to content

Ffmpeg constantly crashes when skipping ahead in HEVC files


Recommended Posts

Posted

Hello

I'm having issues with ffmpeg transcoding process constantly exiting with code 137 when skipping ahead (past what's already been transcoded, I believe) in a HEVC movie. When playback is started, it works without any issues or dropped frames. Using the skip forward button in the player also works. But as soon as I use the slider to, for example, skip ahead to minute 30, playback stops indefinitely and ffmpeg crashes immediately once Emby attempts to run it. This results in a loop where ffmpeg crashes - and Emby tries restarting it.

Skipping ahead in H.264 works without any issues.

The full logs are attached but I believe I have identified the importants parts:

The transcode is started successfully (Line 55):

2024-10-06 15:11:43.570 Info App: ProcessRun 'StreamTranscode 099307' Execute: /opt/emby-server/bin/ffmpeg -loglevel +timing -y -print_graphs_file "/var/lib/emby/logs/ffmpeg-remux-099307e3-030d-43c4-a1a1-d7c09e9c469b_1graph.txt" ...

Once I skip forward, this happens (Starts at line line 106):

2024-10-06 15:11:56.832 Info App: ProcessRun 'StreamTranscode e62881' Execute: /opt/emby-server/bin/ffmpeg -loglevel +timing -y -print_graphs_file "/var/lib/emby/logs/ffmpeg-remux-e62881af-285a-40de-a91b-61abeae82d5f_1graph.txt" -copyts -start_at_zero -f matroska,webm -ss 00:47:36.000 -noaccurate_seek -c:v:0 hevc -noautorotate -i "/opt/video/Moviefile.mkv" -map 0:0 -map 0:1 -sn -c:v:0 copy -bsf:v:0 hevc_mp4toannexb -c:a:0 libmp3lame -ab:a:0 192000 -ac:a:0 2 -metadata:s:a:0 language=eng -filter:a:0 "volume=2" -disposition:a:0 default -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -map_chapters -1 -segment_format mpegts -segment_list "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_time_delta -00:47:36.000 -segment_start_number 476 -break_non_keyframes 1 -individual_header_trailer 0 -write_header_trailer 0 -segment_write_temp 1 "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_%d.ts" -map 0:2 -vn -an -c:s:0 webvtt -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -segment_format webvtt -segment_list "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s2.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_start_number 476 -break_non_keyframes 1 -individual_header_trailer 1 -write_header_trailer 0 -write_empty_segments 1 -segment_write_temp 1 -min_frame_time 00:47:36.000 "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s2_%d.vtt" -map 0:3 -vn -an -c:s:0 webvtt -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -segment_format webvtt -segment_list "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s3.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_start_number 476 -break_non_keyframes 1 -individual_header_trailer 1 -write_header_trailer 0 -write_empty_segments 1 -segment_write_temp 1 -min_frame_time 00:47:36.000 "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s3_%d.vtt" -map 0:4 -vn -an -c:s:0 webvtt -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -segment_format webvtt -segment_list "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s4.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_start_number 476 -break_non_keyframes 1 -individual_header_trailer 1 -write_header_trailer 0 -write_empty_segments 1 -segment_write_temp 1 -min_frame_time 00:47:36.000 "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s4_%d.vtt" -map 0:5 -vn -an -c:s:0 webvtt -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -segment_format webvtt -segment_list "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s5.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_start_number 476 -break_non_keyframes 1 -individual_header_trailer 1 -write_header_trailer 0 -write_empty_segments 1 -segment_write_temp 1 -min_frame_time 00:47:36.000 "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s5_%d.vtt" -map 0:6 -vn -an -c:s:0 webvtt -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -segment_format webvtt -segment_list "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s6.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_start_number 476 -break_non_keyframes 1 -individual_header_trailer 1 -write_header_trailer 0 -write_empty_segments 1 -segment_write_temp 1 -min_frame_time 00:47:36.000 "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s6_%d.vtt" -map 0:7 -vn -an -c:s:0 webvtt -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -segment_format webvtt -segment_list "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s7.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_start_number 476 -break_non_keyframes 1 -individual_header_trailer 1 -write_header_trailer 0 -write_empty_segments 1 -segment_write_temp 1 -min_frame_time 00:47:36.000 "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s7_%d.vtt"
2024-10-06 15:12:06.725 Info Server: http/2 GET https://emby_remote_ip/emby/videos/409061/hls1/main/476.ts?PlaySessionId=7a4f504edb5649789feb21a6bcbd4c62. Source Ip: host1, Accept=*/*, Host=emby_remote_ip, User-Agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36, :method=GET, Accept-Encoding=gzip, deflate, br, zstd, Accept-Language=en-US,en;q=0.9,sv;q=0.8, Referer=host2, sec-ch-ua="Chromium";v="128", "Not;A=Brand";v="24", "Google Chrome";v="128", sec-ch-ua-mobile=?0, sec-ch-ua-platform="Windows", sec-fetch-site=same-origin, sec-fetch-mode=cors, sec-fetch-dest=empty, priority=u=1, i
2024-10-06 15:12:06.727 Info App: ProcessRun 'StreamTranscode e62881': Stopping ffmpeg process with q command for /var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_476.ts
2024-10-06 15:12:06.826 Info App: ProcessRun 'StreamTranscode e62881': Stopping ffmpeg process with q command for /var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_476.ts
2024-10-06 15:12:06.828 Info App: AppendExtraLogData - Read graph file: /var/lib/emby/logs/ffmpeg-remux-e62881af-285a-40de-a91b-61abeae82d5f_1graph.txt
2024-10-06 15:12:06.828 Warn App: AppendExtraLogData: Unable read graph output file: /var/lib/emby/logs/ffmpeg-remux-e62881af-285a-40de-a91b-61abeae82d5f_1graph.txt
----> Ffmpeg shuts down - 2024-10-06 15:12:06.839 Info App: ProcessRun 'StreamTranscode e62881' Process exited with code 137 - Failed
----> And is restarted - 2024-10-06 15:12:06.867 Info App: ProcessRun 'StreamTranscode acfc2f' Execute: /opt/emby-server/bin/ffmpeg ...

 

Ffmpeg seems to crash pretty much immediately, but there is no indication as to why (from the ffmpeg log):

/opt/emby-server/bin/ffmpeg -loglevel +timing -y -print_graphs_file "/var/lib/emby/logs/ffmpeg-remux-e62881af-285a-40de-a91b-61abeae82d5f_1graph.txt" -copyts -start_at_zero -f matroska,webm -ss 00:47:36.000 -noaccurate_seek -c:v:0 hevc -noautorotate -i "/opt/video/movies/The Kissing Booth 3 (2021)/The Kissing Booth 3 (2021) {imdb-tt12783454} [Hybrid NF][WEBDL-2160p][DV HDR10][EAC3 5.1][h265]-SiC.mkv" -map 0:0 -map 0:1 -sn -c:v:0 copy -bsf:v:0 hevc_mp4toannexb -c:a:0 libmp3lame -ab:a:0 192000 -ac:a:0 2 -metadata:s:a:0 language=eng -filter:a:0 "volume=2" -disposition:a:0 default -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -map_chapters -1 -segment_format mpegts -segment_list "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_time_delta -00:47:36.000 -segment_start_number 476 -break_non_keyframes 1 -individual_header_trailer 0 -write_header_trailer 0 -segment_write_temp 1 "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_%d.ts" -map 0:2 -vn -an -c:s:0 webvtt -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -segment_format webvtt -segment_list "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s2.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_start_number 476 -break_non_keyframes 1 -individual_header_trailer 1 -write_header_trailer 0 -write_empty_segments 1 -segment_write_temp 1 -min_frame_time 00:47:36.000 "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s2_%d.vtt" -map 0:3 -vn -an -c:s:0 webvtt -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -segment_format webvtt -segment_list "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s3.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_start_number 476 -break_non_keyframes 1 -individual_header_trailer 1 -write_header_trailer 0 -write_empty_segments 1 -segment_write_temp 1 -min_frame_time 00:47:36.000 "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s3_%d.vtt" -map 0:4 -vn -an -c:s:0 webvtt -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -segment_format webvtt -segment_list "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s4.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_start_number 476 -break_non_keyframes 1 -individual_header_trailer 1 -write_header_trailer 0 -write_empty_segments 1 -segment_write_temp 1 -min_frame_time 00:47:36.000 "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s4_%d.vtt" -map 0:5 -vn -an -c:s:0 webvtt -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -segment_format webvtt -segment_list "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s5.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_start_number 476 -break_non_keyframes 1 -individual_header_trailer 1 -write_header_trailer 0 -write_empty_segments 1 -segment_write_temp 1 -min_frame_time 00:47:36.000 "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s5_%d.vtt" -map 0:6 -vn -an -c:s:0 webvtt -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -segment_format webvtt -segment_list "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s6.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_start_number 476 -break_non_keyframes 1 -individual_header_trailer 1 -write_header_trailer 0 -write_empty_segments 1 -segment_write_temp 1 -min_frame_time 00:47:36.000 "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s6_%d.vtt" -map 0:7 -vn -an -c:s:0 webvtt -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -segment_format webvtt -segment_list "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s7.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_start_number 476 -break_non_keyframes 1 -individual_header_trailer 1 -write_header_trailer 0 -write_empty_segments 1 -segment_write_temp 1 -min_frame_time 00:47:36.000 "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s7_%d.vtt"

15:11:56.846 ffmpeg version 5.1-emby_2023_06_25 Copyright (c) 2000-2022 the FFmpeg developers and softworkz for Emby LLC
15:11:56.847 built with gcc 10.3.0 (crosstool-NG 1.25.0)
15:11:56.847 Execution Date: 2024-10-06 15:11:56
 
======= ExtraData
....

 

After a while, Emby throws an error message in the log (Line 160): 

2024-10-06 15:13:04.409 Info App: ProcessRun 'StreamTranscode 653848' Process exited with code 137 - Failed
2024-10-06 15:13:04.412 Error Server: Error processing request
	*** Error Report ***
	Version: 4.8.10.0
	Command line: /opt/emby-server/system/EmbyServer.dll -programdata /var/lib/emby -ffdetect /opt/emby-server/bin/ffdetect -ffmpeg /opt/emby-server/bin/ffmpeg -ffprobe /opt/emby-server/bin/ffprobe -restartexitcode 3 -updatepackage emby-server-rpm_{version}_x86_64.rpm
	Operating system: Linux version 4.18.0-553.8.1.el8_10.x86_64 (mockbuild@x64-builder01.almalinux.org) (gcc version 8.5.0 20210514 (Red Hat 8.5.0-22) (GCC)) #1 SMP Tue Ju
	Framework: .NET 6.0.31
	OS/Process: x64/x64
	Runtime: opt/emby-server/system/System.Private.CoreLib.dll
	Processor count: 16
	Data path: /var/lib/emby
	Application path: /opt/emby-server/system
	Emby.Server.MediaEncoding.Unified.Ffmpeg.FfRunException: Emby.Server.MediaEncoding.Unified.Ffmpeg.FfRunException: Error starting ffmpeg
	-loglevel +timing -y -print_graphs_file "/var/lib/emby/logs/ffmpeg-remux-653848c2-d20a-44da-a50a-d92ab0bcd396_1graph.txt" -copyts -start_at_zero -f matroska,webm -ss 00:47:36.000 -noaccurate_seek -c:v:0 hevc -noautorotate -i "/opt/video/Moviefile.mkv" -map 0:0 -map 0:1 -sn -c:v:0 copy -bsf:v:0 hevc_mp4toannexb -c:a:0 libmp3lame -ab:a:0 192000 -ac:a:0 2 -metadata:s:a:0 language=eng -filter:a:0 "volume=2" -disposition:a:0 default -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -map_chapters -1 -segment_format mpegts -segment_list "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_time_delta -00:47:36.000 -segment_start_number 476 -break_non_keyframes 1 -individual_header_trailer 0 -write_header_trailer 0 -segment_write_temp 1 "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_%d.ts" -map 0:2 -vn -an -c:s:0 webvtt -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -segment_format webvtt -segment_list "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s2.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_start_number 476 -break_non_keyframes 1 -individual_header_trailer 1 -write_header_trailer 0 -write_empty_segments 1 -segment_write_temp 1 -min_frame_time 00:47:36.000 "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s2_%d.vtt" -map 0:3 -vn -an -c:s:0 webvtt -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -segment_format webvtt -segment_list "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s3.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_start_number 476 -break_non_keyframes 1 -individual_header_trailer 1 -write_header_trailer 0 -write_empty_segments 1 -segment_write_temp 1 -min_frame_time 00:47:36.000 "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s3_%d.vtt" -map 0:4 -vn -an -c:s:0 webvtt -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -segment_format webvtt -segment_list "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s4.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_start_number 476 -break_non_keyframes 1 -individual_header_trailer 1 -write_header_trailer 0 -write_empty_segments 1 -segment_write_temp 1 -min_frame_time 00:47:36.000 "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s4_%d.vtt" -map 0:5 -vn -an -c:s:0 webvtt -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -segment_format webvtt -segment_list "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s5.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_start_number 476 -break_non_keyframes 1 -individual_header_trailer 1 -write_header_trailer 0 -write_empty_segments 1 -segment_write_temp 1 -min_frame_time 00:47:36.000 "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s5_%d.vtt" -map 0:6 -vn -an -c:s:0 webvtt -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -segment_format webvtt -segment_list "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s6.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_start_number 476 -break_non_keyframes 1 -individual_header_trailer 1 -write_header_trailer 0 -write_empty_segments 1 -segment_write_temp 1 -min_frame_time 00:47:36.000 "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s6_%d.vtt" -map 0:7 -vn -an -c:s:0 webvtt -max_delay 5000000 -avoid_negative_ts disabled -f segment -map_metadata -1 -segment_format webvtt -segment_list "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s7.m3u8" -segment_list_type m3u8 -segment_time 00:00:06.000 -segment_start_number 476 -break_non_keyframes 1 -individual_header_trailer 1 -write_header_trailer 0 -write_empty_segments 1 -segment_write_temp 1 -min_frame_time 00:47:36.000 "/var/lib/emby/transcoding-temp/CBDDEF/CBDDEF_s7_%d.vtt"
	
	15:12:49.314 ffmpeg version 5.1-emby_2023_06_25 Copyright (c) 2000-2022 the FFmpeg developers and softworkz for Emby LLC
	15:12:49.314   built with gcc 10.3.0 (crosstool-NG 1.25.0)
	15:12:49.315 Execution Date: 2024-10-06 15:12:49
	
	
	   at Emby.Server.MediaEncoding.Api.BaseStreamingService.StartFfMpeg(StreamState state, String outputPath, CancellationToken cancellationToken, Boolean acquireResources)
	   at Emby.Server.MediaEncoding.Api.Hls.DynamicHlsService.GetDynamicSegment(StreamRequest request, String manifestAbsoluteUri, String playlistId, String segmentId, Int32 subtitleStreamIndex, AuthorizationInfo authorizationInfo)
	   at Emby.Server.Implementations.Services.ServiceController.GetTaskResult(Task task)
	   at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost httpHost, IServerApplicationHost appHost, IRequest httpReq, IResponse httpRes, IStreamHelper streamHelper, RestPath restPath, String responseContentType, CancellationToken cancellationToken)
	   at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IRequest httpReq, ReadOnlyMemory`1 urlString, ReadOnlyMemory`1 localPath, CancellationToken cancellationToken)
	Source: Emby.Server.MediaEncoding
	TargetSite: Void MoveNext()
	
2024-10-06 15:13:04.412 Info Server: http/2 Response 500 to host1. Time: 15282ms. GET https://emby_remote_ip/emby/videos/409061/hls1/main/476.ts?PlaySessionId=7a4f504edb5649789feb21a6bcbd4c62

 

Thanks in advance!

ffmpeg-remux-e62881af-285a-40de-a91b-61abeae82d5f_1 (Failed).txt ffmpeg-remux-099307e3-030d-43c4-a1a1-d7c09e9c469b_1 (Successful).txt embyserver.txt

  • 3 weeks later...
Posted

Hi, we're looking into this. Thanks for reporting.

  • 2 weeks later...
  • 1 month later...
Posted

Hi @Luke!

Is there any update in this case? Unfortunately it is still occurring.

 

Thanks!

Posted
On 12/22/2024 at 6:48 AM, grusglo said:

Hi @Luke!

Is there any update in this case? Unfortunately it is still occurring.

 

Thanks!

Hi, we're still looking into this. Thanks.

  • 5 months later...
Posted

Hi! I see there's a long list of updates in the latest beta, is any of them expected to also fix this issue? Thanks!

Posted
5 minutes ago, grusglo said:

Hi! I see there's a long list of updates in the latest beta, is any of them expected to also fix this issue? Thanks!

HI, it is certainly worth trying, yes.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...