ytdl-org / youtube-dl

Command-line program to download videos from YouTube.com and other video sites
http://ytdl-org.github.io/youtube-dl/
The Unlicense
131.27k stars 9.94k forks source link

[ffmpeg] Merging formats into xxxxxx.mp4 ‒ERROR xxxxxxxx.temp.mp4: Invalid argument #5693

Closed Wikinaut closed 9 years ago

Wikinaut commented 9 years ago

Using a fresh OpenSuse Tumbleweed, and fresh youtube-dl, and when trying to

youtube-dl --verbose Lk0GQWlN6kc

I got this error

. . .
[debug] exe versions ffmpeg 2.6.2, ffprobe 2.6.2
. . .
[ffmpeg] Merging formats into Nancy Sinatra - These Boots Are Made for Walkin 1966 [HD 1080p] [Best Quality]-Lk0GQWlN6kc.mp4"
[debug] ffmpeg command line: ffmpeg -y -i Nancy Sinatra - These Boots Are Made for Walkin"' 1966 [HD 1080p] [Best Quality]-Lk0GQWlN6kc.f137.mp4' -i 'Nancy Sinatra - These Boots Are Made for Walkin'" 1966 [HD 1080p] [Best Quality]-Lk0GQWlN6kc.f141.m4a -c copy -map 0:v:0 -map 1:a:0 Nancy Sinatra - These Boots Are Made for Walkin"' 1966 [HD 1080p] [Best Quality]-Lk0GQWlN6kc.temp.mp4'
ERROR: Nancy Sinatra - These Boots Are Made for Walkin' 1966 [HD 1080p] [Best Quality]-Lk0GQWlN6kc.temp.mp4: Invalid argument
Traceback (most recent call last):
  File ./youtube-dl/youtube_dl/YoutubeDL.py, line 1528, in post_process
    files_to_delete, info = pp.run(info)
  File ./youtube-dl/youtube_dl/postprocessor/ffmpeg.py, line 590, in run
    self.run_ffmpeg_multiple_files(info['__files_to_merge'], temp_filename, args)
  File ./youtube-dl/youtube_dl/postprocessor/ffmpeg.py, line 148, in run_ffmpeg_multiple_files
    raise FFmpegPostProcessorError(msg)
FFmpegPostProcessorError

The real output of ffmpeg is:

Unable to find a suitable output format for xxxxxx.mp4

I don't know whether this is an ffmpeg or youtube-dl issue, perhaps anyone can help. Youtube-dl should in any case show a correct error message, perhaps with a hint, what how to overcome this problem.

dstftw commented 9 years ago

Post the full output you get when running with --verbose option.

Wikinaut commented 9 years ago

see http://dpaste.com/2SQEYVM

dstftw commented 9 years ago

Post the output of ffmpeg -version.

Wikinaut commented 9 years ago

http://dpaste.com/3ZFCQMN#wrap

jaimeMF commented 9 years ago

Could you post the output of ffmpeg -y -i 'Nancy Sinatra - These Boots Are Made for Walkin'"'"' 1966 [HD 1080p] [Best Quality]-Lk0GQWlN6kc.f137.mp4' -i 'Nancy Sinatra - These Boots Are Made for Walkin'"'"' 1966 [HD 1080p] [Best Quality]-Lk0GQWlN6kc.f141.m4a' -c copy -map 0:v:0 -map 1:a:0 'Nancy Sinatra - These Boots Are Made for Walkin'"'"' 1966 [HD 1080p] [Best Quality]-Lk0GQWlN6kc.temp.mp4'(the command listed in the youtube-dl output)? Feel free to directly paste it in the issue.

dstftw commented 9 years ago

Here is output of ffmpeg command:

ffmpeg version 2.6.2 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.8 (SUSE Linux)
  configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --incdir=/usr/include/ffmpeg --extra-cflags='-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g' --optflags='-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g' --enable-pic --disable-stripping --enable-shared --disable-static --enable-runtime-cpudetect --enable-gpl --disable-openssl --enable-frei0r --enable-gnutls --enable-libcdio --enable-libdc1394 --enable-libfreetype --enable-libgsm --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-pic --enable-pthreads --enable-vaapi --enable-vdpau --enable-x11grab --disable-encoders --disable-decoders --disable-muxers --disable-demuxers --enable-encoder='flac,gif,jpegls,libopenjpeg,libtheora,libvorbis,libvpx,png' --enable-decoder='flac,gif,jpegls,ljpeg,libopenjpeg,libtheora,libvpx,png,vorbis,vp3,vp5,vp6,vp6a,vp6f,vp8,vp9,webp' --enable-muxer='flac,gif,image2,image2pipe,matroska,matroska_audio,null,webm' --enable-demuxer='flac,gif,image2,image2pipe,matroska'
  libavutil      54. 20.100 / 54. 20.100
  libavcodec     56. 26.100 / 56. 26.100
  libavformat    56. 25.101 / 56. 25.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 11.102 /  5. 11.102
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Nancy Sinatra - These Boots Are Made for Walkin' 1966 [HD 1080p] [Best Quality]-Lk0GQWlN6kc.f137.mp4':
  Metadata:
    major_brand     : dash
    minor_version   : 0
    compatible_brands: iso6avc1mp41
    creation_time   : 2014-05-17 15:50:43
  Duration: 00:02:39.93, start: 0.000000, bitrate: 3576 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 3573 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc (default)
    Metadata:
      creation_time   : 2014-05-17 15:50:43
      handler_name    : VideoHandler
Guessed Channel Layout for  Input Stream #1.0 : stereo
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'Nancy Sinatra - These Boots Are Made for Walkin' 1966 [HD 1080p] [Best Quality]-Lk0GQWlN6kc.f141.m4a':
  Metadata:
    major_brand     : dash
    minor_version   : 0
    compatible_brands: iso6mp41
    creation_time   : 2014-05-17 15:49:32
  Duration: 00:02:40.06, start: 0.000000, bitrate: 255 kb/s
    Stream #1:0(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, 2 channels, 253 kb/s (default)
    Metadata:
      creation_time   : 2014-05-17 15:49:32
      handler_name    : SoundHandler
[NULL @ 0x187e2c0] Unable to find a suitable output format for 'Nancy Sinatra - These Boots Are Made for Walkin' 1966 [HD 1080p] [Best Quality]-Lk0GQWlN6kc.temp.mp4'
Nancy Sinatra - These Boots Are Made for Walkin' 1966 [HD 1080p] [Best Quality]-Lk0GQWlN6kc.temp.mp4: Invalid argument
jaimeMF commented 9 years ago

I think this part of the configuration is relevant:

--disable-encoders --disable-decoders --disable-muxers --disable-demuxers --enable-encoder='flac,gif,jpegls,libopenjpeg,libtheora,libvorbis,libvpx,png' --enable-decoder='flac,gif,jpegls,ljpeg,libopenjpeg,libtheora,libvpx,png,vorbis,vp3,vp5,vp6,vp6a,vp6f,vp8,vp9,webp' --enable-muxer='flac,gif,image2,image2pipe,matroska,matroska_audio,null,webm' --enable-demuxer='flac,gif,image2,image2pipe,matroska'

Does it work if you tell it you output an mkv file: ffmpeg -y -i 'Nancy Sinatra - These Boots Are Made for Walkin'"'"' 1966 [HD 1080p] [Best Quality]-Lk0GQWlN6kc.f137.mp4' -i 'Nancy Sinatra - These Boots Are Made for Walkin'"'"' 1966 [HD 1080p] [Best Quality]-Lk0GQWlN6kc.f141.m4a' -c copy -map 0:v:0 -map 1:a:0 'Nancy Sinatra - These Boots Are Made for Walkin'"'"' 1966 [HD 1080p] [Best Quality]-Lk0GQWlN6kc.temp.mkv'?

Does it works if you specify

dstftw commented 9 years ago

mkv works. Here is the output of ffmpeg -formats: Linux-4.0.1-1-desktop-x86_64-with-SuSE-20150508-x86_64:

