95% of Videos Fail To Play with "Conversion Failed. Transcoder Crashed..."

After an amazing airdrop of Plex developer expertise a couple months back, my last problem with my 3000+ music videos failing to play was fully resolved. Turns out the Transcoder path was wrong and the LOGs made troubleshooting tough since they simply reported an access error. THANK YOU AGAIN FOR FIXING ME UP (you know who you are!).

Unfortunately, the latest Plex version 1.2.2.2857 on my Synology NAS 1815+ fails to play 95% of videos via Plex Web, 20% of my videos via Roku. These are the same videos that previously ALL played without issue after Plex Gurus united to make me whole again.

Repro Steps

Whether through Plex Web or Roku interface, go to Music Videos library (a Home Video library of 3500+ music videos), select the item to Shuffle All to play all videos randomly.

Error Behaviors

Through Plex Web - 95% failure rate. When failing, Plex attempts to play the video for 20-30 seconds then (95% of the time) fails with the error message stating, “Conversion Failed. The transcoder crashed or failed to start up. Its exit code was 1” Sometimes it also says, “Skipping in 5…4…3…2…1 seconds” - sometimes it doesn’t. If it displays the “Skipping…” message, it attempts to play the next video and fails again. When there’s no “Skipping…” message, it just sits there with the “Conversion failed…” message until I click anywhere within the web interface - then it returns to the Music Videos library screen.

Through Roku Interface - 20% failure rate. The Roku interface will display 13%, 33%, then skip back to 13%, 33%, then repeat it a third time after which it fails with the message stating, “Playback has stopped due to multiple playback errors. Please check your connection and try again.” When I click OK, it prompts whether I want to continue playing videos. When I say yes, I basically roll the dice again as it attempts to play my videos. 20% of the time, it will fail.

Commonalities: The videos that fail to play via Plex Web, consistently fail to play via Plex Web video shuffle (I retry the specific video that failed, and it fails individually). Same with Roku interface; those that fail to play via shuffle, I attempt to play individually and they fail again consistently. I’ve reanalyzed the library a couple times (no change). I’ve restarted the Synology Diskstation (no change). I’ve reinstalled the same Plex version on top of itself (1.2.2) with no change.

I’m back in a bad spot with Plex and I’d like to get to help make my beloved Plex work again. LOGs attached.

In your logs, aside from the extremely old log dates… (March ?) I see:

Note there is something wrong with the audio from PMS’s standpoint. (the ’ no decoder’ error)

Can you please pull up the media info and / or get raw ffmpeg -i input_file_name output for this file and attach with your next post?

