Python提取隱藏在圖片的TS檔案

前言

盜版影視網站m3u8串流影片常伴隨將ts片段偽裝 bmp 、png或 jpg 等圖片類型,上傳到免費圖床,達到白嫖圖床目的,但這也導致ts無法使用ffmpeg進行合併成.mp4檔案,因此需要去除圖片數據保留影片部分。

思路

先觀查正常與偽裝圖片二進制檔案,可以發現ts影片片段二進制檔案開始沒多久擁有”FFmpeg Service01w”關鍵字,因此我們可以由這邊處理文件。

ts偽裝png二進制檔案
正常ts二進制檔案

實作

這邊使用python實作,其他程式語言也可以用同樣原理處理,原理就如思路所寫進行處理就可以。

import os

ts_file_path = 'music_18a544d252da4fb497e43e04f3c3cce10.jpeg' # 偽裝圖片ts檔案
replace_data = None
with open(ts_file_path,"rb") as f:
    data = f.read()
    # 判斷是否有PNG包頭
    if data.startswith(b'\211PNG\r\n\032\n'):
        # 尋找FFmpeg Service01w位置,並且向前取得檔案開頭
        index = data.find(b'FFmpeg\tService01w')
        if index>=25:
            replace_data = data[index-25:]
# 如果是有偽裝ts進行保存
if replace_data is not None:
    with open("{}.ts".format("/".join(os.path.splitext(ts_file_path)[:-1])), "wb") as f:
        f.write(replace_data)
    print("ts偽裝移除完成")
else:
    print("ts檔案沒有偽裝")

評論

  1. 有緣人
    7 個月前
    2024-5-14 1:40:19

    太神啦 感謝你 最近剛遇到這個問題

    • 博主
      有緣人
      7 個月前
      2024-5-14 7:59:18

      很高興可以幫助到您,後續有任何問題都可以提問喔

發怖評論 編輯評論


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