File formats:
 D. = Demuxing supported
 .E = Muxing supported
 --
 DE alsa            ALSA audio output
 D  asf             ASF (Advanced / Active Streaming Format)
 D  dv              DV (Digital Video)
 D  dv1394          DV1394 A/V grab
 DE fbdev           Linux framebuffer
  E ffm             FFM (FFserver live feed)
 DE flac            raw FLAC
 DE gif             GIF Animation
 DE image2          image2 sequence
 DE image2pipe      piped image2 sequence
 D  jack            JACK Audio Connection Kit
 D  lavfi           Libavfilter virtual input device
 D  libcdio          
 D  libdc1394       dc1394 v.2 A/V grab
  E matroska        Matroska
 D  matroska,webm   Matroska / WebM
 D  mov,mp4,m4a,3gp,3g2,mj2 QuickTime / MOV
 D  mpegts          MPEG-TS (MPEG-2 Transport Stream)
  E null            raw null video
 DE oss             OSS (Open Sound System) playback
 DE pulse           Pulse audio output
 D  rm              RealMedia
 D  rtsp            RTSP input
  E sdl             SDL output device
  E v4l2            Video4Linux2 output device
 D  video4linux2,v4l2 Video4Linux2 device grab
  E webm            WebM
 D  x11grab         X11 screen capture, using XCB

Ubuntu:

File formats:
 D. = Demuxing supported
 .E = Muxing supported
 --
  E 3g2             3GP2 (3GPP2 file format)
  E 3gp             3GP (3GPP file format)
 D  4xm             4X Technologies
  E a64             a64 - video for Commodore 64
 D  aac             raw ADTS AAC (Advanced Audio Coding)
 DE ac3             raw AC-3
 D  act             ACT Voice file format
 D  adf             Artworx Data Format
 D  adp             ADP
  E adts            ADTS AAC (Advanced Audio Coding)
 DE adx             CRI ADX
 D  aea             MD STUDIO audio
 D  afc             AFC
 DE aiff            Audio IFF
 DE alaw            PCM A-law
 D  alias_pix       Alias/Wavefront PIX image
 DE alsa            ALSA audio output
 DE amr             3GPP AMR
 D  anm             Deluxe Paint Animation
 D  apc             CRYO APC
 D  ape             Monkey's Audio
 D  apng            Animated Portable Network Graphics
 D  aqtitle         AQTitle subtitles
 DE asf             ASF (Advanced / Active Streaming Format)
  E asf_stream      ASF (Advanced / Active Streaming Format)
 DE ass             SSA (SubStation Alpha) subtitle
 DE ast             AST (Audio Stream)
 DE au              Sun AU
 DE avi             AVI (Audio Video Interleaved)
 D  avisynth        AviSynth script
  E avm2            SWF (ShockWave Flash) (AVM2)
 D  avr             AVR (Audio Visual Research)
 D  avs             AVS
 D  bethsoftvid     Bethesda Softworks VID
 D  bfi             Brute Force & Ignorance
 D  bin             Binary text
 D  bink            Bink
 DE bit             G.729 BIT file format
 D  bmp_pipe        piped bmp sequence
 D  bmv             Discworld II BMV
 D  boa             Black Ops Audio
 D  brender_pix     BRender PIX image
 D  brstm           BRSTM (Binary Revolution Stream)
 D  c93             Interplay C93
 DE caf             Apple CAF (Core Audio Format)
 DE cavsvideo       raw Chinese AVS (Audio Video Standard) video
 D  cdg             CD Graphics
 D  cdxl            Commodore CDXL video
 D  cine            Phantom Cine
 D  concat          Virtual concatenation script
  E crc             CRC testing
  E dash            DASH Muxer
 DE data            raw data
 DE daud            D-Cinema audio
 D  dfa             Chronomaster DFA
 DE dirac           raw Dirac
 DE dnxhd           raw DNxHD (SMPTE VC-3)
 D  dpx_pipe        piped dpx sequence
 D  dsf             DSD Stream File (DSF)
 D  dsicin          Delphine Software International CIN
 D  dss             Digital Speech Standard (DSS)
 DE dts             raw DTS
 D  dtshd           raw DTS-HD
 DE dv              DV (Digital Video)
 D  dv1394          DV1394 A/V grab
 D  dvbsub          raw dvbsub
  E dvd             MPEG-2 PS (DVD VOB)
 D  dxa             DXA
 D  ea              Electronic Arts Multimedia
 D  ea_cdata        Electronic Arts cdata
 DE eac3            raw E-AC-3
 D  epaf            Ensoniq Paris Audio File
 D  exr_pipe        piped exr sequence
 DE f32be           PCM 32-bit floating-point big-endian
 DE f32le           PCM 32-bit floating-point little-endian
  E f4v             F4V Adobe Flash Video
 DE f64be           PCM 64-bit floating-point big-endian
 DE f64le           PCM 64-bit floating-point little-endian
 DE fbdev           Linux framebuffer
 DE ffm             FFM (FFserver live feed)
 DE ffmetadata      FFmpeg metadata in text
 D  film_cpk        Sega FILM / CPK
 DE filmstrip       Adobe Filmstrip
 DE flac            raw FLAC
 D  flic            FLI/FLC/FLX animation
 DE flv             FLV (Flash Video)
  E framecrc        framecrc testing
  E framemd5        Per-frame MD5 testing
 D  frm             Megalux Frame
 DE g722            raw G.722
 DE g723_1          raw G.723.1
 D  g729            G.729 raw format demuxer
 DE gif             GIF Animation
 D  gsm             raw GSM
 DE gxf             GXF (General eXchange Format)
 DE h261            raw H.261
 DE h263            raw H.263
 DE h264            raw H.264 video
  E hds             HDS Muxer
 DE hevc            raw HEVC video
  E hls             Apple HTTP Live Streaming
 D  hls,applehttp   Apple HTTP Live Streaming
 D  hnm             Cryo HNM v4
 DE ico             Microsoft Windows ICO
 D  idcin           id Cinematic
 D  idf             iCE Draw File
 D  iff             IFF (Interchange File Format)
 DE ilbc            iLBC storage
 DE image2          image2 sequence
 DE image2pipe      piped image2 sequence
 D  ingenient       raw Ingenient MJPEG
 D  ipmovie         Interplay MVE
  E ipod            iPod H.264 MP4 (MPEG-4 Part 14)
 DE ircam           Berkeley/IRCAM/CARL Sound Format
  E ismv            ISMV/ISMA (Smooth Streaming)
 D  iss             Funcom ISS
 D  iv8             IndigoVision 8000 video
 DE ivf             On2 IVF
 D  j2k_pipe        piped j2k sequence
 DE jacosub         JACOsub subtitle format
 D  jpeg_pipe       piped jpeg sequence
 D  jpegls_pipe     piped jpegls sequence
 D  jv              Bitmap Brothers JV
 DE latm            LOAS/LATM
 D  lavfi           Libavfilter virtual input device
 D  live_flv        live RTMP FLV (Flash Video)
 D  lmlm4           raw lmlm4
 D  loas            LOAS AudioSyncStream
 DE lrc             LRC lyrics
 D  lvf             LVF
 D  lxf             VR native stream (LXF)
 DE m4v             raw MPEG-4 video
  E matroska        Matroska
 D  matroska,webm   Matroska / WebM
  E md5             MD5 testing
 D  mgsts           Metal Gear Solid: The Twin Snakes
 DE microdvd        MicroDVD subtitle format
 DE mjpeg           raw MJPEG video
  E mkvtimestamp_v2 extract pts as timecode v2 format, as defined by mkvtoolnix
 DE mlp             raw MLP
 D  mlv             Magic Lantern Video (MLV)
 D  mm              American Laser Games MM
 DE mmf             Yamaha SMAF
  E mov             QuickTime / MOV
 D  mov,mp4,m4a,3gp,3g2,mj2 QuickTime / MOV
  E mp2             MP2 (MPEG audio layer 2)
 DE mp3             MP3 (MPEG audio layer 3)
  E mp4             MP4 (MPEG-4 Part 14)
 D  mpc             Musepack
 D  mpc8            Musepack SV8
 DE mpeg            MPEG-1 Systems / MPEG program stream
  E mpeg1video      raw MPEG-1 video
  E mpeg2video      raw MPEG-2 video
 DE mpegts          MPEG-TS (MPEG-2 Transport Stream)
 D  mpegtsraw       raw MPEG-TS (MPEG-2 Transport Stream)
 D  mpegvideo       raw MPEG video
  E mpjpeg          MIME multipart JPEG
 D  mpl2            MPL2 subtitles
 D  mpsub           MPlayer subtitles
 D  msnwctcp        MSN TCP Webcam stream
 D  mtv             MTV
 DE mulaw           PCM mu-law
 D  mv              Silicon Graphics Movie
 D  mvi             Motion Pixels MVI
 DE mxf             MXF (Material eXchange Format)
  E mxf_d10         MXF (Material eXchange Format) D-10 Mapping
  E mxf_opatom      MXF (Material eXchange Format) Operational Pattern Atom
 D  mxg             MxPEG clip
 D  nc              NC camera feed
 D  nistsphere      NIST SPeech HEader REsources
 D  nsv             Nullsoft Streaming Video
  E null            raw null video
 DE nut             NUT
 D  nuv             NuppelVideo
  E oga             Ogg Audio
 DE ogg             Ogg
 DE oma             Sony OpenMG audio
  E opus            Ogg Opus
 DE oss             OSS (Open Sound System) playback
 D  paf             Amazing Studio Packed Animation File
 D  pictor_pipe     piped pictor sequence
 D  pjs             PJS (Phoenix Japanimation Society) subtitles
 D  pmp             Playstation Portable PMP
 D  png_pipe        piped png sequence
  E psp             PSP MP4 (MPEG-4 Part 14)
 D  psxstr          Sony Playstation STR
 DE pulse           Pulse audio output
 D  pva             TechnoTrend PVA
 D  pvf             PVF (Portable Voice Format)
 D  qcp             QCP
 D  r3d             REDCODE R3D
 DE rawvideo        raw video
 D  realtext        RealText subtitle format
 D  redspark        RedSpark
 D  rl2             RL2
 DE rm              RealMedia
 DE roq             raw id RoQ
 D  rpl             RPL / ARMovie
 D  rsd             GameCube RSD
 DE rso             Lego Mindstorms RSO
 DE rtp             RTP output
  E rtp_mpegts      RTP/mpegts output format
 DE rtsp            RTSP output
 DE s16be           PCM signed 16-bit big-endian
 DE s16le           PCM signed 16-bit little-endian
 DE s24be           PCM signed 24-bit big-endian
 DE s24le           PCM signed 24-bit little-endian
 DE s32be           PCM signed 32-bit big-endian
 DE s32le           PCM signed 32-bit little-endian
 DE s8              PCM signed 8-bit
 D  sami            SAMI subtitle format
 DE sap             SAP output
 D  sbg             SBaGen binaural beats script
  E sdl             SDL output device
 D  sdp             SDP
 D  sdr2            SDR2
  E segment         segment
 D  sgi_pipe        piped sgi sequence
 D  shn             raw Shorten
 D  siff            Beam Software SIFF
 D  sln             Asterisk raw pcm
 DE smjpeg          Loki SDL MJPEG
 D  smk             Smacker
  E smoothstreaming Smooth Streaming Muxer
 D  smush           LucasArts Smush
 D  sol             Sierra SOL
 DE sox             SoX native
 DE spdif           IEC 61937 (used on S/PDIF - IEC958)
  E spx             Ogg Speex
 DE srt             SubRip subtitle
 D  stl             Spruce subtitle format
  E stream_segment,ssegment streaming segment muxer
 D  subviewer       SubViewer subtitle format
 D  subviewer1      SubViewer v1 subtitle format
 D  sunrast_pipe    piped sunrast sequence
 D  sup             raw HDMV Presentation Graphic Stream subtitles
  E svcd            MPEG-2 PS (SVCD)
 DE swf             SWF (ShockWave Flash)
 D  tak             raw TAK
 D  tedcaptions     TED Talks captions
  E tee             Multiple muxer tee
 D  thp             THP
 D  tiertexseq      Tiertex Limited SEQ
 D  tiff_pipe       piped tiff sequence
 D  tmv             8088flex TMV
 DE truehd          raw TrueHD
 D  tta             TTA (True Audio)
 D  tty             Tele-typewriter
 D  txd             Renderware TeXture Dictionary
 DE u16be           PCM unsigned 16-bit big-endian
 DE u16le           PCM unsigned 16-bit little-endian
 DE u24be           PCM unsigned 24-bit big-endian
 DE u24le           PCM unsigned 24-bit little-endian
 DE u32be           PCM unsigned 32-bit big-endian
 DE u32le           PCM unsigned 32-bit little-endian
 DE u8              PCM unsigned 8-bit
  E uncodedframecrc uncoded framecrc testing
  E v4l2            Video4Linux2 output device
 DE vc1             raw VC-1 video
 DE vc1test         VC-1 test bitstream
  E vcd             MPEG-1 Systems / MPEG program stream (VCD)
 D  video4linux2,v4l2 Video4Linux2 device grab
 D  vivo            Vivo
 D  vmd             Sierra VMD
  E vob             MPEG-2 PS (VOB)
 D  vobsub          VobSub subtitle format
 DE voc             Creative Voice
 D  vplayer         VPlayer subtitles
 D  vqf             Nippon Telegraph and Telephone Corporation (NTT) TwinVQ
 DE w64             Sony Wave64
 DE wav             WAV / WAVE (Waveform Audio)
 D  wc3movie        Wing Commander III movie
  E webm            WebM
 DE webm_dash_manifest WebM DASH Manifest
  E webp            WebP
 D  webp_pipe       piped webp sequence
 DE webvtt          WebVTT subtitle
 D  wsaud           Westwood Studios audio
 D  wsvqa           Westwood Studios VQA
 DE wtv             Windows Television (WTV)
 DE wv              raw WavPack
 D  x11grab         X11 screen capture, using XCB
 D  xa              Maxis XA
 D  xbin            eXtended BINary text (XBIN)
 D  xmv             Microsoft XMV
  E xv              XV (XVideo) output device
 D  xwma            Microsoft xWMA
 D  yop             Psygnosis YOP
 DE yuv4mpegpipe    YUV4MPEG pipe