Oct 11, 2016 17:50:29.312 [0xe2911b40] DEBUG - [Universal] Using local file path instead of URL: /volume1/MTV/David Bowie - Magic Dance (MPG).mpg
Oct 11, 2016 17:50:29.316 [0xe2911b40] DEBUG - Job running: FFMPEG_EXTERNAL_LIBS='/volume1/Plex/Library/Application\ Support/Plex\ Media\ Server/Codecs/5a2d9a2-1127-linux-synology-i686/' XDG_CACHE_HOME='/volume1/Plex/Library/Application Support/Plex Media Server/Cache/' XDG_DATA_HOME='/volume1/@appstore/Plex Media Server/Resources/' X_PLEX_TOKEN='xxxxxxxxxxxxxxxxxxxx' '/volume1/@appstore/Plex Media Server/Plex Transcoder' '-codec:#0x1e0' 'mpeg2video' '-i' '/volume1/MTV/David Bowie - Magic Dance (MPG).mpg' '-filter_complex' '[0:#0x1e0]yadif[1];[1]scale=w=min(720\,iw):h=min(480\,ih):force_original_aspect_ratio=decrease[0]' '-map' '[0]' '-codec:0' 'libx264' '-crf:0' '17' '-pix_fmt:0' 'yuv420p' '-maxrate:0' '12000k' '-bufsize:0' '24000k' '-r:0' '29.969999999999999' '-preset:0' 'veryfast' '-level:0' '4.1' '-x264opts:0' 'subme=2:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none' '-force_key_frames:0' 'expr:gte(t,0+n_forced*7)' '-map' '0:#0xa0' '-codec:1' 'aac' '-ar:1' '96000' '-channel_layout:1' 'stereo' '-b:1' '241k' '-segment_format' 'mpegts' '-f' 'segment' '-flags' '-global_header' '-segment_time' '7' '-segment_start_number' '0' '-segment_copyts' '1' '-segment_time_delta' '0.0625' '-max_delay' '5000000' '-avoid_negative_ts' 'disabled' '-map_metadata' '-1' '-map_chapters' '-1' 'media-%05d.ts' '-start_at_zero' '-copyts' '-vsync' 'cfr' '-y' '-nostats' '-loglevel' 'quiet' '-loglevel_plex' 'error' '-progressurl' 'http://127.0.0.1:32400/video/:/transcode/session/Plex1GU44P104036/progress'
Oct 11, 2016 17:50:29.559 [0xf0111b40] DEBUG - Auth: We found auth token (xxxxxxxxxxxxxxxxxxxx), enabling token-based authentication.
Oct 11, 2016 17:50:29.559 [0xf0111b40] DEBUG - Auth: Came in with the master token, authorization succeeded.
Oct 11, 2016 17:50:29.559 [0xe57ffb40] DEBUG - Request: [127.0.0.1:53399 (Loopback)] PUT /video/:/transcode/session/Plex1GU44P104036/progress?index=1&id=480&codec=mpeg2video&type=video (12 live) Signed-in Token (dugn)
Oct 11, 2016 17:50:29.560 [0xf0111b40] DEBUG - Completed: [127.0.0.1:53399] 206 PUT /video/:/transcode/session/Plex1GU44P104036/progress?index=1&id=480&codec=mpeg2video&type=video (12 live) 0ms 190 bytes
Oct 11, 2016 17:50:29.561 [0xf0111b40] DEBUG - Auth: We found auth token (xxxxxxxxxxxxxxxxxxxx), enabling token-based authentication.
Oct 11, 2016 17:50:29.562 [0xf0111b40] DEBUG - Auth: Came in with the master token, authorization succeeded.
Oct 11, 2016 17:50:29.562 [0xe9e23b40] DEBUG - Request: [127.0.0.1:53400 (Loopback)] PUT /video/:/transcode/session/Plex1GU44P104036/progress?index=2&id=160&codec=pcm_dvd&type=audio (13 live) Signed-in Token (dugn)
Oct 11, 2016 17:50:29.563 [0xf0111b40] DEBUG - Completed: [127.0.0.1:53400] 206 PUT /video/:/transcode/session/Plex1GU44P104036/progress?index=2&id=160&codec=pcm_dvd&type=audio (13 live) 0ms 190 bytes
Oct 11, 2016 17:50:29.579 [0xf03ffb40] DEBUG - Auth: We found auth token (xxxxxxxxxxxxxxxxxxxx), enabling token-based authentication.
Oct 11, 2016 17:50:29.579 [0xf03ffb40] DEBUG - Auth: authenticated user 1 as dugn
Oct 11, 2016 17:50:29.579 [0xf03ffb40] DEBUG - Auth: Came in with a super-token, authorization succeeded.
Oct 11, 2016 17:50:29.580 [0xeed11b40] DEBUG - Request: [192.168.0.46:50217 (Subnet)] GET /photo/:/transcode?width=1680&height=1050&url=http%3A%2F%2F127.0.0.1%3A32400%2Flibrary%2Fmetadata%2F147947%2Fart%2F1435429306%3FX-Plex-Token%3Dxxxxxxxxxxxxxxxxxxxx&minSize=0&background=2c2c2c&blur=6&opacity=100&saturation=50 (13 live) TLS GZIP Signed-in Token (dugn)
Oct 11, 2016 17:50:29.580 [0xeed11b40] DEBUG - Photo transcoder: Request for url [127.0.0.1:32400/library/metadata/147947/art/1435429306?X-Plex-Token=xxxxxxxxxxxxxxxxxxxx] (is local: 1 upscaled: 0)
Oct 11, 2016 17:50:29.597 [0xe2911b40] DEBUG -  [FFMPEG] Duration: 311
Oct 11, 2016 17:50:29.597 [0xe2911b40] DEBUG - Read line, and done: 1
Oct 11, 2016 17:50:29.597 [0xe2911b40] DEBUG - Started session successfully: Plex1GU44P104036
Oct 11, 2016 17:50:29.597 [0xe2911b40] DEBUG - HLS: Building an M3U8 for 311 total seconds with 7 seconds/segment, target duration of 7.
Oct 11, 2016 17:50:29.599 [0xeb111b40] ERROR - [Transcoder] No decoder for stream #0:2, filtering impossible
Oct 11, 2016 17:50:29.600 [0xf03ffb40] DEBUG - Completed: [192.168.0.49:59924] 200 GET /video/:/transcode/universal/session/Plex1GU44P104036/base/index.m3u8 (15 live) TLS GZIP 309ms 618 bytes (pipelined: 2)
Oct 11, 2016 17:50:29.602 [0xe67ffb40] ? - [Transcoder] Error opening filters!
Oct 11, 2016 17:50:29.605 [0xeed11b40] DEBUG - Auth: We found auth token (xxxxxxxxxxxxxxxxxxxx), enabling token-based authentication.
Oct 11, 2016 17:50:29.605 [0xeed11b40] DEBUG - Auth: authenticated user 1 as dugn
Oct 11, 2016 17:50:29.605 [0xeed11b40] DEBUG - Auth: Came in with a super-token, authorization succeeded.
Oct 11, 2016 17:50:29.609 [0xf13ffb40] ERROR - JobManager: child process returned: 1 (Operation not permitted)
Oct 11, 2016 17:50:29.610 [0xeed11b40] WARN - SLOW QUERY: It took 290.000000 ms to retrieve 1 items.
Oct 11, 2016 17:50:29.611 [0xeed11b40] DEBUG - Calculated media file path for item 147947: /volume1/Plex/Library/Application Support/Plex Media Server/Media/localhost/4/2c2d0ad85c927a7ba4413a3620624546d9def1e.bundle/Contents/Art/art3.jpg
Oct 11, 2016 17:50:29.661 [0xf0111b40] DEBUG - Auth: We found auth token (xxxxxxxxxxxxxxxxxxxx), enabling token-based authentication.

