[FFmpeg-user] Failed to open codec in avformat_find_stream_info

Ted Park kumowoon1025 at gmail.com
Thu Apr 2 20:55:49 EEST 2020


Hi Mark,

> The test...
> Failure. And now I have 2 issues:
> 1, "Failed to open codec in avformat_find_stream_info" is still there, and
> 2, I realized I need '-map 0' and now get "No wav codec tag found for codec pcm_bluray".
> Oh, dear.
> 
> pcm_bluray either doesn't exist, or it's not in the documentation. I assume this is LPCM, and I do want that. I'm copying through all audio, '-c:a copy', so I don't understand why ffmpeg would need the codec and would be looking for codec pcm_bluray.

Well pcm isn’t really a codec the same way mp3 is, I’m guessing but all the decoder does is probably just parse the LPCM format info like bit depth, rate and channel layout.

> And I still don't understand what '-map 0' does, but I'll try to find it in the docs and read it again. I keep forgetting about it.
> 
> 
> C:\>ffmpeg -i IN.M2TS -vf "telecine=pattern=5555,bwdif=mode=send_frame" -avoid_negative_ts 1 -c:v libx264 -crf 20 -preset slower -tune film -c:a copy -c:s copy -map 0 OUT.MKV


I’m not sure if it’s you or me, but I feel like something is definitely getting lost in communication…

Referring back to the command in your original message:
> C:\CMD & tiny apps\ffmpeg>ffmpeg -i B:\BDMV\STREAM\00000.m2ts -vf "telecine=pattern=5555,bwdif=mode=send_frame" -avoid_negative_ts 1 -analyzeduration 80000000 -probesize 80000000 -c:v libx265 -crf 20 -preset medium -c:a copy -c:s copy C:\AVOut\8.MKV

For ffmpeg to figure out how to read a m2ts file as found on a pressed commercial BD-ROM designed to play in regular BD players and not used as a simple data disc, you need to prefix the mount point or root of the filesystem with bluray:, and possibly also specify which part to read, with parameters such as angle, playlist, and chapter.

Again I am not sure if escaping or quoting is needed but assuming you can “cd” to “B:\” in the windows command line and it shows the BDMV folder when you list the directory entries, I think the command would look something like this?
> ffmpeg -i bluray:B:\ -vf "telecine=pattern=5555,bwdif=mode=send_frame" -avoid_negative_ts 1 -analyzeduration 80000000 -probesize 80000000 -c:v libx265 -crf 20 -preset medium -c:a copy -c:s copy C:\AVOut\8.MKV

And that would let ffmpeg navigate to whatever the default program is on the disc. I’m not sure if it is always the main program or if it uses the first playlist if you don’t specify which one.
But you basically need to do this if the elementary streams have not yet been separated from the menu, studio/distributor logo hero sequence, etc. because if it was copied directly from the UDF (decryption having been handled by that nifty tool) the media is still in the very closely interleaved Blu-Ray specific format as necessitated by the bitrates and typical player capability.