ffmpeg in OpenSuse built without h264 support.

jaimeMF commented 9 years ago

Should we handle it or just tell users to use -f best or --merge-output-format?

dstftw commented 9 years ago

@Wikinaut so, not a youtube-dl issue. You can workaround by specifying merge output format to mkv using --merge-output-format mkv or build ffmpeg yourself.

dstftw commented 9 years ago

@jaimeMF we could probably implement some logic here and fallback to -f best.

jaimeMF commented 9 years ago

It will just complicate the code, I prefer telling the users to use some youtube-dl option or install ffmpeg with h264 support.

dstftw commented 9 years ago

Why complicate? All this logic would be placed in one single place that's easily maintainable. The only problem with this is how much reliable these heuristics are. Most likely we will receive bugreports like that over and over again (similarly to outdated avconv) and telling users to install ffmpeg with proper formats support won't change anything (obviously very few will build ffmpeg themselves and most will treat youtube-dl broken).

jaimeMF commented 9 years ago

Since it would only be used to decide if it should default to bestvideo+bestaudio/best, it makes sense to only do it if we know that ffmpeg will be able to do so. So, like you work for checking the version, it's good for the user experience. If you want to code it, go ahead.

The only problem with this is how much reliable these heuristics are

I think we should consider using a different format query based on the ffmpeg configuration (to not pollute the YoutubeDL class, it should probably go inside a method of the merger). For example if it doesn't have h264 support but has webm support, we could use -f bestvideo[ext=webm]+bestaudio[ext=webm]/best. With that we would still get the best format available and the merge shoudn't fail.