I wasn’t sure how to get the ffmpeg output. But here’s Plex’s take from the interface:

<MediaContainer size="1" allowSync="1" identifier="com.plexapp.plugins.library" librarySectionID="3" librarySectionTitle="Music Videos" librarySectionUUID="2a4c4aec-664f-4f55-bee6-7236f3234b96" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1475599366">
<Video ratingKey="84373" key="/library/metadata/84373" guid="com.plexapp.agents.none://64697ed79faa923db8f1b8cc950a3fe43c136fc9?lang=xn" librarySectionID="3" type="movie" title="David Bowie - Magic Dance (MPG)" summary="" viewCount="3" lastViewedAt="1474233135" year="2014" thumb="/library/metadata/84373/thumb/1475400583" art="/library/metadata/84373/art/1475400583" duration="311073" originallyAvailableAt="2014-09-19" addedAt="1422254119" updatedAt="1475400583" chapterSource="">
<Media videoResolution="480" id="70890" duration="311073" bitrate="10087" width="720" height="480" aspectRatio="1.33" audioChannels="2" videoCodec="mpeg2video" container="mpeg" videoFrameRate="NTSC" videoProfile="main">
<Part accessible="1" exists="1" id="74149" key="/library/parts/74149/1411190602/file.mpg" duration="311073" file="/volume1/MTV/David Bowie - Magic Dance (MPG).mpg" size="392210432" container="mpeg" deepAnalysisVersion="1" indexes="sd" requiredBandwidths="9424,9389,9389,9389,9389,9389,9389,9389" videoProfile="main">
<Stream id="47484" streamType="1" codec="mpeg2video" index="1" bitrate="8350" bitDepth="8" chromaSubsampling="4:2:0" colorRange="tv" duration="311011" frameRate="29.970" height="480" level="8" pixelFormat="yuv420p" profile="main" refFrames="1" scanType="interlaced" streamIdentifier="480" width="720"/>
<Stream id="47485" streamType="2" selected="1" codec="pcm" index="2" channels="2" bitrate="1536" bitDepth="16" bitrateMode="cbr" duration="311073" profile="pcm_dvd" streamIdentifier="160"/>
</Part>
</Media>
<Extras size="0"></Extras>
</Video>
</MediaContainer>