To be honest I actually don’t know if I’ve ever had a computer bluray drive, I authored an image for reference, to check the errors I get if I do the same thing (I didn’t put any Sony subtitles in there so that’s missing but you can see the difference when you use the bluray protocol vs regular file. Even with copy protection set to completely open it is necessary.

kumowoon1025 at rfarm1 Movies % ls TITLE
BDMV        CERTIFICATE

So if TITLE was the root folder of the disc file structure, I would need to do this to read all playlists:

kumowoon1025 at rfarm1 Movies % ffmpeg TITLE/BDMV/PLAYLIST/*.mpls(^P:-i:P#bluray:TITLE#^P:-playlist:^@:t:r:) 
ffmpeg -playlist 00000 -i bluray:TITLE -playlist 00001 -i bluray:TITLE -playlist 00002 -i bluray:TITLE -playlist 00003 -i bluray:TITLE -playlist 00004 -i bluray:TITLE 
ffmpeg version git-2020-04-02-7039045 Copyright (c) 2000-2020 the FFmpeg developers
  built with Apple clang version 11.0.3 (clang-1103.0.32.29)
  configuration: --prefix=/usr/local/Cellar/ffmpeg_kumo/HEAD-7039045 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags=-fno-stack-check --host-ldflags= --enable-ffplay --enable-gpl --enable-libbluray --enable-libopus --enable-libsnappy --enable-libtesseract --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopenjpeg --enable-libzmq --enable-libzvbi --enable-sdl2 --enable-nonfree --enable-lto --enable-htmlpages --enable-manpages --disable-podpages --disable-txtpages
  libavutil      56. 42.102 / 56. 42.102
  libavcodec     58. 77.101 / 58. 77.101
  libavformat    58. 42.100 / 58. 42.100
  libavdevice    58.  9.103 / 58.  9.103
  libavfilter     7. 77.101 /  7. 77.101
  libswscale      5.  6.101 /  5.  6.101
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100
[bluray @ 0x7f8aef708680] 1 usable playlists:
bluray.c:255: 00000.m2ts: no timestamp for SPN 0 (got 0). clip 27000000-269927685.
Input #0, mpegts, from 'bluray:TITLE':
  Duration: 01:29:58.39, start: 600.000000, bitrate: 10805 kb/s
  Program 1 
    Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc
    Stream #0:1[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 192 kb/s
[bluray @ 0x7f8aef70a680] 1 usable playlists:
Input #1, mpegts, from 'bluray:TITLE':
  Duration: 00:00:00.03, start: 600.000000, bitrate: 7365 kb/s
  Program 1 
    Stream #1:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 tbr, 90k tbn, 59.94 tbc
[bluray @ 0x7f8aef70ad00] 1 usable playlists:
bluray.c:255: 00003.m2ts: no timestamp for SPN 0 (got 0). clip 27000000-27001501.
bluray.c:255: 00003.m2ts: no timestamp for SPN 0 (got 0). clip 27000000-27001501.
Input #2, mpegts, from 'bluray:TITLE':
  Duration: 00:00:00.03, start: 600.000000, bitrate: 13257 kb/s
  Program 1 
    Stream #2:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 tbr, 90k tbn, 59.94 tbc
[bluray @ 0x7f8aef7145c0] 1 usable playlists:
bluray.c:255: 00005.m2ts: no timestamp for SPN 0 (got 0). clip 27000000-27001501.
bluray.c:255: 00005.m2ts: no timestamp for SPN 0 (got 0). clip 27000000-27001501.
Input #3, mpegts, from 'bluray:TITLE':
  Duration: 00:00:00.03, start: 600.000000, bitrate: 13257 kb/s
  Program 1 
    Stream #3:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 tbr, 90k tbn, 59.94 tbc
[bluray @ 0x7f8aef716780] 1 usable playlists:
bluray.c:255: 00007.m2ts: no timestamp for SPN 0 (got 0). clip 27000000-27001501.
bluray.c:255: 00007.m2ts: no timestamp for SPN 0 (got 0). clip 27000000-27001501.
Input #4, mpegts, from 'bluray:TITLE':
  Duration: 00:00:00.03, start: 600.000000, bitrate: 11784 kb/s
  Program 1 
    Stream #4:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 tbr, 90k tbn, 59.94 tbc
At least one output file must be specified

Simply setting the m2ts files as input causes a bunch or decoder setup errors.
 
kumowoon1025 at rfarm1 Movies % ffmpeg TITLE/BDMV/STREAM/*.m2ts(P:-i:)  
ffmpeg -i TITLE/BDMV/STREAM/00000.m2ts -i TITLE/BDMV/STREAM/00001.m2ts -i TITLE/BDMV/STREAM/00002.m2ts -i TITLE/BDMV/STREAM/00003.m2ts -i TITLE/BDMV/STREAM/00004.m2ts -i TITLE/BDMV/STREAM/00005.m2ts -i TITLE/BDMV/STREAM/00006.m2ts -i TITLE/BDMV/STREAM/00007.m2ts -i TITLE/BDMV/STREAM/00008.m2ts                             
ffmpeg version git-2020-04-02-7039045 Copyright (c) 2000-2020 the FFmpeg developers
  built with Apple clang version 11.0.3 (clang-1103.0.32.29)
  configuration: --prefix=/usr/local/Cellar/ffmpeg_kumo/HEAD-7039045 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags=-fno-stack-check --host-ldflags= --enable-ffplay --enable-gpl --enable-libbluray --enable-libopus --enable-libsnappy --enable-libtesseract --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopenjpeg --enable-libzmq --enable-libzvbi --enable-sdl2 --enable-nonfree --enable-lto --enable-htmlpages --enable-manpages --disable-podpages --disable-txtpages
  libavutil      56. 42.102 / 56. 42.102
  libavcodec     58. 77.101 / 58. 77.101
  libavformat    58. 42.100 / 58. 42.100
  libavdevice    58.  9.103 / 58.  9.103
  libavfilter     7. 77.101 /  7. 77.101
  libswscale      5.  6.101 /  5.  6.101
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100
Input #0, mpegts, from 'TITLE/BDMV/STREAM/00000.m2ts':
  Duration: 01:29:58.39, start: 600.000000, bitrate: 10805 kb/s
  Program 1 
    Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc
    Stream #0:1[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 192 kb/s
Input #1, mpegts, from 'TITLE/BDMV/STREAM/00001.m2ts':
  Duration: 00:00:00.03, start: 600.000000, bitrate: 7365 kb/s
  Program 1 
    Stream #1:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 tbr, 90k tbn, 59.94 tbc
[mpegts @ 0x7fdd3481aa00] probed stream 0 failed
[mpegts @ 0x7fdd3481aa00] Could not find codec parameters for stream 0 (Unknown: none ([145][0][0][0] / 0x0091)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #2, mpegts, from 'TITLE/BDMV/STREAM/00002.m2ts':
  Duration: N/A, start: 600.000000, bitrate: N/A
  Program 1 
    Stream #2:0[0x1400]: Unknown: none ([145][0][0][0] / 0x0091)
Input #3, mpegts, from 'TITLE/BDMV/STREAM/00003.m2ts':
  Duration: 00:00:00.03, start: 600.000000, bitrate: 13257 kb/s
  Program 1 
    Stream #3:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 tbr, 90k tbn, 59.94 tbc
[mpegts @ 0x7fdd3482e000] probed stream 0 failed
[mpegts @ 0x7fdd3482e000] Could not find codec parameters for stream 0 (Unknown: none ([145][0][0][0] / 0x0091)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #4, mpegts, from 'TITLE/BDMV/STREAM/00004.m2ts':
  Duration: N/A, start: 600.000000, bitrate: N/A
  Program 1 
    Stream #4:0[0x1400]: Unknown: none ([145][0][0][0] / 0x0091)
Input #5, mpegts, from 'TITLE/BDMV/STREAM/00005.m2ts':
  Duration: 00:00:00.03, start: 600.000000, bitrate: 13257 kb/s
  Program 1 
    Stream #5:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 tbr, 90k tbn, 59.94 tbc
[mpegts @ 0x7fdd3484a200] probed stream 0 failed
[mpegts @ 0x7fdd3484a200] Could not find codec parameters for stream 0 (Unknown: none ([145][0][0][0] / 0x0091)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #6, mpegts, from 'TITLE/BDMV/STREAM/00006.m2ts':
  Duration: N/A, start: 600.000000, bitrate: N/A
  Program 1 
    Stream #6:0[0x1400]: Unknown: none ([145][0][0][0] / 0x0091)
Input #7, mpegts, from 'TITLE/BDMV/STREAM/00007.m2ts':
  Duration: 00:00:00.03, start: 600.000000, bitrate: 11784 kb/s
  Program 1 
    Stream #7:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 tbr, 90k tbn, 59.94 tbc
[mpegts @ 0x7fdd34864600] probed stream 0 failed
[mpegts @ 0x7fdd34864600] Could not find codec parameters for stream 0 (Unknown: none ([145][0][0][0] / 0x0091)): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #8, mpegts, from 'TITLE/BDMV/STREAM/00008.m2ts':
  Duration: N/A, start: 600.000000, bitrate: N/A
  Program 1 
    Stream #8:0[0x1400]: Unknown: none ([145][0][0][0] / 0x0091)
At least one output file must be specified


> 
> On Apr 1, 2020, at 00:51, Carl Zwanzig <cpz at tuunq.com> wrote:
> 
> On 3/31/2020 7:52 PM, Ted Park wrote:
>> Mail acting weird as always :| If anyone could suggest a good (less randomly behaving) alternative to the default mail app on Mac I’d be much obliged.
> 
> Thunderbird? Its served me well for years (I'm on a pc, but friends use it on mac and linux).
> 
> z!


Thanks for that tip! I did not know Thunderbird was still alive and kicking, friends at FireFox should help them with some exposure. I’ve only just started setting it up but it checks all the boxes for me :D

Regards,
Ted Park



More information about the ffmpeg-user mailing list