Log in

View Full Version : ffmpeg - “Could not find the codec parameters”


gaganspidey
11th May 2017, 08:55
Hello :)

I am trying to record a live HTTP stream using the following command:

ffmpeg -analyzeduration 2147483647 -probesize 2147483647 -i "http://mumsite.cdnsrv.jio.com/jioplay.catchup.cdn.jio.com/recordings/H8_S480_H264_MP/2556/1493919000.mp4/init/LIVEPROGRAM_CHANNEL_2556_START_1493919000_END_1493922600?uid=guest_uid&recid=SCHEDULED-A00B00C00D00E00F-_-_-2556_48168092&shard=shard_a&sid=77179867662431494241905&i=2&nwk=WIFI&pk=1&CurrentNetworkType=WIFI&CurrentNetworkType=WIFI" -c copy -absf aac_adtstoasc testing.ts

http://i66.tinypic.com/28gw7yb.jpg

It looks like the URL is correct but no data is being saved in the file and these warning messages are shown:

multiple fourcc not supported

Could not find codec parameters for stream 1 (Video: none (encv / 0x76636E65), none, 576x432): unknown codec

Am I doing this correctly? How do I determine which codec would handle that stream or is the reason something else?

nevcairiel
11th May 2017, 10:11
"encv" smells like encrypted content.

gaganspidey
13th May 2017, 00:24
Thanks for responding. Hmm...you're right, that's what it is. I tried it with livestreamer and a similar error was displayed:

Missing #EXTM3U header

I know that this needs decryption before I am able to download it, but how to know what encryption method has been used here? A couple of methods that I've heard include EXT-X or m3u8 or TS or AES-128.

Apart from this, I have also sniffed the network traffic while streaming the video and have not observed any useful URLs, only a series of URLs which continue to appear for as long as the video is being streamed. These URLs are all the same except the fragment numbers that are in ascending order. An example of this kind of URL is:


http://smumcdnems04.cdnsrv.jio.com/mumsite.cdnsrv.jio.com/jioplay.catchup.cdn.jio.com/recordings/H2_W240_H264_MP/608/1494419400.mp4/fragment/1?uid=NzAxNDY4MjYzNSM2MmMwZmY3My03YjlmLTRjNzQtYjczMC1hMjEzMmFkYWNiODM&recid=SCHEDULED-A00B00C00D00E00F-_-_-608_48358337&shard=shard_a&sid=77179867662431494625027&i=0&nwk=WIFI&pk=1&CurrentNetworkType=WIFI&CurrentNetworkType=WIFI

nevcairiel
13th May 2017, 00:30
'encv' is the ISO Common Encryption scheme for MP4 containers. Its AES-128.

The stream you are dealing with is likely a DASH stream, to properly record it you would need to pass the DASH manifest file to a recording tool, and not a single segment file.

gaganspidey
13th May 2017, 01:22
Actually the live stream that I am trying to record belongs to an app from the playstore, there's no website for it. I grabbed the original URL by playing the stream on bluestacks.

And since no other URL has been sniffed, from where to get the DASH manifest file? I've downloaded a file from the same URL and attached here (or can be downloaded from below link). Would that be of any help?

LIVEPROGRAM_CHANNEL_608_START_1494419400_END_1494423000.mp4 (https://www.mediafire.com/?2ku6b7uxpqhlma6)

gaganspidey
14th May 2017, 15:31
...to properly record it you would need to pass the DASH manifest file...

@nevcairiel

Kindly assist me with this, I'd be very grateful to you. I am a beginner, please provide me some info. on how to decrypt it.

My attempts so far:

(1) Fetching all the URLs by sniffing the network during streaming. This is a screenshot of all the URLs. It is apparent that only one URL is of use (the one already posted)-

http://i68.tinypic.com/29112c9.jpg


So the question is, from where to get the DASH manifest file?

(2) I also tried dumping the memory and searching with HxD (hex editor) using keywords like "m3u8", "rtmpe", etc. but neither this seemed to return any results.

So, what should be my next step?