And another file that failed repeatedly (in Roku and Web):

> <MediaContainer size="1" allowSync="1" identifier="com.plexapp.plugins.library" librarySectionID="3" librarySectionTitle="Music Videos" librarySectionUUID="2a4c4aec-664f-4f55-bee6-7236f3234b96" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1475599366">
<Video ratingKey="83814" key="/library/metadata/83814" guid="com.plexapp.agents.none://e919ae6e6594e5a7d0cb28cebfa342a5bc30d0f2?lang=xn" librarySectionID="3" type="movie" title="Spin Doctors - Two Princes (version 2)" summary="" viewCount="3" lastViewedAt="1474226705" year="2011" thumb="/library/metadata/83814/thumb/1475400346" art="/library/metadata/83814/art/1475400346" duration="260152" originallyAvailableAt="2011-03-01" addedAt="1422261076" updatedAt="1475400346" chapterSource="">
<Media videoResolution="576" id="70330" duration="260152" bitrate="8193" width="720" height="576" aspectRatio="1.33" audioChannels="2" videoCodec="mpeg2video" container="mpeg" videoFrameRate="PAL" videoProfile="main">
<Part accessible="1" exists="1" id="188047" key="/library/parts/188047/1299038440/file.mpg" duration="260152" file="/volume1/MTV/Spin Doctors - Two Princes (version 2).mpg" size="266440704" container="mpeg" deepAnalysisVersion="1" indexes="sd" requiredBandwidths="8099,7940,7940,7940,7940,7940,7940,7940" videoProfile="main">
<Stream id="62125" streamType="1" codec="mpeg2video" index="1" bitrate="6494" bitDepth="8" chromaSubsampling="4:2:0" colorRange="tv" duration="260160" frameRate="25.000" height="576" level="8" pixelFormat="yuv420p" profile="main" refFrames="1" scanType="interlaced" streamIdentifier="480" width="720"/>
<Stream id="62126" streamType="2" selected="1" codec="pcm" index="2" channels="2" bitrate="1536" bitDepth="16" bitrateMode="cbr" duration="260151" profile="pcm_dvd" streamIdentifier="160"/>
</Part>
</Media>
<Extras size="0"></Extras>
</Video>
</MediaContainer>

Let me know if there’s more I can provide. Thank you!

Wow, for what you paid for that Synology NAS, you could have have made a really nice 24-bay actual server! : )

Just by looking at the specs for it, I can easily tell you that already that you really shouldn’t be running Plex from this thing, in my opinion and experience. I think these NAS devices should ONLY be used for NAS. I am sure it might run OK sometimes, but there will always be issues with it and it’s only going to get worse with higher quality content.

You can test this by downloading Plex for say a Windows or another Linux box and running it from an actual computer/server pointing to the NAS to just get the media and you will see that all the media plays just fine. It’s not possible 95% of your media has issue with Plex in general.

To my point, the Roku has about as much power and ram as this thing does. : P

Hell, I used to use a desktop computer with an AMD FX8350 8-core CPU/ 32 GB ram and even it had a hard time a lot of times.

@Jusedawg