Wikinaut commented 9 years ago

Please let me drop in again.

I already said that I suppose that it could be ffmeg problem (I will come back to that later). A silent fallback to -f best is IMHO not a solution. As you already mentioned in https://github.com/rg3/youtube-dl/issues/5661#issuecomment-100613951 , such a default can be set by the user in the configuration file.

My proposal is to let youtube-dl better detect and notifying the user that ffmpeg is having a problem, i.e. that needed codecs are missings in installed ffmpeg, which cannot be only ffmpeg-version based.

See my top posting, the output of ffmpeg in my case is "Unable to find a suitable output format for xxxxxx.mp4".

Wikinaut commented 9 years ago

@jacobian in reply to your question https://github.com/rg3/youtube-dl/issues/5693#issuecomment-102012873

"Does it work if you tell it you output an mkv file: "

Yes, the merge command using the mkv works for me.

And now?

Wikinaut commented 9 years ago

http://dpaste.com/0071B22#wrap is the ouput of ffmpeg -version and ffmpeg -formats of the version from the PACKMAN repository, it contains the lib264 and lib265 encoders but the format list looks to be the limit one as of OpenSuse Tumbleweed.

Version from the PACKMAN repository:

ffmpeg -version

ffmpeg version 2.6.2 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.8 (SUSE Linux)
configuration: --shlibdir=/usr/lib64 --prefix=/usr --mandir=/usr/share/man --libdir=/usr/lib64 --enable-shared --disable-static --enable-debug --disable-stripping --extra-cflags='-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g' --enable-pic --optflags='-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g' --enable-gpl --enable-x11grab --enable-version3 --enable-pthreads --datadir=/usr/share/ffmpeg --enable-avfilter --enable-libpulse --enable-libwebp --enable-libvpx --enable-libopus --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libxvid --enable-libx264 --enable-libx265 --enable-libschroedinger --enable-libgsm --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-postproc --enable-libdc1394 --enable-librtmp --enable-libfreetype --enable-avresample --enable-libtwolame --enable-libvo-aacenc --enable-gnutls --enable-libass --enable-frei0r --enable-libcelt --enable-libcdio --enable-ladspa
libavutil      54. 20.100 / 54. 20.100
libavcodec     56. 26.100 / 56. 26.100
libavformat    56. 25.101 / 56. 25.101
libavdevice    56.  4.100 / 56.  4.100
libavfilter     5. 11.102 /  5. 11.102
libavresample   2.  1.  0 /  2.  1.  0
libswscale      3.  1.101 /  3.  1.101
libswresample   1.  1.100 /  1.  1.100
libpostproc    53.  3.100 / 53.  3.100

