[mythtv-users] Can't play files from Gopro h264 encoded

Erik Hjertén erik at hjerten.com
Sat Apr 11 16:56:01 UTC 2015


Hi all

I'm having trouble playing files from my Gopro 4. The files play for 
about 5 secs, and then freezes. After about 20 more secs it says 
something about "... buffering takes too long". If I then try to play 
the same file again, and I choose to play "from bookmark", the file 
plays nicely so it seems it's only a problem when playing the file from 
the beginning.

I also tried to re-encode with:

ffmpeg -i GOPR0067.MP4 -c:v libx264 -c:a copy test67.mp4

and that new file plays flawlessly. However, this is a time consuming 
workaround.

I've noticed that the network usage on the mythfrontend goes up to 100% 
when this problem occurs. Is myth trying to read the whole file or 
something?

Any help appreciated! Logs etc below.

Kind regards
/Erik


I'm running separate FE and BE on two Ubuntu 12.04 machines. Myth 
version v0.26.1-30-ge41b710.

ffmpeg on the troublesome file gives me:

ffmpeg -i GOPR0067.MP4
ffmpeg version 1.2.6-7:1.2.6-1~trusty1 Copyright (c) 2000-2014 the 
FFmpeg developers
   built on Apr 26 2014 18:52:58 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
   configuration: --arch=amd64 --disable-stripping --enable-avresample 
--enable-pthreads --enable-runtime-cpudetect 
--extra-version='7:1.2.6-1~trusty1' --libdir=/usr/lib/x86_64-linux-gnu 
--prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libfreetype 
--enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame 
--enable-librtmp --enable-libopencv --enable-libopenjpeg 
--enable-libopus --enable-libpulse --enable-libschroedinger 
--enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau 
--enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl 
--enable-postproc --enable-libcdio --enable-x11grab --enable-libx264 
--shlibdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-static
   libavutil      52. 18.100 / 52. 18.100
   libavcodec     54. 92.100 / 54. 92.100
   libavformat    54. 63.104 / 54. 63.104
   libavdevice    53.  5.103 / 53.  5.103
   libavfilter     3. 42.103 /  3. 42.103
   libswscale      2.  2.100 /  2.  2.100
   libswresample   0. 17.102 /  0. 17.102
   libpostproc    52.  2.100 / 52.  2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'GOPR0067.MP4':
   Metadata:
     major_brand     : mp41
     minor_version   : 538120216
     compatible_brands: mp41
     creation_time   : 2015-03-31 19:22:15
   Duration: 00:06:13.65, start: 0.000000, bitrate: 30170 kb/s
     Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p, 
1920x1080 [SAR 1:1 DAR 16:9], 30018 kb/s, 50 fps, 50 tbr, 90k tbn, 100 tbc
     Metadata:
       creation_time   : 2015-03-31 19:22:15
       handler_name    :     GoPro AVC
     Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, 
fltp, 128 kb/s
     Metadata:
       creation_time   : 2015-03-31 19:22:15
       handler_name    :     GoPro AAC
     Stream #0:2(eng): Data: none (tmcd / 0x64636D74)
     Metadata:
       creation_time   : 2015-03-31 19:22:15
       handler_name    :     GoPro TCD
       timecode        : 19:22:25:00
     Stream #0:3(eng): Data: none (fdsc / 0x63736466), 12 kb/s
     Metadata:
       creation_time   : 2015-03-31 19:22:15
       handler_name    :     GoPro SOS

and this is from mythfrontend:

Apr 11 18:19:51 marvin mythlogserver: mythfrontend[2635]: I CoreContext 
tv_play.cpp:1018 (TV) TV: Creating TV object
Apr 11 18:19:51 marvin mythlogserver: mythfrontend[2635]: N CoreContext 
mythmainwindow.cpp:2606 (PauseIdleTimer) Resuming idle timer
Apr 11 18:19:51 marvin mythlogserver: mythfrontend[2635]: N CoreContext 
mythmainwindow.cpp:2601 (PauseIdleTimer) Suspending idle timer
Apr 11 18:19:51 marvin mythlogserver: mythfrontend[2635]: I CoreContext 
tv_play.cpp:1235 (Init) TV: Created TvPlayWindow.
Apr 11 18:19:52 marvin mythlogserver: mythfrontend[2635]: I CoreContext 
tv_play.cpp:2158 (HandleStateChange) TV: Attempting to change from None 
to WatchingVideo
Apr 11 18:19:52 marvin mythlogserver: mythfrontend[2635]: I CoreContext 
mythcorecontext.cpp:1191 (CheckProtoVersion) Using protocol version 75
Apr 11 18:19:52 marvin mythlogserver: mythfrontend[2635]: I CoreContext 
mythcorecontext.cpp:1191 (CheckProtoVersion) Using protocol version 75
Apr 11 18:19:52 marvin mythlogserver: mythfrontend[2635]: N CoreContext 
audioplayer.cpp:167 (ReinitAudio) AudioPlayer: Enabling Audio
Apr 11 18:19:52 marvin mythlogserver: mythfrontend[2635]: I CoreContext 
avformatdecoder.cpp:2172 (ScanStreams) AFD: Opened codec 0x54e2f60, 
id(H264) type(Video)
Apr 11 18:19:52 marvin mythlogserver: mythfrontend[2635]: I CoreContext 
avformatdecoder.cpp:2021 (ScanStreams) AFD: codec AAC has 2 channels
Apr 11 18:19:52 marvin mythlogserver: mythfrontend[2635]: I CoreContext 
avformatdecoder.cpp:2172 (ScanStreams) AFD: Opened codec 0x54e3b00, 
id(AAC) type(Audio)
Apr 11 18:19:52 marvin mythlogserver: mythfrontend[2635]: I CoreContext 
audio/audiooutputbase.cpp:791 (Reconfigure) AO: Opening audio device 
'iec958:CARD=Intel,DEV=0' ch 2(2) sr 48000 sf signed 16 bit reenc 0
Apr 11 18:19:52 marvin mythlogserver: mythfrontend[2635]: E CoreContext 
audio/audiooutputalsa.cpp:783 (SetParameters) ALSA: Requested 500000us 
got 341333 buffer time
Apr 11 18:19:52 marvin mythlogserver: mythfrontend[2635]: E CoreContext 
audio/audiooutputalsa.cpp:242 (IncPreallocBufferSize) ALSA: Try to 
manually increase audio buffer with: echo 128 | sudo tee 
/proc/asound/card0/pcm1p/sub0/prealloc
Apr 11 18:19:53 marvin mythlogserver: mythfrontend[2635]: I CoreContext 
DisplayRes.cpp:162 (SwitchToVideo) Changing to 1920x1080 50.000 Hz
Apr 11 18:19:54 marvin mythlogserver: mythfrontend[2635]: I CoreContext 
mythrender_vdpau.cpp:1682 (CreatePresentationSurfaces) VDPAU: Created 2 
output surfaces.
Apr 11 18:19:54 marvin mythlogserver: mythfrontend[2635]: I CoreContext 
mythrender_vdpau.cpp:1716 (CheckHardwareSupport) VDPAU: Version 1
Apr 11 18:19:54 marvin mythlogserver: mythfrontend[2635]: I CoreContext 
mythrender_vdpau.cpp:1723 (CheckHardwareSupport) VDPAU: Information 
NVIDIA VDPAU Driver Shared Library  304.116  Mon Oct 28 21:01:40 PDT 2013
Apr 11 18:19:54 marvin mythlogserver: mythfrontend[2635]: I CoreContext 
mythrender_vdpau.cpp:402 (Create) VDPAU: Created VDPAU render device 
1920x1080
Apr 11 18:19:54 marvin mythlogserver: mythfrontend[2635]: N CoreContext 
mythplayer.cpp:519 (CheckExtraAudioDecode) Player(0): Forcing decode 
extra audio option on (Video method requires it).
Apr 11 18:19:55 marvin mythlogserver: mythfrontend[2635]: E CoreContext 
mythplayer.cpp:2347 (VideoStart) Player(0): Video sync method can't 
support double framerate (refresh rate too low for 2x deint)
Apr 11 18:19:55 marvin mythlogserver: mythfrontend[2635]: I CoreContext 
mythplayer.cpp:1752 (InitAVSync) Player(0): Video timing method: RTC
Apr 11 18:19:55 marvin mythlogserver: mythfrontend[2635]: I CoreContext 
tv_play.cpp:5294 (StartPlayer) TV: Created player.
Apr 11 18:19:55 marvin mythlogserver: mythfrontend[2635]: I CoreContext 
tv_play.cpp:2397 (HandleStateChange) TV: Changing from None to WatchingVideo
Apr 11 18:19:55 marvin mythlogserver: mythfrontend[2635]: I CoreContext 
tv_play.cpp:2488 (HandleStateChange) TV: Main UI disabled.
Apr 11 18:19:55 marvin mythlogserver: mythfrontend[2635]: I CoreContext 
tv_play.cpp:403 (StartTV) TV: Entering main playback loop.
Apr 11 18:19:55 marvin mythlogserver: mythfrontend[2635]: I CoreContext 
screensaver-x11.cpp:149 (DisableDPMS) ScreenSaverX11Private: DPMS 
Deactivated 1
Apr 11 18:19:55 marvin mythlogserver: mythfrontend[2635]: I CoreContext 
mythrender_vdpau.cpp:588 (CheckOutputSurfaces) VDPAU: Added 2 output 
surfaces (total 4, max 4)
Apr 11 18:19:59 marvin mythlogserver: mythfrontend[2635]: N CoreContext 
mythplayer.cpp:2093 (PrebufferEnoughFrames) Player(0): Waited 103ms for 
video buffers AAAAAAAAAAAALf
Apr 11 18:19:59 marvin mythlogserver: mythfrontend[2635]: N CoreContext 
mythplayer.cpp:2093 (PrebufferEnoughFrames) Player(0): Waited 204ms for 
video buffers AAAAAAAAAAAALf
Apr 11 18:19:59 marvin mythlogserver: mythfrontend[2635]: N CoreContext 
mythplayer.cpp:2093 (PrebufferEnoughFrames) Player(0): Waited 307ms for 
video buffers AAAAAAAAAAAALf
...
and so on for about 20 secs, then:
...
Apr 11 18:20:18 marvin mythlogserver: mythfrontend[2635]: N CoreContext 
mythplayer.cpp:2093 (PrebufferEnoughFrames) Player(0): Waited 19819ms 
for video buffers AAAAAAAAAAAALf
Apr 11 18:20:18 marvin mythlogserver: mythfrontend[2635]: N CoreContext 
mythplayer.cpp:2093 (PrebufferEnoughFrames) Player(0): Waited 19920ms 
for video buffers AAAAAAAAAAAALf
Apr 11 18:20:19 marvin mythlogserver: mythfrontend[2635]: E CoreContext 
mythplayer.cpp:2116 (PrebufferEnoughFrames) Player(0): Waited too long 
for decoder to fill video buffers. Exiting..
Apr 11 18:20:19 marvin mythlogserver: mythfrontend[2635]: I CoreContext 
tv_play.cpp:2158 (HandleStateChange) TV: Attempting to change from 
WatchingVideo to None
Apr 11 18:20:19 marvin mythlogserver: mythfrontend[2635]: W CoreContext 
mythplayer.cpp:2984 (PauseDecoder) Player(0): Waited 100ms for decoder 
to pause




Den 2015-04-10 19:20, dennis skrev:
>
> From everything I have read, H.265 is the "next big thing" and will be 
> used with 4K bluray and is also part of the DVB-T2 standard.  I just 
> started using it to compress 4K home videos down to a decent size.  
> Encoding takes forever (I'm getting about 5 fps encoding) , but the 
> quality is incredible!
>
> I know there is currently software support for H.265 currently in 
> ffmpeg (via libx265) and vlc.   I tried one of my H.265 encodings ( 
> which works perfectly with VLC ) but just audio from within mythtv.   
> In looking at the Nvidia  documentation it also looks like hardware 
> (VDPAU) decode  H.265 it is supported with driver vers. 349.12 for 2nd 
> gen maxwell cards.
>
> Does anyone know if or when H.265 support is planned for mythtv?
>
> Thanks,
> Dennis
> _______________________________________________
> mythtv-users mailing list
> mythtv-users at mythtv.org
> http://lists.mythtv.org/mailman/listinfo/mythtv-users
> http://wiki.mythtv.org/Mailing_List_etiquette
> MythTV Forums: https://forum.mythtv.org



More information about the mythtv-users mailing list