Everyone has the right to choose what they want as a solution just as you chose yours. I am curious how your experience with Synology NAS units was not as favorable and why you elected to go with the AMD solution. What has soured you to NAS use for PMS? Do you typically have a number of streams running concurrently such that you need the extra CPU power?

It’s been my experience that AMD, since the sold their foundry and went with APUs instead of actual CPUs, lost that which had made them a powerhouse in the video processing realm. I’m sure you’ll agree that a quad processor Opteron machine was a ‘force to be reckoned with’. That having been said, a lower-end Intel CPU and a mid AMD APU are actually a lot closer in performance than many would care to admit.

That aside, I use Synology because I’ve found that with a little forethought before putting my media in my library, I have very little need of transcoding. At most, I need audio transcoding which is trivial and easily handled by a Synology NAS. I am also a firm believer in keeping all the video bits I possibly can. This means if I can do a pure rip of the disc, mux it into a MKV file, dropping those streams I do not wish (languages typically), I do. I’m quite the firm believer in ‘work smarter, not harder, but don’t be afraid to dig in hard’. If I can make video Direct Play I do. Do the one-time upfront work period.

As further evidence of what a little NAS can do, I offer this 2 minute phone cam capture. A Synology DS1813+ (2013 model: Atom D2700 dual core) playing UHD 4K video over wifi. Total CPU utilization (PMS running native on the Synology) was just about 30%. The wifi (802.11ac) had plenty of remaining capacity to play two more streams concurrently. All 4K UHD content is encoded this way in the library. ANY of them will play with equal ease.

Your thoughts?

@dugn

Examining the logs shows PMS is looking for a decoder of type ‘PCM_DVD’ which should be fine as it is supported.

Would you consider a test case for me please? I would like to test to see if there was a regression from the fix in PMS 1.1.0 (Transcoder) Playback failures with pcm_dvd audio. (#4980)

To test this, we simply convert the audio to a different format, leaving the video unchanged.

An easy way to do this, if you’re ok with the command line, is:

  1. move the file where PMS can’t see it but keep on the NAS; Update the library; Empty Trash; Clean Bundles. This makes PMS forget the file
  2. ssh into your NAS as admin then sudo -su root to get to the root shell. Go to the directory where you moved it.
  3. ffmpeg -i name-of-file -c:v copy -c:a aac -b:a 256k new-name (keep the extension… eg ‘video.mkv’ versus ‘video-new.mkv’)
  4. Now swap the names around so you can keep them from getting confused and can roll back when done.
  5. Put the file with converted audio back where it belongs and Update the Library.
  6. When done updating, please test playback. Report your results.

Thanks for the help, @ChuckPa

Apparently my UNIX-foo is weak. I tried the command as provided and got an error:

[aac @ 0xae10a0] The encoder 'aac' is experimental but experimental codecs are not enabled, add '-strict -2' if you want to use it.
[aac @ 0xae10a0] Alternatively use the non experimental encoder 'libfaac'.

Adding -strict -2got me another error.

Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height

And other variations I tried had no better success in converting the files. FWIW, I dropped the two files into a fileshare and PM’d you the link in case that helps.

No… it’s called me being a bit tired when I type and apologize. I didn’t take into account your ffmpeg might be an older version which still had it marked as experimental.

Let’s use the AC-3 codec instead.

ffmpeg -i name-of-file -c:v copy -c:a ac3 -b:a 256k new-name

Edit: I just got the sample you sent me. Please hold off on doing anything. I need to do some further research on the best course of action.

Unknown encoder 'ac3'

FWIW: Details

admin@Server:/volume1/public$ ffmpeg -i D1.mpg -c:v copy -c:a ac3 -b:a 256k D2.mpg
ffmpeg version 2.7.1 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.9.3 (crosstool-NG 1.20.0) 20150311 (prerelease)
  configuration: --prefix=/usr --incdir='${prefix}/include/ffmpeg' --arch=i686 --target-os=linux --cross-prefix=/usr/local/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu- --enable-cross-compile --enable-optimizations --enable-pic --enable-gpl --enable-shared --disable-static --enable-version3 --enable-nonfree --enable-libfaac --enable-encoders --enable-pthreads --disable-bzlib --disable-protocol=rtp --disable-muxer=image2 --disable-muxer=image2pipe --disable-swscale-alpha --disable-ffserver --disable-ffplay --disable-devices --disable-bzlib --disable-altivec --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libmp3lame --disable-vaapi --disable-decoder=amrnb --disable-encoder=zmbv --disable-encoder=dca --disable-encoder=ac3 --disable-encoder=ac3_fixed --disable-encoder=eac3 --disable-decoder=dca --disable-decoder=eac3 --disable-decoder=truehd --cc=/usr/local/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ccache-gcc --enable-yasm --enable-libx264 --enable-encoder=libx264
  libavutil      54. 27.100 / 54. 27.100
  libavcodec     56. 41.100 / 56. 41.100
  libavformat    56. 36.100 / 56. 36.100
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 16.101 /  5. 16.101
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.100 /  1.  2.100
  libpostproc    53.  3.100 / 53.  3.100
[NULL @ 0x654f40] start time for stream 0 is not set in estimate_timings_from_pts
Guessed Channel Layout for  Input Stream #0.2 : stereo
Input #0, mpeg, from 'D1.mpg':
  Duration: 00:05:11.08, start: 0.213367, bitrate: 10086 kb/s
    Stream #0:0[0x1bf]: Data: dvd_nav_packet
    Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv), 720x480 [SAR 8:9 DAR 4:3], 8000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Stream #0:2[0xa0]: Audio: pcm_dvd, 48000 Hz, 2 channels, s16, 1536 kb/s