ffmpeg -formats

File formats:
 D. = Demuxing supported
 .E = Muxing supported
 --
 DE alsa            ALSA audio output
 D  asf             ASF (Advanced / Active Streaming Format)
 D  dv              DV (Digital Video)
 D  dv1394          DV1394 A/V grab
 DE fbdev           Linux framebuffer
  E ffm             FFM (FFserver live feed)
 DE flac            raw FLAC
 DE gif             GIF Animation
 DE image2          image2 sequence
 DE image2pipe      piped image2 sequence
 D  jack            JACK Audio Connection Kit
 D  lavfi           Libavfilter virtual input device
 D  libcdio          
 D  libdc1394       dc1394 v.2 A/V grab
  E matroska        Matroska
 D  matroska,webm   Matroska / WebM
 D  mov,mp4,m4a,3gp,3g2,mj2 QuickTime / MOV
 D  mpegts          MPEG-TS (MPEG-2 Transport Stream)
  E null            raw null video
 DE oss             OSS (Open Sound System) playback
 DE pulse           Pulse audio output
 D  rm              RealMedia
 D  rtsp            RTSP input
  E sdl             SDL output device
  E v4l2            Video4Linux2 output device
 D  video4linux2,v4l2 Video4Linux2 device grab
  E webm            WebM
 D  x11grab         X11 screen capture, using XCB
NerosTie commented 9 years ago

I'm on openSuse Tumbleweed, same problem here... It worked on openSuse 13.2.

ManasN commented 8 years ago

I'm on openSuse Leap, same problem here :( it worked on Fedora 22, Linux Mint 17