SBS ts to mp4 conversion fails

Issue #49 closed
µ created an issue

I get this error every time. Is there a way to stop conversion? This error will also interrupt any autograbber operation and nothing is written to .downloaded_auto.txt.

Example:

INFO Converting Bref S1 Ep53 - Annoying People.ts to mp4
avconv version 11.3-6:11.3-1~trusty, Copyright (c) 2000-2014 the Libav developers
  built on Apr 13 2015 22:25:55 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
[mpegts @ 0x947ce0] max_analyze_duration 5000000 reached
[NULL @ 0x94ce80] start time is not set in estimate_timings_from_pts
Input #0, mpegts, from 'Bref S1 Ep53 - Annoying People.ts':
  Duration: 00:02:18.39, start: 0.100500, bitrate: 1053 kb/s
  Program 1 
    Stream #0.0[0x100]: Video: h264 (Constrained Baseline), yuv420p, 640x360 [PAR 1:1 DAR 16:9], 25 fps, 90k tbn, 50 tbc
    Stream #0.1[0x101]: Audio: aac, 44100 Hz, stereo, fltp, 138 kb/s
    Stream #0.2[0x102]: Data: [21][0][0][0] / 0x0015
Output #0, mp4, to 'Bref S1 Ep53 - Annoying People.mp4':
  Metadata:
    encoder         : Lavf56.1.0
    Stream #0.0: Video: libx264, yuv420p, 640x360 [PAR 1:1 DAR 16:9], q=2-31, 90k tbn, 90k tbc
    Stream #0.1: Audio: libvo_aacenc, 44100 Hz, stereo, 138 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Press ctrl-c to stop encoding
frame= 3460 fps=  0 q=-1.0 Lsize=   16830kB time=138.36 bitrate= 996.5kbits/s    
video:14624kB audio:2143kB other streams:0kB global headers:0kB muxing overhead: 0.376887%
Unsupported codec with id 0 for input stream 2
Traceback (most recent call last):
  File "/home/user/bin/webdl/autograbber.py", line 75, in <module>
    main(destdir, patternfile)
  File "/home/user/bin/webdl/autograbber.py", line 65, in main
    match(download_list, node, search)
  File "/home/user/bin/webdl/autograbber.py", line 55, in match
    match(download_list, child, pattern, count+1)
  File "/home/user/bin/webdl/autograbber.py", line 55, in match
    match(download_list, child, pattern, count+1)
  File "/home/user/bin/webdl/autograbber.py", line 55, in match
    match(download_list, child, pattern, count+1)
  File "/home/user/bin/webdl/autograbber.py", line 55, in match
    match(download_list, child, pattern, count+1)
  File "/home/user/bin/webdl/autograbber.py", line 43, in match
    if node.download():
  File "/home/user/bin/webdl/sbs.py", line 33, in download
    return download_hls(filename, video_url)
  File "/home/user/bin/webdl/common.py", line 310, in download_hls
    return convert_to_mp4(filename)
  File "/home/user/bin/webdl/common.py", line 272, in convert_to_mp4
    return remux(filename, filename_mp4)
  File "/home/user/bin/webdl/common.py", line 254, in remux
    if not check_video_durations(infile, outfile):
  File "/home/user/bin/webdl/common.py", line 227, in check_video_durations
    flv_duration = get_duration(flv_filename)
  File "/home/user/bin/webdl/common.py", line 224, in get_duration
    raise Exception("Unable to determine video duration of " + filename)
Exception: Unable to determine video duration of Bref S1 Ep53 - Annoying People.ts

An .mp4 is produced but the audio track is silent.

Ubuntu 14.04.5

Comments (9)

  1. delx repo owner

    Hi,

    I use ffmpeg, so the avconv code is not as well tested unfortunately. In fact I can't easily install libav-tools anymore on recent Ubuntu or Arch Linux.

    Would you be able to copy/paste the output of this command?

    avprobe /path/to/something.ts -show_format_entry duration -v quiet
    
  2. µ reporter

    Well I’ll eventually upgrade this machine to 16.04 so it won’t be an issue any more.

    Output:

    Unsupported codec with id 0 for input stream 2
    138.390922
    
  3. delx repo owner

    Thanks for that. I've pushed a change which should hopefully make avprobe work properly. Could you please try it and let me know?

  4. µ reporter

    Maybe I spoke too soon. It works fine when run manually, but not with autograbber.py. Same error.

  5. delx repo owner

    hmm, not sure why that would happen. Maybe you have some old __pycache__ or .pyc files lying around? Are you running grabber.py and autograbber.py as the same user?

  6. Log in to comment