Unknown encoder 'ac3'

That’s what I thought. I’m using:

ffmpeg version 3.1.4 Copyright © 2000-2016 the FFmpeg developers
built with gcc 6.2.1 (GCC) 20160916 (Red Hat 6.2.1-2)

Please double check your machine’s installed software. When ‘ac3’ comes up unknown, that usually means it’s either an extremely old version of ffmpeg or the Plex version (which downloads codecs as it needs them) and not all command line options were specified (it doesn’t know where the codec is)

If you can get to version 3.anything it will be good. Please do that while i continue to research

Inquiry. How many of those videos do you have which won’t play? Do you have a count?

I’ve figured out what is happening and why. The question now is what the best course of action is.

Thanks for your help, @ChuckPa . While I could start walking through all 3500+ videos, from the shuffle all route I’ve been taking, 95% fail via Plex Web (which means I can’t view them on my desktop/laptop PCs) and ~20% on the Roku on the big screen. It’s a significant percentage for sure.

Thoughts?

Thanks for the count as that’s all I needed. That pretty much TOTALLY blows my idea out of the water unless your machine is fast enough to do what I had in mind (NOT running through HandBrake and re-encoding).

If you can bare with me a little bit more… we’ll get it. I have others looking at it now.

PM’d you more details. Thanks for your continued help, @ChuckPa !

It looks like you’ve hit on an issue that we fixed back in 1.1.0, but you’ll need to re-run analysis on the affected files for the fix to apply. Please try that, and tell us if it helps.

@rcombs - That seemed to have done it. Even though I was sure I performed a re-analyze before stating the thread.

What’s challenging is to know when I need to make a change to Plex (re-analyze or otherwise) after a version upgrade. Is it wrong to expect Plex to kick off any reanalyze, database refresh, whatever when needed after updating to a newer version - or is this just an unlucky one-off situation?

@dugn said:
What’s challenging is to know when I need to make a change to Plex (re-analyze or otherwise) after a version upgrade. Is it wrong to expect Plex to kick off any reanalyze, database refresh, whatever when needed after updating to a newer version - or is this just an unlucky one-off situation?

Usually the server will automatically re-run analysis after a relevant change; this is an unlucky one-off.

Thank you for your help @rcombs . I very much appreciate the expertise and great support the Plex team gives us humble users. All the best to you and the team - and a special shout out to @ChuckPa !

Cheers!