commit 72bf03c4036c0a1ce795904b786769dc37addddc Author: GitHub Actions Date: Mon Dec 2 09:57:49 2024 +0000 Add files from main branch to new-branch diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 000000000..ffe19a481 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,3 @@ +# These are supported funding model platforms +github: +custom: https://sponsor.fanmingming.com diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 000000000..5bb4e08f6 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,11 @@ +--- +name: 问题反馈 +about: 遇到缺失或模糊不清有错误的频道logo请通过这里提交反馈,我们将尽快补齐或修复。 +title: '' +labels: bug +assignees: + +--- + +## 遇到的问题 +请在此描述您遇到的问题。 diff --git a/.github/ISSUE_TEMPLATE/wish.md b/.github/ISSUE_TEMPLATE/wish.md new file mode 100644 index 000000000..146128654 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/wish.md @@ -0,0 +1,11 @@ +--- +name: 意见建议 +about: 您希望我们怎么做好这个项目,或对项目有任何意见和建议请在此提交。 +title: '' +labels: wish +assignees: + +--- + +## 意见建议 +请在此提出您的意见或建议。 diff --git a/.github/workflows/epg.yml b/.github/workflows/epg.yml new file mode 100644 index 000000000..0447cc0f4 --- /dev/null +++ b/.github/workflows/epg.yml @@ -0,0 +1,22 @@ +name: EPG Update +on: + push: + schedule: + - cron: '15 16,18,20,22,0,2,4,6,8,10,12,14 * * *' + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Update EPG Files + run: | + rm -f e.xml && wget https://epg.112114.xyz/pp.xml -O e.xml + git config --local user.name "github-actions[bot]" + git config --local user.email "github-actions[bot]@users.noreply.github.com" + git add e.xml + git commit -m "EPG Automatic Update." + - name: Push changes + run: git push origin main + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/n.yml b/.github/workflows/n.yml new file mode 100644 index 000000000..76d7e93fb --- /dev/null +++ b/.github/workflows/n.yml @@ -0,0 +1,43 @@ +name: Create New Branch Without Commit History + +on: + push: + branches: + - main + +jobs: + create-branch: + runs-on: ubuntu-latest + + steps: + # Check out the repository code + - name: Checkout repository + uses: actions/checkout@v3 + + # Configure git user + - name: Configure git user + run: | + git config --global user.name "GitHub Actions" + git config --global user.email "actions@github.com" + + # Create a new orphan branch + - name: Create orphan branch + run: | + git checkout --orphan new-branch # 创建没有历史记录的分支 + git rm -rf . # 删除当前工作目录中的所有文件 + + # Checkout files from main branch and add them to the new branch + - name: Checkout files from main branch + run: | + git checkout main -- . # 从main分支获取文件 + git add . # 添加所有文件到暂存区 + + # Commit the changes + - name: Commit changes + run: | + git commit -m "Add files from main branch to new-branch" + + # Push the new branch to remote repository + - name: Push new branch + run: | + git push origin new-branch diff --git a/404.html b/404.html new file mode 100644 index 000000000..68e699ca0 --- /dev/null +++ b/404.html @@ -0,0 +1,4 @@ + +404 + +
404 Not Found.
diff --git a/CNAME b/CNAME new file mode 100644 index 000000000..4446eaf21 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +live.fanmingming.com \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 000000000..bcc6fa6f0 --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 2023 fanmingming + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + fanmingming/live Copyright (C) 2023 fanmingming + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/README.md b/README.md new file mode 100644 index 000000000..1175a516c --- /dev/null +++ b/README.md @@ -0,0 +1,76 @@ +

live.fanmingming.com

+

✯ 一个可直连访问的电视/广播图标库与相关工具项目 ✯

+

🔕 永久免费 直连访问 完整开源 不断完善的台标 支持IPv4/IPv6双栈访问 🔕

+ +

+GitHub Repo stars +GitHub forks +GitHub issues +GitHub watchers +GitHub contributors +GitHub +

+ +--- + +## 🤹‍♂️使用方法: + +### 🌇电视/广播图标库: + +| 类 别 | 调用路径 | 最后更新 | +|-------|------------------------------------------------|------------| +| 📺电视 | [https://live.fanmingming.com/tv/{name}.png](https://github.com/fanmingming/live/tree/main/tv) | 2024.12.01 | +| 📻广播 | [https://live.fanmingming.com/radio/{name}.png](https://github.com/fanmingming/live/tree/main/radio) | 2024.8.29 | + +### ⛓️创建您的m3u订阅链接: + - 下载 `demo.m3u` 空白示例文件并使用文本编辑软件打开。 + - [https://live.fanmingming.com/tv/m3u/demo.m3u](https://live.fanmingming.com/tv/m3u/demo.m3u) + + - 参考下方示例代码将`可用的CCTV1节目源`替换为您当地可用的直播源链接,依此类推逐个替换。 + +``` +#EXTM3U x-tvg-url="https://live.fanmingming.com/e.xml" +#EXTINF:-1 tvg-name="CCTV1" tvg-logo="https://live.fanmingming.com/tv/CCTV1.png" group-title="央视",CCTV-1 综合 +可用的CCTV1节目源 +此处省略... +``` + + - 将编辑完成的m3u文件上传到您的Github仓库。 + - 为您的Github仓库开启Pages。 + - 通过播放器订阅您的m3u链接。 + +> 关于Github Pages:[https://docs.github.com/en/enterprise-cloud@latest/pages/quickstart](https://docs.github.com/en/enterprise-cloud@latest/pages/quickstart) + +## 🛠️工具 +- 📆**EPG接口地址**: + - [https://live.fanmingming.com/e.xml](https://live.fanmingming.com/e.xml) +- 🏞️**Bing每日图片**: + - [https://fanmingming.com/bing](https://fanmingming.com/bing) +- 🎞️**m3u8在线下载**: + - [https://live.fanmingming.com/m3u8](https://live.fanmingming.com/m3u8) +- 🆕**TXT转M3U格式**: + - [https://live.fanmingming.com/txt2m3u](https://live.fanmingming.com/txt2m3u) +- 📄**在线M3U转TXT**: + - Demo🔗 [https://fanmingming.com/txt?url=https://live.fanmingming.com/tv/m3u/ipv6.m3u](https://fanmingming.com/txt?url=https://live.fanmingming.com/tv/m3u/ipv6.m3u) +- 🌐**M3U8 Web Player**: + - Demo🔗 [https://live.fanmingming.com/player/?vurl=https://0472.org/hls/cgtn.m3u8](https://live.fanmingming.com/player/?vurl=https://0472.org/hls/cgtn.m3u8) + +## 📖说明 +- 项目EPG接口为112114.xyz站点分发,本项目无法确保其准确性。 +- 通过M3U8 Web Player测试直播源需使用https协议的直播源链接。 +- 在线M3U转TXT工具构建在Vercel,不会记录您的访问日志请放心使用。 +- TXT转M3U工具为前端网页转换,无需上传文件,粘贴即转换,安全不偷源。 +- 本项目不存储任何的流媒体内容,所有的法律责任与后果应由使用者自行承担。 +- 项目`/tv/m3u/`和`/radio/m3u/`目录下的内容收集于互联网,仅供测试研究使用,本项目无法保证其有效性。 +- 主域名【`live.fanmingming.com`】的WEB访问通过Github Pages自动构建,由CloudFlare提供CDN和安全防护。 +- 镜像域名【`live.fanmingming.cn`】提供完整的资源WEB访问,通过Github Actions自动构建在CloudFlare Pages。 +- 项目所有文件均托管在[GitHub](https://github.com/fanmingming/live)且自动构建,由项目发起人公益维护,欢迎Star本项目或点击[Issues](https://github.com/fanmingming/live/issues/new/choose)反馈您的问题。 +- 您可以Frok本项目到您的Github账户,将缺失的频道Logo上传到`tv`或`radio`目录下并发起拉取请求,收到请求后我们会对您提交的内容进行验证,审核通过后会自动为您署名并发布。 + +## 📱联系 +- Telegram: [@AirfoneBot](https://t.me/AirfoneBot) + - 如遇资源访问问题请通过Telegram反馈。 + +## 📔更新 +- 2024.12.01 + - 添加了台标。 diff --git a/_config.yml b/_config.yml new file mode 100644 index 000000000..8813df16e --- /dev/null +++ b/_config.yml @@ -0,0 +1,3 @@ +remote_theme: pages-themes/cayman@v0.2.0 +plugins: +- jekyll-remote-theme diff --git a/assets/lapse.mp4 b/assets/lapse.mp4 new file mode 100644 index 000000000..99c220003 Binary files /dev/null and b/assets/lapse.mp4 differ diff --git a/assets/nosignal.m3u8 b/assets/nosignal.m3u8 new file mode 100644 index 000000000..359bd22c7 --- /dev/null +++ b/assets/nosignal.m3u8 @@ -0,0 +1,7 @@ +#EXTM3U +#EXT-X-VERSION:3 +#EXT-X-TARGETDURATION:1 +#EXT-X-MEDIA-SEQUENCE:0 +#EXTINF:1.200000, +nosignal.ts +#EXT-X-ENDLIST diff --git a/assets/nosignal.mp3 b/assets/nosignal.mp3 new file mode 100644 index 000000000..038cca598 Binary files /dev/null and b/assets/nosignal.mp3 differ diff --git a/assets/nosignal.ts b/assets/nosignal.ts new file mode 100644 index 000000000..ca0b272da Binary files /dev/null and b/assets/nosignal.ts differ diff --git a/e.xml b/e.xml new file mode 100644 index 000000000..43b7d229b --- /dev/null +++ b/e.xml @@ -0,0 +1,83973 @@ + + + + 1905环球经典 + + + 彗星美人 + + + 一个明星的诞生 + + + 花开蝶满枝 + + + 甜姐儿 + + + 雨中曲 + + + 瑟堡的雨伞 + + + 红菱艳 + + + 出水芙蓉 + + + 篷车队 + + + 小公主 + + + 绅士爱美人 + + + 西区故事 + + + 窈窕淑女 + + + 音乐之声 + + + 4K综艺 + + + 小小的追球20191217 + + + 小小的追球20191218 + + + 小小的追球20191224 + + + 小小的追球20191225 + + + 小小的追球20191231 + + + 我最爱的女人们20190712 + + + 我最爱的女人们20190713 + + + 真心大冒险20180526 + + + 真心大冒险20180602 + + + 真心大冒险20180609 + + + 真心大冒险20180616 + + + 真心大冒险20180623 + + + 花儿与少年第一季20140523 + + + 花儿与少年第一季20140530 + + + BTV体育 + + + BRTV赛场:奥运赛事剪辑(48) + + + BRTV赛场:奥运赛事剪辑(48) + + + BRTV赛场:2024中超联赛第11 轮集锦 + + + BRTV赛场:2024中超联赛第11 轮集锦 + + + BRTV赛场:2024中超联赛第12 轮集锦 + + + BRTV赛场:2024中超联赛第12 轮集锦 + + + 北京纪录挑战赛(6) + + + 北京纪录挑战赛(6) + + + 欢乐二打一(2024-11-28) + + + 欢乐二打一(2024-11-28) + + + BRTV赛场:2024-2025赛季CBA常规赛(青岛-北控) + + + BRTV赛场:2024-2025赛季CBA常规赛(青岛-北控) + + + 奥运精彩时刻(2024-8-7) + + + 奥运精彩时刻(2024-8-7) + + + 北京纪录挑战赛(6) + + + 北京纪录挑战赛(6) + + + 奥运夺金时刻(4) + + + 奥运夺金时刻(4) + + + 欢乐二打一(2024-11-28) + + + 欢乐二打一(2024-11-28) + + + BRTV赛场:奥运赛事剪辑(48) + + + BRTV赛场:奥运赛事剪辑(48) + + + BRTV赛场:2024中超联赛第13 轮集锦 + + + BRTV赛场:2024中超联赛第13 轮集锦 + + + BRTV赛场:2024中超联赛第14 轮集锦 + + + BRTV赛场:2024中超联赛第14 轮集锦 + + + 奥运精彩时刻(2024-8-7) + + + 奥运精彩时刻(2024-8-7) + + + BTV影视 + + + 风雨老字号(13) + + + 林深见鹿(11) + + + 林深见鹿(12) + + + 林深见鹿(13) + + + 林深见鹿(14) + + + 林深见鹿(15) + + + 林深见鹿(16) + + + 林深见鹿(17) + + + 蚂蚱(25) + + + 蚂蚱(26) + + + 闯关东(22) + + + 闯关东(23) + + + 怒火英雄 + + + 北京惠客厅(94) + + + 怒火英雄 + + + 前夜(28) + + + 前夜(29) + + + 奋勇向前(21) + + + 奋勇向前(22) + + + 奋勇向前(23) + + + 奋勇向前(24) + + + 奋勇向前(25) + + + 怒火英雄 + + + 北京惠客厅(94) + + + 风雨老字号(14) + + + 风雨老字号(15) + + + BTV文艺 + + + 笑动剧场 + + + 笑动欢乐秀 + + + 每日文艺播报 + + + 桃花朵朵开 + + + 笑动欢乐秀 + + + 笑动剧场 + + + 每日文艺播报 + + + 桃花朵朵开 + + + 笑动剧场 + + + 笑动欢乐秀 + + + 每日文艺播报 + + + 垫播时间 + + + 笑动剧场 + + + 桃花朵朵开 + + + 刘墉追案(1) + + + 北京惠客厅 + + + 刘墉追案(2) + + + 北京惠客厅 + + + 刘墉追案(3) + + + 家装驿站 + + + 刘墉追案(4) + + + 桃花朵朵开 + + + 笑动欢乐秀 + + + 都市新生活 + + + 每日文艺播报 + + + 家装驿站 + + + 笑动剧场 + + + 居家卫士 + + + 爱我就别想太多(21) + + + 都市新生活 + + + 爱我就别想太多(22) + + + 家装驿站 + + + 爱我就别想太多(23) + + + 都市新生活 + + + 笑动欢乐秀 + + + 笑动剧场 + + + 每日文艺播报 + + + 笑动剧场 + + + 文化之约 + + + 刘墉追案(34) + + + 刘墉追案(35) + + + 刘墉追案(36) + + + 北京国际科技创新中心建设条例 + + + 每日文艺播报 + + + 笑动剧场 + + + BTV新闻 + + + 这里是北京 + + + 法治进行时 + + + 每日文艺播报 + + + 红绿灯 + + + 首都晚间报道 + + + 节目结束 + + + 播前乐 + + + 特别关注 + + + 北京您早 + + + 每日文艺播报 + + + 2024最美北京我的家:古都,新城 + + + 燃烧(6) + + + 燃烧(7) + + + 燃烧(8) + + + 特别关注 + + + 红绿灯 + + + 都市阳光 + + + 新闻手语 + + + 这里是北京 + + + 生活这一刻 + + + 每日文艺播报 + + + 燃烧(23) + + + 燃烧(24) + + + 燃烧(25) + + + 北京新闻 + + + 天气预报 + + + 这里是北京 + + + 每日文艺播报 + + + 都市阳光 + + + 市民对话一把手:市场监管局 + + + 法治进行时 + + + 红绿灯 + + + 首都晚间报道 + + + 小平,您好(7) + + + 特别关注 + + + 北京国际科技创新中心建设条例 + + + 这里是北京 + + + BTV生活 + + + 一起出发吧 + + + 越省越开心 + + + 生活这一刻 + + + 味道掌门 + + + 生活这一刻看点 + + + 生活这一刻 + + + 医者 + + + 京城美食地图 + + + 生活这一刻 + + + 北京国际科技创新中心建设条例 + + + 味道掌门 + + + 生活这一刻看点 + + + 选择 + + + 一起出发吧 + + + 快乐生活一点通(1) + + + 快乐生活一点通(3) + + + 医者 + + + 生活+家装攻略 + + + 越省越开心 + + + 生活+家装攻略 + + + 快乐生活一点通(1) + + + 快乐生活一点通(2) + + + 生活+家装攻略 + + + 生活这一刻 + + + 快乐生活一点通(3) + + + 生活+家装攻略 + + + 美味生活 + + + 生活+家装攻略 + + + 快乐生活一点通(2) + + + 快乐生活一点通(1) + + + 生活+家装攻略 + + + 快乐生活一点通(3) + + + 生活指南 + + + 生活好物 + + + 生活这一刻 + + + 全民健康学院 + + + 医者 + + + 生活这一刻看点 + + + 选择 + + + 越省越开心 + + + 北京国际科技创新中心建设条例 + + + 越省越开心精编 + + + 越省越开心 + + + 北京国际科技创新中心建设条例 + + + 生活这一刻看点 + + + BTV科教 + + + 重播:中国故事(45分钟版)(2024-12-2) + + + 重播:中国故事(45分钟版)(2024-12-2) + + + 重播:现场说法(2024-12-2) + + + 重播:现场说法(2024-12-2) + + + 重播:记忆(2024-12-2) + + + 重播:记忆(2024-12-2) + + + 重播:法治中国60分(2024-12-2) + + + 重播:法治中国60分(2024-12-2) + + + 重播:探索(2024-12-2) + + + 重播:探索(2024-12-2) + + + 重播:记忆(2024-12-2) + + + 重播:记忆(2024-12-2) + + + 重播:健康北京(2024-12-2) + + + 重播:健康北京(2024-12-2) + + + 重播:《梦想北京》城市形象片20220101 + + + 重播:《梦想北京》城市形象片20220101 + + + 接次日节目单 + + + 接次日节目单 + + + 重播:第三调解室午间版(2)(2024-12-1) + + + 重播:第三调解室午间版(2)(2024-12-1) + + + 重播:法治进行时周末版之警法目录(2024-12-1) + + + 重播:法治进行时周末版之警法目录(2024-12-1) + + + 重播:第三调解室精编版(2024-12-1) + + + 重播:第三调解室精编版(2024-12-1) + + + 纪录时间(25分钟版)(2024-12-2) + + + 纪录时间(25分钟版)(2024-12-2) + + + 重播:健康北京-名医来了(2024-11-27) + + + 重播:健康北京-名医来了(2024-11-27) + + + 重播:直击最前沿(2024-12-1) + + + 重播:直击最前沿(2024-12-1) + + + 晚晴(2024-12-2) + + + 晚晴(2024-12-2) + + + 乐在美食(2024-12-2) + + + 乐在美食(2024-12-2) + + + 品质生活(45分钟版)(2024-12-2) + + + 品质生活(45分钟版)(2024-12-2) + + + 重播:民法典通解通读(2024-9-11) + + + 重播:民法典通解通读(2024-9-11) + + + 现场说法(2024-12-2) + + + 现场说法(2024-12-2) + + + 法治进行时(2024-12-2) + + + 法治进行时(2024-12-2) + + + 第三调解室(2024-12-2) + + + 第三调解室(2024-12-2) + + + 法治中国60分(2024-12-2) + + + 法治中国60分(2024-12-2) + + + 第三调解室午间版(1)(2024-12-2) + + + 第三调解室午间版(1)(2024-12-2) + + + 第三调解室午间版(2)(2024-12-2) + + + 第三调解室午间版(2)(2024-12-2) + + + 气象观天下之气象预报(2024-12-2) + + + 气象观天下之气象预报(2024-12-2) + + + 气象观天下(2024-12-2) + + + 气象观天下(2024-12-2) + + + 重播:乐在美食(2024-12-2) + + + 重播:乐在美食(2024-12-2) + + + 重播:职场健康说(2024-11-28) + + + 重播:职场健康说(2024-11-28) + + + 品质生活(30分钟版)(2024-12-2) + + + 品质生活(30分钟版)(2024-12-2) + + + 重播:气象观天下之气象预报(2024-12-2) + + + 重播:气象观天下之气象预报(2024-12-2) + + + 中国故事(45分钟版)(2024-12-2) + + + 中国故事(45分钟版)(2024-12-2) + + + 健康北京(2024-12-2) + + + 健康北京(2024-12-2) + + + 重播:一师亦友(2024-12-1) + + + 重播:一师亦友(2024-12-1) + + + 记忆(2024-12-2) + + + 记忆(2024-12-2) + + + 职场健康说(2024-12-2) + + + 职场健康说(2024-12-2) + + + 小平,您好(8)(2024-12-2) + + + 小平,您好(8)(2024-12-2) + + + 第三调解室精编版(2024-12-2) + + + 第三调解室精编版(2024-12-2) + + + 记忆精编版(2024-12-2) + + + 记忆精编版(2024-12-2) + + + 故事时间:战狼▪战狼(2024版)46 + + + 故事时间:战狼▪战狼(2024版)46 + + + 故事时间:战狼▪战狼(2024版)47 + + + 故事时间:战狼▪战狼(2024版)47 + + + 探索(2024-12-2) + + + BTV财经 + + + 大家收藏之精品版 + + + 财经有约-至味 + + + 大家收藏 + + + 节目结束 + + + 播前乐 + + + 首都经济报道 + + + 财经有约-纪录 + + + 财经有约-至味 + + + 财富剧场 + + + 天下财经 + + + 白色城堡(2) + + + 白色城堡(3) + + + 白色城堡(4) + + + 北京惠客厅(94) + + + 北京国际科技创新中心建设条例 + + + 消费面对面精编版 + + + 财经有约-至味 + + + 北京惠客厅(95) + + + 蜜蜂计划 + + + 精英律师(13) + + + 精英律师(14) + + + 精英律师(15) + + + 北京惠客厅(94) + + + 消费面对面精编版 + + + 消费面对面 + + + 财经有约-纪录 + + + 财经有约-至味 + + + 首都经济报道 + + + 天下财经 + + + 诚信北京 + + + 财经有约-纪录 + + + 蜜蜂计划 + + + 大家收藏之精品版 + + + 小平,您好(7) + + + 了不起的儿科医生(34) + + + 了不起的儿科医生(35) + + + 大家收藏之精品版 + + + CCTV1 + + + 今日说法-2024-305 + + + 人与自然-2024-229 + + + 晚间新闻 + + + 2024秘境之眼-穿山甲归山记(4K) + + + 2024秘境之眼-三江源生命故事(4K) + + + 大唐诗人传-初唐四杰MV + + + 寻宝-文脉春秋宣传片(新版) + + + 典籍里的中国(第二季)-7 + + + 泱泱中华-美丽湿地2 + + + 今日说法-2024-305 + + + 新闻联播 + + + 人与自然-2024-119 + + + 朝闻天下 + + + 生活早参考-特别节目(生活圈)2024-251 + + + 深潜第12集 + + + 深潜第13集 + + + 深潜第14集 + + + 泱泱中华-历史文化街区 + + + 2024秘境之眼-325 + + + 新闻30分 + + + 今日说法-2024-306 + + + 上甘岭第22集 + + + 上甘岭第23集 + + + 上甘岭第24集 + + + 故乡的泥土第1集 + + + 故乡的泥土第2集 + + + 第一动画乐园-2024-493 + + + 第一动画乐园-2024-494 + + + 2024农耕探文明-13 + + + 2024秘境之眼-325 + + + 新闻联播 + + + 焦点访谈 + + + 前情提要-电视剧(高清文件) + + + 电视剧-(高清文件) + + + 前情提要-电视剧(高清文件) + + + 电视剧-(高清文件) + + + 非遗里的中国-MV + + + 晚间新闻 + + + 专题节目-1 + + + CCTV10 + + + 地理·中国-2024-336 + + + 健康之路-2024-336 + + + 科幻地带-2024-48 + + + 百家讲坛-2024-336 + + + 再见 + + + 读书-2024-336 + + + 跟着书本去旅行-2024-240 + + + 健康之路-2024-336 + + + 味道-2024-234 + + + 欣赏-2024年30秒-10 + + + 探索·发现-2024-336 + + + 地理·中国-2024-336 + + + 2024科教纪录片精选-7 + + + 自然传奇-2024-325 + + + 味道-2024-234 + + + 时尚科技秀-2024-337 + + + 百家讲坛-2024-337 + + + 人物故事-2024-186 + + + 跟着书本去旅行-2024-241 + + + 读书-2024-337 + + + 欣赏-2024年30秒-10 + + + 百家说故事-2024-337 + + + 时尚科技秀-2024-337 + + + 欣赏-2024年30秒-10 + + + 创新进行时-2024-243 + + + 探索·发现-2024-336 + + + 2024科教纪录片精选-8 + + + 自然传奇-2024-325 + + + 地理·中国-2024-337 + + + 健康之路-2024-337 + + + 味道-2024-197 + + + 自然传奇-2024-326 + + + 探索·发现-2024-337 + + + 创新进行时-2024-244 + + + 考古公开课-2024-49 + + + 味道-2024-197 + + + 探索·发现-2024-337 + + + CCTV11 + + + 天下第一团-新昌调腔 + + + 再见 + + + CCTV空中剧院-2024-160地方戏版 好戏连连看 豫剧《朝阳沟》选场(精编) + + + 一鸣惊人-2024-49 + + + 名家书场-2024-302《北京青年相声节展演》第8集 + + + 异曲同“功”-3 + + + CCTV空中剧院-2024-208地方戏版 越剧《枫叶如花》 + + + 无所畏惧第25集 + + + 无所畏惧第26集 + + + 宝贝亮相吧-2024-49 + + + 电影《三笑》 + + + 天下第一团-新昌调腔 + + + 楼外楼第14集 + + + 楼外楼第15集 + + + 典藏-2022-103 + + + 中国京剧音配像精粹-2024-48京剧《群英会 借东风》(修复版) + + + 平凡之路第20集 + + + 平凡之路第21集 + + + CCTV12 + + + 从心开始-2024-48 + + + 见证-2024-48 + + + 方圆剧阵2024-336 + + + 再见 + + + 法律讲堂-2024-121 + + + 政法先锋人物-7 + + + 一线-2024-230 + + + 天网-2024-227 + + + 现场-2024-48 + + + 夕阳红-2024-338 + + + 方圆剧阵2024-312 + + + 方圆剧阵2024-313 + + + 剧懂人心-6 + + + 天网-2024-230 + + + 生命线-2024-337 + + + 一线-2024-28 + + + 2024社会与法电视剧精选-娘亲舅大-37/51 + + + 2024社会与法电视剧精选-娘亲舅大-38/51 + + + 2024社会与法电视剧精选-娘亲舅大-39/51 + + + 夕阳红-2024-338 + + + 一线-2024-232 + + + 天网-2024-236 + + + 方圆剧阵2024-336 + + + 热线12-2024-241 + + + 法律讲堂-2024-337 + + + 一线-2024-241 + + + 方圆剧阵2024-337 + + + 方圆剧阵2024-337 + + + 天网-2024-241 + + + 方圆剧阵2024-337 + + + 政法先锋人物-8 + + + 道德观察(日播版)-2024-337 + + + 法律讲堂(文史版)-2024-241 + + + CCTV13 + + + 午夜新闻 + + + 面对面 + + + 新闻直播间 + + + 世界周刊 + + + 新闻直播间 + + + 面对面 + + + 新闻直播间 + + + 焦点访谈 + + + 每周质量报告 + + + 新闻直播间 + + + 世界周刊 + + + 新闻直播间 + + + 面对面 + + + 朝闻天下 + + + 新闻直播间 + + + 世界周刊 + + + 新闻直播间 + + + 新闻直播间 + + + 新闻30分 + + + 法治在线 + + + 新闻直播间 + + + 新闻直播间 + + + 面对面 + + + 新闻直播间 + + + 新闻直播间 + + + 新闻直播间 + + + 共同关注 + + + 新闻联播 + + + 天气预报 + + + 焦点访谈 + + + 东方时空 + + + 新闻联播 + + + 新闻1+1 + + + 国际时讯 + + + 环球视线 + + + 24小时 + + + CCTV14 + + + 再见 + + + 小小智慧树-2024-241 + + + 大风车(异想天开)-2024-49 + + + 大手牵小手-2024-50 + + + 新闻袋袋裤 + + + 智慧树-2024-253 + + + 动画大放映(早间版)-2024-293 + + + 动画大放映(上午版)-2024-282 + + + 动漫世界-2024-337 + + + 风车剧场-2024-534 + + + 动画大放映(周末上午版)2024-344 + + + 动画大放映(周末下午版)-2024-381 + + + 动画大放映(黄金版)-2024-194 + + + 激情的岁月-13/36 + + + 激情的岁月-14/36 + + + 激情的岁月-15/36 + + + CCTV15 + + + CCTV音乐厅-2024-56-古典交响作品系列音乐会(7) + + + 再见 + + + 精彩音乐汇-我的爱对你说-2024-314 + + + 风华国乐-2024-358 + + + 全球中文音乐榜上榜-2023-精编1 + + + 民歌·中国-2024-172山歌唱出幸福来24 + + + 精彩音乐汇-我的爱对你说-2024-210 + + + 一起音乐吧-2024-78-15号音乐房子15 + + + 影视留声机-2024-72-电影《永不消逝的电波》 + + + 音乐人生-2024-8音乐旅行家(1) + + + 全球中文音乐榜上榜-2023-精编1 + + + 音乐周刊-超音速2024-100 + + + 民歌·中国-2024-140故乡回响5 + + + 精彩音乐汇-我的爱对你说-2024-315 + + + 民歌·中国-2024-136唱得幸福落满坡(四) + + + 精彩音乐汇-我的爱对你说-2024-201 + + + 中国节拍-2024-12-舞韵华章1 + + + CCTV音乐厅-2024-207-名家名曲(102) + + + CCTV音乐厅-2024-57-古典交响作品系列音乐会(8) + + + CCTV16 + + + 实况录像(奥林匹克)-2024年巴黎奥运会 体操单项决赛3 + + + 实况录像(奥林匹克)-2024年世界田联钻石联赛 布鲁塞尔站2 + + + 实况录像(奥林匹克)-2024/2025中国男子篮球职业联赛 第14轮 深圳马可波罗-新疆伊力特 + + + 实况录像(奥林匹克)-2024年巴黎奥运会 女子七人制橄榄球比赛 + + + 艺术里的奥林匹克-2024-90 + + + 奥秘无穷-2024-41 + + + 实况录像(奥林匹克)-2024年巴黎奥运会 跆拳道比赛 + + + 实况录像(奥林匹克)-2024/2025赛季短道速滑世界巡回赛 加拿大站1 + + + 实况录像(奥林匹克)-2024年巴黎奥运会 男子曲棍球决赛 荷兰队-德国队 + + + 第一届全国青少年三大球运动会-男足半决赛 1 + + + 实况录像(奥林匹克)-2024/2025中国男子篮球职业联赛 第11轮 广州朗肽海本-九台农商银行 + + + 艺术里的奥林匹克-2024-90 + + + 奥秘无穷-2024-41 + + + 实况录像(奥林匹克)-2024年中国杯世界花样滑冰大奖赛1 + + + 实况录像(奥林匹克)-2024年巴黎奥运会 攀岩女子速度决赛 + + + 实况录像(奥林匹克)-2024年世乒联总决赛1 + + + 艺术里的奥林匹克-2024-67 + + + 实况录像(奥林匹克)-2024年巴黎奥运会 网球比赛1 + + + 实况录像(奥林匹克)-2024/2025西班牙足球甲级联赛 第15轮 皇家社会-贝蒂斯 录播 + + + 赛事集锦-2024-98-第二届跑酷世界锦标赛1 + + + 艺术里的奥林匹克-2024-68 + + + 赛事集锦(奥林匹克)-2024/2025赛季单板滑雪世界杯 中国美林站 平行大回转 + + + 实况录像(奥林匹克)-2024/2025赛季速度滑冰世界杯 日本站1 + + + 第一届全国青少年三大球运动会-女篮半决赛 1 + + + 实况录像(奥林匹克)-2024年世界泳联游泳世界杯 韩国站1 + + + CCTV17 + + + 乡理乡亲-2024-104 + + + 再见 + + + 2024中国乡村编织大会-1 + + + 田园帮帮团-2024-238 + + + 超级农人秀-2024-238 + + + 共富经-2024-233 + + + 17运动会2024-16 + + + 村里来了钢铁侠-3 + + + 三农长短说 + + + 三农群英汇-2024-321 + + + 田园帮帮团-2024-238 + + + 远方的山楂树第8集 + + + 远方的山楂树第9集 + + + 远方的山楂树第10集 + + + 三农长短说 + + + 17运动会2024-16 + + + 田园帮帮团-2024-238 + + + 2024中国乡村编织大会-2 + + + 兰桐花开第29集 + + + 兰桐花开第30集 + + + 兰桐花开第31集 + + + 兰桐花开第32集 + + + 超级农人秀-2024-239 + + + 谁知盘中餐-2024-233 + + + 三农长短说 + + + 远方的山楂树第11集 + + + 远方的山楂树第12集 + + + 远方的山楂树第13集 + + + 三农群英汇-2024-322 + + + 共富经-2024-234 + + + 超级农人秀-2024-240 + + + 田园帮帮团-2024-239 + + + 大地讲堂-2024-85 + + + 谁知盘中餐-2024-233 + + + CCTV2 + + + 职场健康课-2024-47 + + + 中国经济大讲堂-2024-46 + + + 巅峰食刻——中法厨王竞技-8 + + + 治水记-4 + + + 2021精品财经纪录-桥的世界-4 + + + 对话-2024-47 + + + 周末特供2023-万物之生3-16分版 + + + 生财有道-2024-11-29 + + + 经济信息联播 + + + 第一时间 + + + 正点财经 + + + 正点财经 + + + 经济半小时 + + + 正点财经 + + + 周末特供2024-874 + + + 周末特供2024-875 + + + 天下财经 + + + 财经调查 + + + 回家吃饭-2024-280 + + + 正点财经 + + + 消费主张 + + + 正点财经 + + + 生财有道-2024-11-29 + + + 正点财经 + + + 正点财经 + + + 周末特供-鲜味的秘密3-28分版 + + + 2023精品财经纪录-圈粉食刻-3 + + + 回家吃饭-2024-285 + + + 生财有道-2024-12-2 + + + 消费主张 + + + 经济半小时 + + + 经济信息联播 + + + 央视财经评论-2024-12-2 + + + 中国福利彩票公益开奖-2024-277 + + + 2024精品财经纪录-我们的丰收-1 + + + 2024精品财经纪录-我们的丰收-2 + + + 对话-2024-47 + + + 经济半小时 + + + CCTV3 + + + 综艺喜乐汇-2024-1199 大唐狄公案15/30 + + + 绽放吧!妈妈-15 + + + 综艺盛典-2024-28选对健康28 + + + 此生要去的100个地方-10 + + + 艺览天下-2024-34 + + + 中国文艺报道-2024-104艺瞬间 大凉山戏剧节 文旅篇 + + + 悦读一夏-秦腔 + + + 非常6+1-2024-25萌娃问天下17 + + + 黄金100秒-TOP音乐咖-18 + + + 越战越勇-2024-36 + + + 中国文艺报道-2024-104艺瞬间 大凉山戏剧节 文旅篇 + + + 综艺喜乐汇-2024-1077 + + + 悦读一夏-爆炒米花 + + + 幸福账单-勇者之战-2024-15 + + + 中国文艺报道-2024-108 艺瞬间 春晚主题主标识 + + + 开门大吉-2024-39 + + + 文化十分-2024-249 + + + 向幸福出发-2024-48 + + + 悦读一夏-秦腔 + + + 非常6+1-2024-28萌娃问天下20 + + + 中国文艺报道-2024-108 艺瞬间 春晚主题主标识 + + + 开门迎春晚-1 + + + 中国文艺报道-2024-108 艺瞬间 春晚主题主标识 + + + 星光大道-2024-46(这一站星光22) + + + 悦读一夏-冬天 + + + 综艺喜乐汇-2024-756 + + + 中国文艺报道-2024-104艺瞬间 大凉山戏剧节 文旅篇 + + + 越战越勇-2024-46 + + + 开门大吉-2024-48 + + + 绽放吧!妈妈-27 + + + 中国文艺报道-2024-109 特别节目7 + + + 幸福账单-勇者之战-2024-5 + + + 综艺喜乐汇-2024-1200 大唐狄公案16/30 + + + CCTV4 + + + 我哥我嫂第2集 + + + 我哥我嫂第3集 + + + 国家公园精彩片段-7 + + + 国家公园精彩片段-8 + + + 新闻联播 + + + 平凡匠心-2024-97 + + + 中国文艺-致敬经典2024-48 + + + 记住乡愁-片段展播-2024-2 + + + 记住乡愁-片段展播-2024-1 + + + 记住乡愁-片段展播-2024-44 + + + 中国新闻 + + + 今日关注 + + + 环球综艺秀-2024-49 + + + 海峡两岸-2024-336 + + + 深度国际-2024年11月-5 + + + 中国新闻 + + + 今日关注 + + + 今日环球 + + + 中国舆论场-2024-47 + + + 中国新闻 + + + 远方的家2024-97(4K) + + + 国家记忆-2024-175 + + + 海峡两岸-2024-336 + + + 中国新闻 + + + 记住乡愁-片段展播-2024-8 + + + 我们的队伍向太阳-(四套)-9/33 + + + 我们的队伍向太阳-(四套)-10/33 + + + 我们的队伍向太阳-(四套)-11/33 + + + 我们的队伍向太阳-(四套)-12/33 + + + 我们的队伍向太阳-(四套)-13/33 + + + 记住乡愁-片段展播-2024-1 + + + 中国文艺-2024-240 + + + 远方的家2024-98(4K) + + + 中国新闻 + + + 中国文艺-2024-241 + + + 中国新闻 + + + 今日亚洲 + + + 国家记忆-2024-176 + + + 海峡两岸-2024-337 + + + 中国新闻 + + + 今日关注 + + + 走遍中国-2024-193 + + + 新闻联播 + + + 我哥我嫂第4集 + + + 我哥我嫂第5集 + + + CCTV4K + + + 静屏 + + + 体育赛事 + + + 如果国宝会说话 + + + 电视剧 + + + 角儿来了 + + + 动画片 + + + 远方的家 + + + 传承 + + + 丛林星球 + + + 飞向月球 + + + 电视剧 + + + 角儿来了 + + + 动画片 + + + 如果国宝会说话 + + + 丛林星球 + + + 记住乡愁 + + + 国家荣光 + + + 电视剧 + + + 大太平洋 + + + CCTV4欧洲 + + + 动画城(四套)-2024-326 + + + 健康中国-2024-48 + + + 华人故事-2024-48 + + + 海峡两岸-2024-336 + + + 新闻联播 + + + 鲁健访谈-2024-48 + + + 中国新闻 + + + 今日关注 + + + 星光大道-2024-18 + + + 平凡匠心-2024-97 + + + 中国文艺-致敬经典2024-48 + + + 海峡两岸-2024-336 + + + 今日环球 + + + 环球综艺秀-2024-49 + + + 中国缘-2024-47 + + + 远方的家第32集 + + + 远方的家第33集 + + + 中国新闻 + + + 华人故事-2024-48 + + + 江河之上第34集 + + + 星星的故乡第1集 + + + 中国舆论场-2024-47 + + + 中国新闻 + + + 远方的家第34集 + + + 鲜花盛开的山村第1集 + + + 中国新闻 + + + 海峡两岸-2024-336 + + + 中国新闻 + + + 今日亚洲 + + + 开讲啦(海外版)-2024-46 + + + 记住乡愁-片段展播-2024-16 + + + 记住乡愁-片段展播-2024-39 + + + 记住乡愁-片段展播-2024-40 + + + 中国新闻 + + + 今日关注 + + + 星星的故乡第2集 + + + 星星的故乡第3集 + + + 中国缘-2024-48 + + + CCTV4美洲 + + + 海峡两岸-2024-335 + + + 星光大道-2024-18 + + + 国宝发现-2024-48 + + + 国家公园精彩片段-13 + + + 乡村篮球队第2集 + + + 乡村篮球队第3集 + + + 中国新闻 + + + 今日关注 + + + 平凡匠心-2024-97 + + + 国家公园精彩片段-11 + + + 新闻联播 + + + 健康中国-2024-48 + + + 中国新闻 + + + 今日关注 + + + 今日环球 + + + 江河之上第12集 + + + 江河之上第13集 + + + 环球综艺秀-2024-49 + + + 中国缘-2024-48 + + + 中国新闻 + + + 海峡两岸-2024-336 + + + 中国舆论场-2024-47 + + + 乡村篮球队第2集 + + + 乡村篮球队第3集 + + + 中国缘-2024-48 + + + 江河之上第12集 + + + 江河之上第13集 + + + 中国新闻 + + + 平凡匠心-2024-97 + + + 国家公园精彩片段-12 + + + 中国新闻 + + + 今日亚洲 + + + 环球综艺秀-2024-49 + + + 中国新闻 + + + 今日关注 + + + 精彩音乐汇(海外版)-2024-320 + + + 动画城(四套)-2024-332 + + + 中国缘-2024-48 + + + CCTV5 + + + 实况录像-2024年世界技巧运动锦标赛 男子集体平衡决赛、男子集体动力决赛 + + + 实况录像-2024年四大洲速度滑冰锦标赛 2 + + + 实况录像-2024/2025赛季花样滑冰大奖赛 美国站 1 + + + 国际足球赛场-24-25赛季法国足球甲级联赛第3轮 里尔—巴黎圣日耳曼 + + + 实况录像-2024年世界健美操锦标赛 1 + + + 赛事集锦-2024年射箭世界杯总决赛1(4K) + + + 健身动起来 + + + 体坛晨报 + + + 赛事集锦(奥林匹克)-2024年中国杯世界花样滑冰大奖赛 表演滑(4K) + + + 2024/2025赛季雪车世界杯-中国北京站 女子钢架雪车决赛(4K) + + + 2024年国际乒联混合团体世界杯-第一阶段 第2轮(韩国队-中国台北队) + + + 体坛快讯 + + + 2024年国际乒联混合团体世界杯-第一阶段 第2轮(中国队-印度队) + + + 艺术里的奥林匹克 + + + 实况录像-2024/2025赛季中国男子篮球职业联赛 第12轮 深圳马可波罗—辽宁本钢 + + + 2024/2025德国足球甲级联赛-第12轮(多特蒙德-拜仁慕尼黑)(4K) + + + 实况录像-2024/2025赛季单板滑雪世界杯 中国美林站 平行大回转 + + + 体育新闻 + + + 天下足球 + + + 2024/2025赛季中国男子篮球职业联赛-第12轮(浙江方兴渡-九台农商银行) + + + 体育世界 + + + 实况录像-2024/2025赛季斯诺克英国锦标赛 决赛 第二阶段(录播) + + + CCTV5+ + + + 实况录像-2024/2025中国男子篮球职业联赛常规赛 第8轮 深圳马可波罗—广州朗肽海本 + + + 国际足球赛场-24-25赛季英超联赛第8轮 曼彻斯特联—布伦特福德 + + + 2024年英国女子高尔夫公开赛-第四轮 + + + 实况录像-2024/2025赛季花样滑冰大奖赛 芬兰站 2 + + + 实况录像-2024年全国田径锦标赛 + + + 赛事集锦-2024年中国羽毛球大师赛1(4K) + + + 2024年世界一级方程式锦标赛-卡塔尔大奖赛 正赛(录播) + + + 实况录像-2024/2025赛季中国男子篮球职业联赛 第12轮 深圳马可波罗—辽宁本钢 + + + 国际足球赛场-24-25赛季英超联赛第13轮 水晶宫—纽卡斯尔联 (4K) + + + 实况录像-2024/2025赛季速度滑冰世界杯 日本站 1 + + + 实况录像-2024年四大洲速度滑冰锦标赛 1 + + + 2024年国际乒联混合团体世界杯-第一阶段第2轮(法国队-瑞典队、日本队-埃及队) + + + 赛事集锦-第二届跑酷世界锦标赛1(4K) + + + 实况录像-2024年WTA总决赛 单打小组赛 莱巴金娜-郑钦文 + + + 实况录像-2024/2025赛季花样滑冰大奖赛 日本站 1 + + + CCTV6 + + + 那山、那人、那狗 + + + 李明瑞 + + + 抗日名将卫立煌 + + + 不老奇事 + + + 我和我的家乡:回乡之路 + + + 云中的郎木寺 + + + 绝代 + + + 车祸疑云 + + + 音乐电影欣赏 + + + 后会无期 + + + 迷失之城 + + + 小警风云之从警记 + + + 超时空救兵 + + + 今日影评2024-337 + + + 刘老庄八十二壮士 + + + 中国电影报道2024-337 + + + 看不见的客人(上) + + + 中国体育彩票阳光开奖2024-12-02 + + + 看不见的客人(下) + + + CCTV7 + + + 再见 + + + 国防故事-2024-78 + + + 国防故事-2024-79 + + + 国防故事-2024-80 + + + 国防微视频-军歌嘹亮-战友兄弟-全军种(2024年) + + + 国防军事早报 + + + 讲武堂-2024-48 + + + 防务新观察-2024-307 + + + 军营的味道-2024-42 + + + 兵器面面观-2024-240 + + + 军武零距离-2023-52(4K) + + + 军武零距离-2024-3(4K) + + + 军武零距离-2023-49(4K) + + + 正午国防军事 + + + 防务新观察-2024-307 + + + 砺剑-2024-48 + + + 兵器面面观-2024-240 + + + 军事纪录-2024-162 + + + 区小队16/37 + + + 区小队17/37 + + + 区小队18/37 + + + 世界战史-2024-41 + + + 军事纪录-2024-164 + + + 国防微视频-军歌嘹亮-界碑之上(2024年) + + + 兵器面面观-2024-241 + + + 国防故事-2024-187 + + + 新闻联播 + + + 军事报道 + + + 国防微视频-军歌嘹亮-战友兄弟-全军种(2024年) + + + 防务新观察-2024-308 + + + 军事纪实-2024-241 + + + 军武零距离-2024-49(4K) + + + 潜行者33/37 + + + 潜行者34/37 + + + 军事纪实-2024-241 + + + CCTV8 + + + 我怕来不及第22集 + + + 星推荐-2024年12月-1 + + + 我怕来不及第23集 + + + 我怕来不及第24集 + + + 我怕来不及第25集 + + + 插花-2022-3 + + + 我怕来不及第26集 + + + 插花-2022-3 + + + 星推荐-2024年12月-1 + + + 刘家媳妇第29集 + + + 刘家媳妇第30集 + + + 刘家媳妇第31集 + + + 刘家媳妇第32集 + + + 星推荐-2024年12月-1 + + + 黑白禁区第32集 + + + 黑白禁区第33集 + + + 星推荐-2024年12月-1 + + + 黑白禁区第34集 + + + 黑白禁区第35集 + + + 黑白禁区第36集 + + + 星推荐-2024年12月-1 + + + 西北岁月第27集 + + + 西北岁月第28集 + + + 西北岁月第29集 + + + 西北岁月第30集 + + + 星推荐-2024年12月-1 + + + 插花-2015-3 + + + 岁岁年年柿柿红第5集 + + + 岁岁年年柿柿红第6集 + + + 星推荐-2024年12月-1 + + + 岁岁年年柿柿红第7集 + + + 星推荐-2024年12月-2 + + + 本集提要-我是刑警-第10集 + + + 我是刑警第10集 + + + 本集提要-我是刑警-第11集 + + + 我是刑警第11集 + + + 本集提要-城中之城-第39集 + + + 城中之城第39集 + + + 本集提要-城中之城-第40集 + + + 城中之城第40集 + + + 我怕来不及第27集 + + + 星推荐-2024年12月-2 + + + CCTV8K + + + 精彩呈现 + + + 品牌强国宣传片4(8K) + + + 莲荷 + + + 上海总站超高清节目集锦如果国宝会说话第三季(8K)(第25集) + + + 锦鲤(8K) + + + 永恒的诗篇(8K) + + + 都实现(8K) + + + 央视外语新闻新媒体美丽中国说2(8K) + + + 国博文物展示错金银云纹铜犀尊(8K) + + + 等春来(8K) + + + 主标识演绎动画(8K) + + + 品牌强国宣传片4(8K) + + + 鹿鸣课堂宣传片(8K) + + + 等春来(8K) + + + 像你这样的朋友(8K) + + + 冬日暖阳(8K) + + + 千秋诗颂过故人庄(8K) + + + 春风伴你乐元宵(8K) + + + 观灯赏戏闹元宵(8K) + + + 主标识演绎动画(8K) + + + 上海总站超高清节目集锦如果国宝会说话第一季(8K)(第1集) + + + 舞蹈世界在中国大地上边走边跳贵州站(8K) + + + 莲荷 + + + 中央广播电视总台你也有笑脸(8K) + + + 中央广播电视总台摇篮曲(8K) + + + 中央广播电视总台阿普的思念(8K) + + + 中央广播电视总台当你老了(8K) + + + 美丽中国北上广 + + + 主标识演绎动画(8K) + + + 品牌强国宣传片4(8K) + + + 鹿鸣课堂宣传片(8K) + + + 大运河之歌4(8K) + + + 美丽中国海南岛(8K) + + + 主标识演绎动画(8K) + + + 鹿鸣课堂宣传片(8K) + + + 品牌强国宣传片4(8K) + + + 健康到到令(8K) + + + 鹅鹅鹅(8K) + + + 跃龙门(8K) + + + 瓷影(8K) + + + 舞蹈世界在中国大地上边走边跳贵州站(8K) + + + 千秋诗颂闻官军收河南河北(8K) + + + 万物温柔相依(8K) + + + 见信如晤(8K) + + + 龙马精神(8K) + + + 品牌强国宣传片4(8K) + + + 上海总站超高清节目集锦如果国宝会说话第一季(8K)(第2集) + + + 中央广播电视总台再回首(8K) + + + 中央广播电视总台东北民谣(8K) + + + 中央广播电视总台岁岁(8K) + + + 中央广播电视总台灯火里的中国(8K) + + + 品牌强国宣传片4(8K) + + + 莲荷 + + + 上海总站超高清节目集锦如果国宝会说话第三季(8K)(第25集) + + + 锦鲤(8K) + + + 永恒的诗篇(8K) + + + 都实现(8K) + + + 品牌强国宣传片4(8K) + + + 央视外语新闻新媒体美丽中国说2(8K) + + + 国博文物展示错金银云纹铜犀尊(8K) + + + 主标识演绎动画(8K) + + + 品牌强国宣传片4(8K) + + + 鹿鸣课堂宣传片(8K) + + + 等春来(8K) + + + 像你这样的朋友(8K) + + + 冬日暖阳(8K) + + + 千秋诗颂过故人庄(8K) + + + 春风伴你乐元宵(8K) + + + 观灯赏戏闹元宵(8K) + + + 主标识演绎动画(8K) + + + 上海总站超高清节目集锦如果国宝会说话第一季(8K)(第1集) + + + 舞蹈世界在中国大地上边走边跳贵州站(8K) + + + 莲荷 + + + 中央广播电视总台你也有笑脸(8K) + + + 中央广播电视总台摇篮曲(8K) + + + 中央广播电视总台阿普的思念(8K) + + + 中央广播电视总台当你老了(8K) + + + 美丽中国北上广 + + + 主标识演绎动画(8K) + + + 品牌强国宣传片4(8K) + + + 鹿鸣课堂宣传片(8K) + + + 大运河之歌4(8K) + + + 美丽中国海南岛(8K) + + + 主标识演绎动画(8K) + + + 鹿鸣课堂宣传片(8K) + + + 品牌强国宣传片4(8K) + + + 健康到到令(8K) + + + 鹅鹅鹅(8K) + + + 跃龙门(8K) + + + 瓷影(8K) + + + 舞蹈世界在中国大地上边走边跳贵州站(8K) + + + 千秋诗颂闻官军收河南河北(8K) + + + 万物温柔相依(8K) + + + 见信如晤(8K) + + + 龙马精神(8K) + + + 品牌强国宣传片4(8K) + + + 上海总站超高清节目集锦如果国宝会说话第一季(8K)(第2集) + + + 中央广播电视总台再回首(8K) + + + 中央广播电视总台东北民谣(8K) + + + 中央广播电视总台岁岁(8K) + + + 中央广播电视总台灯火里的中国(8K) + + + 品牌强国宣传片4(8K) + + + 莲荷 + + + 上海总站超高清节目集锦如果国宝会说话第三季(8K)(第25集) + + + 锦鲤(8K) + + + 永恒的诗篇(8K) + + + 都实现(8K) + + + 品牌强国宣传片4(8K) + + + 央视外语新闻新媒体美丽中国说2(8K) + + + 国博文物展示错金银云纹铜犀尊(8K) + + + 品牌强国宣传片4(8K) + + + 鹿鸣课堂宣传片(8K) + + + 像你这样的朋友(8K) + + + 冬日暖阳(8K) + + + 我的家乡我的歌(8K) + + + 千秋诗颂过故人庄(8K) + + + 春风伴你乐元宵(8K) + + + 观灯赏戏闹元宵(8K) + + + 上海总站超高清节目集锦如果国宝会说话第一季(8K)(第1集) + + + 莲荷 + + + 中央广播电视总台你也有笑脸(8K) + + + 中央广播电视总台摇篮曲(8K) + + + 中央广播电视总台阿普的思念(8K) + + + 中央广播电视总台当你老了(8K) + + + 美丽中国北上广 + + + 品牌强国宣传片4(8K) + + + 鹿鸣课堂宣传片(8K) + + + 大运河之歌4(8K) + + + 美丽中国海南岛(8K) + + + 鹿鸣课堂宣传片(8K) + + + 品牌强国宣传片4(8K) + + + 健康到到令(8K) + + + 鹅鹅鹅(8K) + + + 决胜(8K) + + + 跃龙门(8K) + + + 瓷影(8K) + + + 千秋诗颂闻官军收河南河北(8K) + + + 万物温柔相依(8K) + + + 见信如晤(8K) + + + 龙马精神(8K) + + + 品牌强国宣传片4(8K) + + + 上海总站超高清节目集锦如果国宝会说话第一季(8K)(第2集) + + + 中央广播电视总台再回首(8K) + + + 中央广播电视总台东北民谣(8K) + + + 中央广播电视总台岁岁(8K) + + + 中央广播电视总台灯火里的中国(8K) + + + 品牌强国宣传片4(8K) + + + 鹿鸣课堂宣传片(8K) + + + 大运河之歌5(8K) + + + 美丽中国海南岛(8K) + + + 品牌强国宣传片4(8K) + + + 鹿鸣课堂宣传片(8K) + + + 中央广播电视总台明月千里寄相思(8K) + + + 中央广播电视总台再回首(8K) + + + 中央广播电视总台染(8K) + + + 上海总站超高清节目集锦如果国宝会说话第一季(8K)(第3集) + + + 看动画片的我们长大了(8K) + + + 枕着光的她(8K) + + + 咏春(8K) + + + 无我(8K) + + + 品牌强国宣传片4(8K) + + + 千秋诗颂别董大(8K) + + + 龙儿龙(8K) + + + 春生潇湘(长沙分会场)(8K) + + + 巨龙的土壤(8K) + + + 宣传片(8K) + + + 莲荷 + + + 品牌强国宣传片4(8K) + + + 鹿鸣课堂宣传片(8K) + + + 上海总站超高清节目集锦如果国宝会说话第一季(8K)(第4集) + + + 不如见一面(8K) + + + 拼音(8K) + + + 礼序(8K) + + + 让幸福飞起来(8K) + + + 晒SHARE(8K) + + + 央视外语新闻新媒体美丽中国说3(8K) + + + 中央广播电视总台当你老了(8K) + + + 品牌强国宣传片4(8K) + + + 鹿鸣课堂宣传片(8K) + + + 中央广播电视总台彩云追月(8K) + + + 中央广播电视总台君是山(8K) + + + 中央广播电视总台清平调(8K) + + + 中央广播电视总台海上明月(8K) + + + 上海总站超高清节目集锦如果国宝会说话第一季(8K)(第5集) + + + 百花争艳(8K) + + + 美人(8K) + + + 千秋诗颂咏鹅(8K) + + + 万象长安(西安分会场)(8K) + + + 小雅鹿鸣(8K) + + + 致平凡(8K) + + + 宣传片(8K) + + + 你的眼神(8K) + + + 8K再见 + + + CCTV9 + + + 全景自然2024-336 + + + 魅力万象2024-336 + + + 故事中国2024-293 + + + 9视频2024-337 + + + 特别呈现2024-345 + + + 故事中国2024-293 + + + 全景自然2024-336 + + + 魅力万象2024-336 + + + 9视频2024-337 + + + 活力·源2024-365 + + + 活力·源2024-346 + + + 特别呈现2024-345 + + + 全景自然2024-336 + + + 寰宇视野2024-336 + + + 特别呈现2024-345 + + + 全景自然2024-336 + + + 魅力万象2024-336 + + + 故事中国2024-293 + + + 寰宇视野2024-336 + + + 全景自然2024-337 + + + 魅力万象2024-337 + + + 9视频2024-338 + + + 活力·源2024-366 + + + 特别呈现2024-346 + + + 寰宇视野2024-337 + + + 故事中国2024-294 + + + 寰宇视野2024-337 + + + CCTVNEWS + + + CCTVNEWS + + + DIALOGUE + + + CHINATODAY + + + NEWFRONTIERS + + + BIZCHINA + + + CULTUREEXPRESS + + + CCTVNEWS + + + LEARNINGCHINESE + + + NATURESCIENCE + + + CHINESECIVILIZATION + + + ASIATODAY + + + AROUNDCHINA + + + NEWUPDATES + + + SPORTSSCENE + + + REDISCOVERINGCHINA + + + BIZCHINA + + + DOCUMENTARY + + + CHINATODAY + + + DIALOGUE + + + WORLDWIDEWATCH + + + CULTUREEXPRESS + + + CCTVNEWS + + + LEARNINGCHINESE + + + NATURESCIENCE + + + CHINESECIVILIZATION + + + NEWSUPDATES + + + SPORTSSCENE + + + NEWFRONTIERS + + + BIZCHINA + + + AROUNDCHINA + + + NEWSHOUR + + + DIALOGUE + + + REDISCOVERINGCHINA + + + BIZCHINA + + + CULTUREEXPRESS + + + NEWSUPDATES + + + LEARNINGCHINESE + + + NATURESCIENCE + + + CHINESECIVILIZATION + + + NEWSUPDATES + + + SPORTSSCENE + + + NEWFRONTIERS + + + CCTVNEWS + + + DOCUMENTARY + + + BIZCHINA + + + AROUNDCHINA + + + WORLDWIDEWATCH + + + DIALOGUE + + + ASIATODAY + + + CULTUREEXPRESS + + + BIZCHINA + + + REDISCOVERINGCHINA + + + CHINATODAY + + + NEWFRONTIERS + + + NEWSUPDATES + + + SPORTSSCENE + + + DOCUMENTARY + + + CCTV娱乐 + + + 精彩呈现 + + + 亲爱的孩子们(第30集) + + + 特别呈现 + + + 健康之路 + + + 江河之上(第11集) + + + 江河之上(第12集) + + + 星光大道(这一站星光18) + + + 开讲啦 + + + 亲爱的孩子们(第28集) + + + 亲爱的孩子们(第29集) + + + 亲爱的孩子们(第30集) + + + 健康之路 + + + 综艺喜乐汇 + + + 特别呈现 + + + 跟着书本去旅行 + + + 江河之上(第11集) + + + 江河之上(第12集) + + + 星光大道(这一站星光18) + + + 开讲啦 + + + 亲爱的孩子们(第28集) + + + 亲爱的孩子们(第29集) + + + 亲爱的孩子们(第30集) + + + 健康之路 + + + 回家吃饭 + + + 江河之上(第13集) + + + 江河之上(第14集) + + + 越战越勇 + + + 综艺喜乐汇 + + + 百家讲坛 + + + 亲爱的孩子们(第31集) + + + 亲爱的孩子们(第32集) + + + CCTV怀旧剧场 + + + 勿忘初心 27/32 + + + 勿忘初心 28/32 + + + 经典重温-中国电影 特快列车 + + + 勿忘初心 26/32 + + + 勿忘初心 27/32 + + + 勿忘初心 28/32 + + + 经典重温-中国电影 铁道卫士 + + + 北方大地 15/34 + + + 北方大地 16/34 + + + 北方大地 17/34 + + + 北方大地 18/34 + + + 神医喜来乐-5/31 嵺 + + + 神医喜来乐-6/31 + + + 神医喜来乐-7/31 桶 + + + 神医喜来乐-8/31 桶 + + + 经典重温-中国电影 花好月圆 + + + 大河儿女-(双语)-32/43 + + + 大河儿女-(双语)-33/43 + + + 勿忘初心 29/32 + + + CCTV第一剧场 + + + 武当一剑 3/39 + + + 武当一剑 2/39 + + + 武当一剑 3/39 + + + 谢谢你医生 19/40 + + + 谢谢你医生 20/40 + + + 谢谢你医生 21/40 + + + 谢谢你医生 22/40 + + + 他是谁 3/24 + + + 他是谁 4/24 + + + 我和我的三个姐姐 20/38 + + + 我和我的三个姐姐 21/38 + + + 我和我的三个姐姐 22/38 + + + 我和我的三个姐姐 23/38 鵺 + + + 我和我的三个姐姐 24/38 鵺 + + + 我和我的三个姐姐 25/38 + + + + + + 谢谢你医生 23/40 + + + 谢谢你医生 24/40 + + + 谢谢你医生 25/40 + + + 谢谢你医生 26/40 + + + 他是谁 5/24 + + + 他是谁 6/24 + + + 武当一剑 4/39 + + + CCTV风云剧场 + + + 胡同 31/36 + + + 胡同 32/36 惴 + + + 胡同 33/36 + + + 胡同 34/36 + + + 胡同 35/36 + + + 胡同 36/36 + + + 风云剧场-叶卡捷琳娜二世(俄罗斯)第一季7(许可证版) + + + 风云剧场-叶卡捷琳娜二世(俄罗斯)第一季8(许可证版) + + + 风云剧场-叶卡捷琳娜二世(俄罗斯)第一季9(许可证版) + + + 谁说我结不了婚 1/39 + + + 谁说我结不了婚 2/39 + + + 谁说我结不了婚 3/39 + + + 谁说我结不了婚 4/39 + + + 谁说我结不了婚 5/39 + + + 谁说我结不了婚 6/39 沶 + + + !如果奔跑是我的人生 20/28 + + + !如果奔跑是我的人生 21/28 + + + !如果奔跑是我的人生 22/28 + + + 风云剧场-叶卡捷琳娜二世(俄罗斯)第一季10(许可证版) + + + 风云剧场-叶卡捷琳娜二世(俄罗斯)第二季1(许可证版) + + + 风云剧场-叶卡捷琳娜二世(俄罗斯)第二季2(许可证版) + + + CDTV1 + + + 第一房产.资讯 + + + 快乐购房 + + + 第一品牌 + + + 夜剧场 + + + 成视新闻 + + + 跟我去蹭饭 + + + 活到100岁 + + + 早间剧场 + + + 田园成都 + + + 快乐购房 + + + 成视午新闻 + + + 搏-天下 + + + 家装1000问 + + + 第一品牌 时尚健康 + + + 黄昏剧场 + + + 今晚8:00 + + + 天天橙掌柜 + + + 帮忙有一套 + + + 中央电视台新闻联播 + + + 天气预报 + + + 成视新闻 + + + 黄金剧场 + + + 今晚800 + + + 城视夜新闻 + + + 东周社 温故 + + + 帮忙有一套 + + + CDTV2 + + + 欢乐家装 + + + 法治公开课 + + + 金沙讲坛 + + + 我是创客 + + + 经视盖碗茶 + + + 美丽人生 + + + 我是创客 + + + 欢乐家装 + + + 经视盖碗茶 + + + 美丽人生 + + + 美丽四川优秀作品展播 + + + 李伯清书场 + + + 百科全汇 + + + 李伯清书场 + + + 每日财经 + + + 李伯清书场 + + + 白天专题一 + + + 李伯清书场 + + + 白天专题二 + + + 百科全汇 + + + 每日财经 + + + 经视盖碗茶 + + + 欢乐家装 + + + 百科全汇 + + + 第一房产 + + + 李伯清书场 + + + 经视盖碗茶 + + + 美家美户 + + + 李伯清书场 + + + 经视盖碗茶 + + + 李伯清书场 + + + 欢乐家装 + + + 每日财经 + + + 李伯清书场 + + + 新闻故事汇 + + + 你好喜剧 + + + 第一房产快讯 + + + 深夜快递 + + + 美丽人生 + + + 美家美户 + + + 第一房产 + + + CDTV3 + + + 第一品牌 + + + 快乐购房 + + + 第一房产资讯 + + + 第一品牌 + + + 吃喝玩乐全接触 + + + 相亲进行时 + + + 开播 + + + 第一家园 + + + 第一房产 + + + 我是谁 + + + 幸福栏目剧 + + + 吃喝玩乐全接触 + + + 热线188 + + + 活到100岁 + + + 相亲进行时 + + + 920在行动 + + + 幸福栏目剧 + + + 食不可挡 + + + 快乐购房 + + + 红绿灯 + + + 有话好好说 + + + 养生龙门阵 + + + 红绿灯 + + + 热线188 + + + 920在行动 + + + 相亲进行时 + + + 食不可挡 + + + 真的有戏 + + + 第一品牌 + + + CDTV4 + + + 生活麻辣烫 + + + 热剧连播 + + + 夜猫子剧场 + + + 活到100岁 + + + 活到100岁.降糖乐园 + + + 生活麻辣烫 + + + 经典剧场 + + + 生活麻辣烫 + + + 经典剧场 + + + 夜猫子剧场 + + + 活到100岁 + + + 健康之门 + + + 精品剧场 + + + 凡人有事 + + + 生活麻辣烫 + + + 热剧连播 + + + 夜猫子剧场 + + + CDTV5 + + + 第一房产资讯 + + + 第一品牌 + + + 活到100岁 + + + 第一房产资讯 + + + 第一品牌 + + + 成都全接触 + + + 城市焦点报告 + + + 成都全接触 + + + 成视新闻 + + + 西望成都 + + + 5夜热视频 + + + 成都全接触 + + + 红绿灯 + + + 西望成都 + + + 成都全接触 + + + 娱情全接触 + + + 家装1000问 + + + 经典大剧场一 + + + 娱情全接触 + + + 经典大剧场二 + + + 第一家园 + + + 财经5频道 + + + 新闻冲击波 + + + 成都全接触 + + + 民生大剧场 + + + 娱情全接触 + + + 城市焦点报告 + + + 5夜热视频 + + + 大鑫请客 + + + 运动成都 + + + 第一房产资讯 + + + 第一品牌 + + + CDTV6 + + + 第一品牌 + + + 第一房产-资讯 + + + 第一家居 + + + 第一健康 + + + 请等待 + + + 乐豆阳光剧场 + + + 第一家园(重播) + + + 第一品牌 + + + 快乐购房 + + + 乐豆亲子剧场(重播) + + + 寰宇地理 + + + 陈岳叔叔讲故事(重播) + + + 乐豆乐淘淘 + + + 乐豆逗斗堂之生日会(重播) + + + 乐豆乐淘淘 + + + 乐豆亲子剧场(重播) + + + 乐豆卡通剧场 + + + 小神龙俱乐部 + + + 优趣卡通 + + + 陈岳叔叔讲故事 + + + 乐豆逗斗堂 + + + 动画中国成长剧场 + + + 乐豆亲子剧场 + + + 第一家园 + + + 第一家居 + + + 第一房产 + + + 快乐购房 + + + CETV1 + + + 等着我(41) + + + 等着我(42) + + + 发现中国(82) + + + 影视公开课(5) + + + 影视公开课(6) + + + 纪录中国(37) + + + 纪录中国(38) + + + 纪录中国(38) + + + 发现中国(83) + + + 艺术素养公开课:跟着大师学乐器 + + + 导视 + + + 飞虎队(28) + + + 导视 + + + 飞虎队(29) + + + 铁血尖刀(40) + + + 铁血尖刀(41) + + + 铁血尖刀(41) + + + 铁血尖刀(42) + + + 铁血尖刀(43) + + + 铁血尖刀(44) + + + 等着我(67) + + + 美丽人生 + + + 教育新闻直播间 + + + 导视 + + + 大西南剿匪记(52) + + + 大西南剿匪记(53) + + + 大西南剿匪记(54) + + + 教育新闻直播间 + + + 大西南剿匪记(55) + + + 大西南剿匪记(56) + + + 教育新闻直播间 + + + 等着我(68) + + + 美丽人生 + + + 彩虹护卫队(6) + + + 全国教育新闻联播 + + + 转播中央台新闻联播 + + + 导视 + + + 育见(242) + + + e视界 + + + 马王堆·岁月不朽(4) + + + 微纪录:执着的女博士 + + + 导视 + + + 北京中小学校园安全系列教育活动 + + + 导视 + + + 等着我(43) + + + 美丽人生 + + + CETV2 + + + 纪录中国 + + + 纪录中国 + + + 发现·中国 + + + 发现·中国 + + + 艺术素养公开课 + + + 同上一堂课 + + + 发现·中国 + + + 纪录片 + + + 纪录片 + + + 课本中的苏轼 + + + 纪录中国 + + + 一堂好课 + + + 发现·中国 + + + 一堂好课 + + + 动画片 + + + 影视公开课 + + + 艺术素养公开课 + + + 纪录中国 + + + 同上一堂课 + + + 纪录中国 + + + 纪录片 + + + 纪录片 + + + 一堂好课 + + + 纪录中国 + + + 一堂好课 + + + 艺术素养公开课 + + + 影视公开课 + + + 笑傲江湖Ⅱ + + + 墨香 + + + 同上一堂课 + + + 纪录中国 + + + 动画片 + + + 纪录中国 + + + 同上一堂课 + + + 纪录中国 + + + 课本中的苏轼 + + + 纪录中国 + + + 纪录片 + + + 奇妙节水课 + + + 纪录中国 + + + 笑傲江湖Ⅱ + + + 笑傲江湖Ⅱ + + + 笑傲江湖Ⅱ + + + 笑傲江湖Ⅱ + + + 笑傲江湖Ⅱ + + + 笑傲江湖Ⅱ + + + 笑傲江湖Ⅱ + + + CETV3 + + + 纪录中国 + + + 留学为你来 + + + 微纪录 + + + 发现 中国 + + + 给孩子们的大师讲堂 + + + 留学为你来 + + + 微纪录 + + + 纪录中国 + + + 一堂好课 + + + 百年巨匠 + + + CETV导视 + + + 刀光枪影 + + + 刀光枪影 + + + 美丽人生 + + + 等着我 + + + 美丽人生 + + + 等着我 + + + 美丽人生 + + + 等着我 + + + 美丽人生 + + + 等着我 + + + 美丽人生 + + + 一堂好课 + + + 影视公开课 + + + 等着我 + + + 美丽人生 + + + 等着我 + + + 美丽人生 + + + 等着我 + + + 美丽人生 + + + 等着我 + + + 美丽人生 + + + 发现 中国 + + + 百年巨匠 + + + 放飞梦想青春歌会 + + + 我是辅导员 + + + 美丽人生 + + + 纪录中国 + + + 行业影像志 + + + 村寨 美丽中国 + + + 百家新说 + + + 微纪录 + + + 一堂好课 + + + 心理健康公开课 + + + 微纪录 + + + CETV4 + + + 等着我 + + + 美丽人生 + + + 职教中国 + + + 金牌体育课 + + + 等着我 + + + 美丽人生 + + + 等着我 + + + 美丽人生 + + + 等着我 + + + 美丽人生 + + + 等着我 + + + 美丽人生 + + + 等着我 + + + 美丽人生 + + + e体资讯 + + + 青春训练营 + + + 青春训练营 + + + 青春训练营 + + + 冠军说 + + + 探索 + + + 动起来一起闪亮 + + + 夏天说体育 + + + CGTN + + + 今日世界 + + + 周末科技秀 + + + 非洲直播室 + + + 非洲面孔 + + + 周末科技秀 + + + 对话非洲 + + + 今日世界 + + + 传承中国 + + + 今日世界 + + + 旅游指南 + + + 今日世界 + + + 亚洲观察 + + + 美洲观察 + + + 今日世界 + + + 非洲面孔 + + + 今日世界 + + + 传承中国 + + + 今日世界 + + + 周末科技秀 + + + 今日世界 + + + 旅游指南 + + + 今日世界 + + + 体育报道 + + + 欣视点 + + + 环球视线 + + + 今日世界 + + + 体育报道 + + + 中国再发现 + + + 今日世界 + + + 周末科技秀 + + + 今日世界 + + + 体育报道 + + + 今日世界 + + + 全球财经 + + + 今日世界 + + + 文化速递 + + + 今日世界 + + + 非洲直播室 + + + 今日亚洲 + + + 对话 + + + 今日世界 + + + 中国24小时 + + + 全球财经 + + + 欣视点 + + + 今日世界 + + + 薇观世界 + + + 今日世界 + + + CGTN俄语 + + + 剧场 + + + 万花筒 + + + 专题 + + + 热身 + + + 中国厨艺 + + + 故事汇 + + + 旅游指南 + + + 剧场 + + + 故事汇 + + + 纪录片 + + + 旅游指南 + + + 万花筒 + + + 专题 + + + 中国厨艺 + + + 剧场 + + + 剧场 + + + 热身 + + + 故事汇 + + + 纪录片 + + + 综合新闻 + + + 对话 + + + 旅游指南 + + + 万花筒 + + + 综合新闻 + + + 剧场 + + + 剧场 + + + 综合新闻 + + + 专题 + + + 纪录片 + + + 综合新闻 + + + 对话 + + + 万花筒 + + + 旅游指南 + + + 综合新闻 + + + 专题 + + + 纪录片 + + + 综合新闻 + + + 对话 + + + 热身 + + + 中国厨艺 + + + 故事汇 + + + CGTN法语 + + + 剧场 + + + 剧场 + + + 魔法奇迹 + + + 专题 + + + 全景 + + + 中国通 + + + 剧场 + + + 剧场 + + + 纪录片 + + + 对话 + + + 中国通 + + + 动画城 + + + 专题 + + + 全景 + + + 对话 + + + 剧场 + + + 剧场 + + + 全景 + + + 综合新闻 + + + 纪录片 + + + 动画城 + + + 专题 + + + 综合新闻 + + + 专题 + + + 财经新闻 + + + 中国通 + + + 对话 + + + 剧场 + + + 剧场 + + + 综合新闻 + + + 专题 + + + 直播非洲 + + + 纪录片 + + + 动画城 + + + 专题 + + + 综合新闻 + + + 对话 + + + 中国通 + + + 纪录片 + + + CGTN纪录 + + + 人文地理(英) + + + 时代写真(英) + + + 特别呈现(英) + + + 发现之路(英) + + + 历史传奇(英) + + + 精彩放送(英) + + + 人文地理(英) + + + 时代写真(英) + + + 特别呈现(英) + + + 发现之路(英) + + + 历史传奇(英) + + + 人文地理(英) + + + 时代写真(英) + + + 特别呈现(英) + + + 精彩放送(英) + + + 发现之路(英) + + + 历史传奇(英) + + + 精彩放送(英) + + + 人文地理(英) + + + 时代写真(英) + + + 特别呈现(英) + + + 发现之路(英) + + + 历史传奇(英) + + + 精彩放送(英) + + + 人文地理(英) + + + 时代写真(英) + + + 特别呈现(英) + + + 发现之路(英) + + + 历史传奇(英) + + + 精彩放送(英) + + + 人文地理(英) + + + 时代写真(英) + + + 特别呈现(英) + + + 发现之路(英) + + + 历史传奇(英) + + + 精彩放送(英) + + + CGTN西语 + + + 剧场 + + + 学做中国菜 + + + 学汉语 + + + 纪录片 + + + 这就是中国 + + + 综合新闻 + + + 学做中国菜 + + + 学汉语 + + + 中华艺苑 + + + 动画片 + + + CGTN咖啡座 + + + 纪录片 + + + 剧场 + + + 学做中国菜 + + + 学汉语 + + + 纪录片 + + + 这就是中国 + + + 综合新闻 + + + 文化之约 + + + 综合新闻 + + + 动画片 + + + CGTN咖啡座 + + + 剧场 + + + 剧场 + + + 综合新闻 + + + 学做中国菜 + + + 学汉语 + + + 纪录片 + + + 这就是中国 + + + 文化之约 + + + 中华艺苑 + + + 综合新闻 + + + CGTN咖啡座 + + + 综合新闻 + + + 纪录片 + + + 剧场 + + + 学做中国菜 + + + 学汉语 + + + 纪录片 + + + 这就是中国 + + + 综合新闻 + + + 文化之约 + + + 中华艺苑 + + + 动画片 + + + CGTN咖啡座 + + + 纪录片 + + + CGTN阿语 + + + 剧场 + + + 综合新闻 + + + 中国文艺 + + + 中国之旅 + + + 纪录片 + + + 综合新闻 + + + 链接 + + + 综合新闻 + + + 剧场 + + + 剧场 + + + 综合新闻 + + + 每周财经 + + + 话说中国 + + + 链接 + + + 综合新闻 + + + 现代故事 + + + 中国文艺 + + + 中国之旅 + + + 综合新闻 + + + 动画片 + + + 纪录片 + + + 面对面 + + + 综合新闻 + + + 剧场 + + + 剧场 + + + 话说中国 + + + 链接 + + + 综合新闻 + + + 现代故事 + + + 中国文艺 + + + 中国之旅 + + + 综合新闻 + + + 动画片 + + + 纪录片 + + + 剧场 + + + 剧场 + + + 综合新闻 + + + 面对面 + + + 话说中国 + + + 链接 + + + 综合新闻 + + + 现代故事 + + + 动画片 + + + 剧场 + + + CHC动作电影 + + + 叶问4:完结篇 + + + 请帖 + + + 异形:契约 + + + 侠捕之诡影迷踪 + + + 狄仁杰之雷火玄龙 + + + 哈尔滨往事之营救行动 + + + 夺宝奇兵1 法柜奇兵 + + + 战狼Ⅱ + + + 急先锋 + + + 哈尔滨往事之剃刀行动 + + + 至尊一剑 + + + 扫毒2天地对决 + + + 南拳周泰 + + + 铁血江桥 + + + 拆弹专家2 + + + CHC家庭影院 + + + 浴血广昌 + + + 金臂童 + + + 战斗民族养成记 + + + 好想去你的世界爱你 + + + 幸运星卢克 + + + 维和防暴队 + + + 燃烧的巴黎圣母院 + + + 边缘行者 + + + 地心引力 + + + 奇遇天缘 + + + 疯狂的石头 + + + 雷霆追击 + + + 完美有多美 + + + 极盗者 + + + 铁血娇娃 + + + CHC影迷电影 + + + 精彩呈现 + + + 宋快递 + + + 新警察故事 + + + 热干面的味道 + + + 丢羊 + + + 勇士 + + + 反贪风暴 + + + 长空之王 + + + 家族之苦3 + + + 最后一课 + + + 我的姐姐 + + + 风吹浪涌 + + + 男人私房话 + + + 坏蛋联盟 + + + CHC高清电影 + + + 热干面的味道 + + + 丢羊 + + + 勇士 + + + 反贪风暴 + + + 长空之王 + + + 家族之苦3 + + + 最后一课 + + + 我的姐姐 + + + 风吹浪涌 + + + 男人私房话 + + + CINEMAX热门影院 + + + 精彩呈现 + + + 我家也有大明星第4季第10集 + + + 迷雾山的大祕宝 + + + 撕裂地平线 + + + 豆豆秀 + + + 一夜狂奔 + + + 摇滚教室 + + + 我家也有大明星第4季第9集 + + + 我家也有大明星第4季第10集 + + + 玩命关头X + + + 降魔战警2-诅咒者崛起 + + + 叛将风云 + + + 第六感生死缘 + + + 飞机上有蛇 + + + 印赛德 + + + 狙家隔离 + + + CMC北美 + + + 长恨歌 + + + 特警出击 + + + 无证可查 + + + 厨神驾到 + + + 宋快递 + + + 蛋炒饭 + + + 父子神探之神秘数字 + + + 远东特遣队 第1部 初试锋芒 + + + 远东特遣队 第2部 狭路相逢 + + + 不许抢劫 + + + 李志民军管包头 + + + 防守反击 + + + 东归英雄传 + + + 幸福的小满 + + + 再见汪先森 + + + 沙鸥 + + + 大话西游之二大圣娶亲 + + + CMC香港 + + + 无形猎手 + + + 小镇追凶 + + + 我是花下肥泥巴 + + + 金牌律师之局中局 + + + 小城里的总统套房 + + + 战争角落 + + + 小警风云之从警记 + + + 英雄虎胆 + + + 我是你妈 + + + 傅继泽智斗泊头 + + + 血战漫川关 + + + 白毛女 长影 + + + 上甘岭 + + + 索命逍遥楼 + + + 羊城暗哨 + + + 村官普发兴 + + + DONGFANG1 + + + 开播!情景喜剧短剧季(8) + + + 梦想改造家第十季精编(5) + + + 欢迎来到麦乐村(26) + + + 欢迎来到麦乐村(27) + + + 欢迎来到麦乐村(28) + + + 欢迎来到麦乐村(29) + + + 欢迎来到麦乐村(30) + + + 欢迎来到麦乐村精编(31) + + + 亚洲(3):冰冻世界 + + + 中华人民共和国国歌 + + + 看东方 + + + 天气预报 + + + 长相思第一季(31) + + + 长相思第一季(32) + + + 婚内婚外精编(5) + + + 婚内婚外(6) + + + 婚内婚外(7) + + + 午间30分 + + + 天气预报 + + + 锦绣未央(3) + + + 锦绣未央(4) + + + 锦绣未央(5) + + + 锦绣未央(6) + + + 锦绣未央(7) + + + 婚内婚外(6) + + + 婚内婚外(7) + + + 百妖谱·京师篇(8) + + + 百视大看点 + + + 名医话养生(1006) + + + 东方新闻 + + + 天气预报 + + + 转播中央台新闻联播 + + + 婚内婚外(8) + + + 婚内婚外(9) + + + 明日精彩看点 + + + 东方看大剧 + + + 天涯小娘惹(8) + + + 今晚 + + + 天气预报 + + + 这就是中国 + + + 来点财经范儿 + + + 1/7(1050):反抗无声的家暴等 + + + 梦想改造家第十一季精编(1) + + + FZTV1 + + + 福州新闻 + + + 福州新闻 + + + 新闻110 + + + 闽医说健康 + + + 早间剧场 + + + 财经新视界 + + + 关注 + + + 福州新闻 + + + 新闻110 + + + 财经新视界 + + + 闽医说健康 + + + 午后剧场 + + + 闽医说健康 + + + 关注 + + + 新闻110 + + + 福州新闻 + + + 转播:央视新闻联播 + + + 转播:福建新闻联播 + + + 天气预报 + + + 海洋天气预报 + + + 中国城市报道 + + + 财经新视界 + + + 有理姚说 + + + 整点播报 + + + 新闻110 + + + 财经新视界 + + + 中国城市报道 + + + 福州新闻 + + + 中国城市报道 + + + HBHGTV1 + + + 黄冈新闻 + + + 开机 + + + 锻刀之绝地重生26 + + + 锻刀之绝地重生27 + + + 黄冈新闻 + + + 春暖花又开16 + + + 春暖花又开17 + + + 春暖花又开18 + + + 春暖花又开19 + + + 新播报 + + + 黄冈新闻 + + + 淬火成钢15 + + + 淬火成钢16 + + + 淬火成钢17 + + + 淬火成钢18 + + + 淬火成钢19 + + + 淬火成钢20 + + + 动画片狮来运转16 + + + 动画片狮来运转17 + + + 天气预报 + + + 转播中央新闻联播 + + + 黄冈新闻 + + + 天气预报 + + + 新播报 + + + 冷案12 + + + 冷案13 + + + 黄冈新闻 + + + 天气预报 + + + 对手23 + + + 新播报 + + + HBHGTV2 + + + 开机 + + + 非尝不可 + + + 民生实验室 + + + 黄州新闻 + + + 新播报 + + + 黄冈新闻 + + + 都市圈之声 + + + 短秀新生活 + + + 八零九零09 + + + 八零九零10 + + + 新播报 + + + 黄冈新闻 + + + 黄州新闻 + + + 都市圈之声 + + + 非尝不可 + + + 民生实验室 + + + 短秀新生活 + + + 叛逆者25 + + + 叛逆者26 + + + 叛逆者27 + + + 短秀新生活 + + + 非尝不可 + + + 民生实验室 + + + 新播报 + + + 天气预报 + + + 非尝不可 + + + 短秀新生活 + + + 黄州新闻 + + + 天气预报 + + + 黄冈风物 + + + 短秀新生活 + + + 胭脂19 + + + 胭脂20 + + + 胭脂21 + + + 天气预报 + + + 新播报 + + + 黄州新闻 + + + HBHSTV1 + + + 黄石新闻 + + + 央视朝闻天下 + + + 法治视界 + + + 冷知识 + + + 电视剧:秋蝉 + + + 冷知识 + + + 法治视界 + + + 黄石新闻 + + + 冷知识 + + + 银发时代 + + + 人文中国 + + + 电视剧:底线 + + + 都市传奇 + + + 人文中国 + + + 嘻游记 + + + 新闻直通车 + + + 冷知识 + + + 转央视新闻联播 + + + 黄石新闻 + + + 磁湖聚焦 + + + 城市圈之声 + + + 电视剧:最好的时代 + + + 黄石新闻 + + + 新闻直通车 + + + 磁湖聚焦 + + + 人文中国 + + + 都市传奇 + + + HBJZTV1 + + + 夜间电视剧 + + + 夜间电视剧 + + + 夜间电视剧 + + + 夜间电视剧 + + + 夜间电视剧 + + + 中华人民共和国国歌 + + + 荆州新闻联播 + + + 宣传导视 + + + 江汉风 + + + 阳光剧场 + + + 宣传导视 + + + 阳光剧场 + + + 宣传导视 + + + 阳光剧场 + + + 宣传导视 + + + 江汉风 + + + 宣传导视 + + + 好人开讲周播 + + + 正剧大放送 + + + 宣传导视 + + + 正剧大放送 + + + 宣传导视 + + + 正剧大放送 + + + 宣传导视 + + + 正剧大放送 + + + 宣传导视 + + + 正剧大放送 + + + 宣传导视 + + + 宣传导视 + + + 好人开讲周播 + + + 直播:江汉风 + + + 转播中央台新闻联播 + + + 直播:荆州新闻联播 + + + 心理健康加油站 + + + 风云剧场:面具25 + + + 江汉新气象 + + + 风云剧场:面具26 + + + 荆州新闻联播 + + + 江汉风 + + + HBJZTV2 + + + 重播630剧场 + + + 好过影 + + + 生活剧场 + + + 午后精品 + + + 晚餐电影院 + + + 630剧场 + + + 首播:星云气象 + + + 630剧场 + + + 重播:星云气象 + + + 谍影行动 + + + 电影 + + + HBO + + + 精彩呈现 + + + 喋血双雄 + + + 浪人47之刃 + + + 蹊跷失?的孩子们 + + + 亚瑟-王者之剑 + + + 哥吉拉与金刚-新帝国 + + + 沙丘-预言第1季第3集 + + + Barbie芭比 + + + 好莱坞好好看第1季第1095集 + + + 绝地营救 + + + 滞留生 + + + 蜂电影 + + + 当我们混在一起 + + + 沙丘-预言第1季第3集 + + + 限时绝杀 + + + 超危险保镳 + + + HBO原创巨献 + + + 一个巨星的诞生 + + + 光影大师 + + + 提心吊胆 + + + 金刚:骷髅岛 + + + 讚美 + + + 闺蜜向前冲 + + + 闺蜜向前冲 + + + 双重生活 + + + 堪萨斯之歌 + + + 卡崔娜风灾的孩子们 + + + 一个巨星的诞生 + + + 华顿家的团圆夜 + + + 爱因斯坦与爱丁顿 + + + 越界 + + + 金刚:骷髅岛 + + + 堪萨斯之歌 + + + 阿里和卡维特:动口不动手 + + + HBO强档巨献 + + + 猛毒 + + + 一千零一 + + + 好莱坞好好看 + + + 门当父不对之我才是老大 + + + 诈骗女神 + + + 我的失忆女友 + + + 玩命关头8 + + + 崛起之路 + + + 诈骗女神 + + + 宝贝老板 + + + 一千零一 + + + 门当父不对之我才是老大 + + + 中央情爆员 + + + 仁慈医院 + + + HBO溫馨家庭 + + + 魔法许愿井 + + + 魔法许愿井 + + + 乐高侏罗纪公园:不为人知的故事 + + + 童话王国 + + + 童话王国 + + + 蓝甲虫 + + + 挺身而出 + + + 童话王国 + + + 童话王国 + + + 童话王国 + + + 神奇游戏机 + + + 神奇游戏机 + + + 神奇游戏机 + + + 神奇游戏机 + + + 芝麻街 + + + 芝麻街 + + + 太空小子杰特:太空营大冒险 + + + 妈妈咪呀 + + + 熊熊遇见你 + + + 熊熊遇见你 + + + 熊熊遇见你 + + + 熊熊遇见你 + + + 熊熊遇见你 + + + BEN10再显神威: + + + BEN10再显神威: + + + BEN10再显神威: + + + BEN10再显神威: + + + BEN10再显神威: + + + 爱烦多王子冒险中 + + + 爱烦多王子冒险中 + + + 爱烦多王子冒险中 + + + 爱烦多王子冒险中 + + + 爱烦多王子冒险中 + + + 芝麻街 + + + 芝麻街 + + + 圣诞同学重逢 + + + 比得兔 + + + 蓝甲虫 + + + HBSYTV1 + + + 公益广告展播 + + + 中华人民共和国国歌 + + + 公益宣传 + + + 金融十堰 + + + 十堰新闻联播 + + + 武当神韵廉政聚焦 + + + 十堰环保周刊 + + + 剧场:香山叶正红 + + + 剧场:香山叶正红 + + + 剧场:香山叶正红 + + + 金融十堰 + + + 十堰新闻联播 + + + 武当神韵廉政聚焦 + + + 十堰环保周刊 + + + 剧场:香山叶正红 + + + 剧场:亮剑 + + + 剧场:亮剑 + + + 少儿动画 + + + 人文中国 + + + 金融十堰 + + + 十堰环保周刊 + + + 直播十堰 + + + 转播中央台新闻联播 + + + 十堰新闻联播 + + + 武当神韵 + + + 十堰环保周刊 + + + 剧场:铸匠 + + + 剧场:铸匠 + + + 直播十堰 + + + 十堰新闻联播 + + + HBSYTV2 + + + 觅江南 + + + 人文中国 + + + 十堰文旅 + + + 十堰环保周刊 + + + 剧场:了不起的女孩 + + + 剧场:了不起的女孩 + + + 人文中国 + + + 追光者 + + + 十堰环保周刊 + + + 美丽湖北行 + + + 人文中国 + + + 民生实验室 + + + 诗书画微讲堂 + + + 觅江南 + + + 十堰环保周刊 + + + 武当八百里 + + + 健康新食代 + + + 少儿卡通 + + + 健康新食代 + + + 人文中国 + + + 十堰文旅 + + + 十堰环保周刊 + + + 追光者 + + + 剧场:心想事成 + + + 剧场:心想事成 + + + 武当神韵 + + + 十堰环保周刊 + + + HBSYTV3 + + + 教子有方 + + + 传奇 + + + 奇趣大自然 + + + 罪与罚 + + + 民生说法 + + + 教子有方 + + + 精英训练营 + + + 下午剧场 + + + 下午剧场 + + + 下午剧场 + + + 下午剧场 + + + 教子有方 + + + 传奇 + + + 中华美德故事 + + + 民生说法 + + + 达人的奋斗 + + + 教育关注 + + + 罪与罚 + + + 黄金剧场 + + + 黄金剧场 + + + 教育关注 + + + 电影 + + + HBSZTV1 + + + 静屏 + + + 随视特别节目 + + + 随视台宣+中华人民共和国国歌 + + + 随州新闻 + + + 社会全方位 + + + 直通县市区 + + + 随视商业广告 + + + 动画剧场(两集连播) + + + 编钟剧场(四集连播) + + + 随视商业广告 + + + 随州新闻 + + + 社会全方位 + + + 随视商业广告 + + + 直通县市区 + + + 编钟剧场(四集连播) + + + 随视商业广告 + + + 随视特别节目 + + + 随视公益形象 + + + 随州新闻 + + + 社会全方位 + + + 随视商业广告 + + + 动画剧场 + + + 随视公益形象 + + + 社会全方位 + + + 随视商业广告 + + + 随州新闻 + + + 随州天气预报 + + + 央视新闻联播 + + + 社会全方位 + + + 编钟剧场(两集连播) + + + 随视商业广告 + + + 直通县市区 + + + 随州新闻 + + + 随州天气预报 + + + 随视公益形象 + + + 社会全方位 + + + 随视商业广告 + + + 直通县市区 + + + 随视特别节目 + + + HBSZTV2 + + + 静屏 + + + 直通县市区 + + + 随视台宣+中华人民共和国国歌 + + + 荆楚智农大讲堂(上) + + + 随视商业广告 + + + 荆楚智农大讲堂(下) + + + 随视公益形象 + + + 神农剧场(四集连播) + + + 随视商业广告 + + + 直通县市区 + + + 随视公益形象 + + + 荆楚智农大讲堂(上) + + + 随视商业广告 + + + 荆楚智农大讲堂(下) + + + 神农剧场(四集连播) + + + 随视商业广告 + + + 直通县市区 + + + 荆楚智农大讲堂(上) + + + 随视商业广告 + + + 荆楚智农大讲堂(下) + + + 随视特别节目 + + + 直通县市区 + + + 荆楚智农大讲堂(上) + + + 随视商业广告 + + + 荆楚智农大讲堂(下) + + + 直通县市区 + + + 随视商业广告 + + + 神农剧场(三集连播) + + + 随视商业广告 + + + HBWHTV2 + + + 电视剧:无间 + + + 欢剧一堂 + + + 蓝宝石剧场:八零九零 + + + 欢剧一堂 + + + 红宝石剧场:打开生活的正确方式 + + + 欢剧一堂 + + + 经典大放送:心想事成 + + + 钻石剧场:面具背后 + + + 欢剧一堂 + + + 天天故事会 + + + 电视剧:平凡的荣耀 + + + HBWHTV3 + + + 养生堂 + + + 生活全报道 + + + 武汉新闻 + + + 我的选择 + + + 静屏 + + + 暖暖的味道 + + + 舌尖上的武汉 + + + 我的选择 + + + 暖暖的味道 + + + 快乐生活一点通 + + + 都市茶座 + + + 暖暖的味道 + + + 天天故事会 + + + 暖暖的味道 + + + 电视剧:狂飙 + + + 我的选择 + + + 舌尖上的武汉 + + + 暖暖的味道 + + + 生活全报道 + + + 养生堂 + + + 暖暖的味道 + + + 健康武汉 + + + 生活全报道 + + + 我的选择 + + + 第一动力 + + + 养生堂 + + + 暖暖的味道 + + + 快乐生活一点通 + + + 我的选择 + + + 都市茶座 + + + 生活全报道 + + + 舌尖上的武汉 + + + 暖暖的味道 + + + 电视剧:狂飙 + + + 暖暖的味道 + + + 都市茶座 + + + 暖暖的味道 + + + HBWHTV5 + + + 大武汉戏码头 + + + 综艺传真 + + + 静屏 + + + 动画魔匣 + + + 综艺传真 + + + 爆笑一班日播版 + + + 大武汉戏码头 + + + 文体在线 + + + 剧:底线 + + + 乐游武汉 + + + 文体在线 + + + 动画魔匣 + + + 十分好玩 + + + 新都市茶座 + + + 乐游武汉 + + + 文体在线 + + + 天天故事会 + + + 都市茶座之江城岔巴子 + + + 乐游武汉 + + + 文体在线 + + + 爆笑一班日播版 + + + 快乐时光 + + + 综艺传真 + + + HAPPYFLASH + + + 乐游武汉 + + + 文体在线 + + + 大武汉戏码头 + + + 小小视角 + + + 梦想花开 + + + 新都市茶座 + + + 快乐时光 + + + 文体在线 + + + 乐游武汉 + + + 剧:烽火抗大 + + + HBWHTV6 + + + 静屏 + + + 城市的温度 + + + 奇趣大自然 + + + 武汉遇上法兰西 + + + 武汉新闻 + + + 全球瞭望 + + + 武汉遇上法兰西 + + + 奇趣大自然 + + + 全球瞭望 + + + 准时转播:CGTN + + + HanNews + + + 好说法 + + + 城市圈之声 + + + 全球瞭望 + + + 奇趣大自然 + + + HBWHTV7 + + + 奇趣大自然 + + + 绿野中国 + + + 奇趣大自然 + + + 绿野中国 + + + 健身堂 + + + 行业影像志 + + + 戏曲大课堂 + + + 家长学堂 + + + 大思政-我是辅导员 + + + 家长学堂 + + + 教育视点 + + + 档案 + + + 精彩非洲 + + + 育人剧场 + + + 精品纪录片 + + + 人间世 + + + 转播全国教育新闻联播 + + + 转播新闻联播 + + + 教育新闻 + + + 如果国宝会说话 + + + 精品纪录片 + + + 育人剧场 + + + 档案 + + + 百家新说 + + + HBXGTV1 + + + 反恐特战队42-48 + + + 早安开机 + + + 孝感新闻 + + + 高质量发展看三区 + + + 直通县市区 + + + 人文中国 + + + 心跳源计划8-11 + + + 孝感新闻 + + + 高质量发展看三区 + + + 直通县市区 + + + 雪域天路13-18 + + + 民生视点 + + + 直通县市区 + + + 中央台新闻联播 + + + 孝感新闻 + + + 天气预报 + + + 环保新时空 + + + 生活家13-14 + + + 孝感新闻 + + + 民生视点 + + + 环保新时空 + + + 直通县市区 + + + 生活家15-17 + + + HBXGTV2 + + + 晚安曲 + + + 早安开机 + + + 孝南新闻 + + + 最好的时代1-3 + + + 中国纪录 + + + 民生实验室 + + + 追光者25-27 + + + 人文中国 + + + 孝南新闻 + + + 长鸿说电影 + + + 亲爱的小孩31-34 + + + 中国纪录 + + + 追光者25-27 + + + 孝南新闻 + + + 人文中国 + + + 纪录片 + + + 生活帮 + + + 热爱31-32 + + + 孝南新闻 + + + 生活帮 + + + 追光者25-27 + + + 民生实验室 + + + 人文中国 + + + 中国纪录 + + + HBXYTV1 + + + 襄阳新闻 + + + 襄阳新闻 + + + 中医襄阳 + + + 中华人民共和国国歌 + + + 今日播报 + + + 午前剧场:打开生活的正确方式27-31 + + + 第一健康 + + + 帮女郎 + + + 今日播报 + + + 中医襄阳 + + + 午后剧场:面具1-4打开生活的正确方式30-31 + + + 第一健康 + + + 每日一方 + + + 今日播报 + + + 襄阳三农 + + + 来说天气 + + + 转播中央台新闻 + + + 襄阳新闻 + + + 党建领航 + + + 第一剧场打开生活的正确方式32-33 + + + 每日一方 + + + 襄阳新闻 + + + 今日播报 + + + 午夜剧场:打开生活的正确方式32 + + + HBXYTV2 + + + 第一生活特别版 + + + 帮女郎 + + + 第一生活 + + + 第一生活特别版 + + + 帮女郎 + + + 第一生活 + + + 第一生活特别版 + + + 帮女郎 + + + 第一生活 + + + 第一生活特别版 + + + 今日播报 + + + 帮女郎 + + + 第一生活 + + + 第一生活特别版 + + + 帮女郎 + + + 创文十分钟 + + + 第一生活 + + + 第一生活特别版 + + + 早间剧场:亮剑14-16 + + + 每日一方 + + + 创文十分钟 + + + 第一生活特别版 + + + 帮女郎 + + + 第一健康 + + + 第一生活 + + + 午后剧场:枪械师31-32 + + + 帮女郎 + + + 第一生活 + + + 第一生活特别版 + + + 帮女郎 + + + 第一生活 + + + 第一生活特别版 + + + 帮女郎 + + + 第一生活 + + + 第一生活特别版 + + + 休闲剧场:一场遇见爱情的旅行6-7 + + + 帮女郎 + + + 第一健康 + + + 帮女郎 + + + 第一生活 + + + 襄阳三农 + + + 同在蓝天下 + + + 来说天气 + + + 第一健康 + + + 帮女郎 + + + 生活剧场:一场遇见爱情的旅行8-9 + + + 来说天气 + + + 第一生活 + + + 同在蓝天下 + + + 襄阳三农 + + + 第一健康 + + + 帮女郎 + + + 第一生活 + + + 襄阳三农 + + + 帮女郎 + + + HBYCSXTV1 + + + 话山论见 + + + 宜昌新闻 + + + 直播宜昌 + + + 全景宜昌 + + + 新居之约16-20 + + + 全景宜昌 + + + 宜昌新闻 + + + 底线31-36 + + + 都市传奇 + + + 话山论见 + + + 旅游气象 + + + 直播宜昌 + + + 转播中央台新闻联播 + + + 宜昌新闻 + + + 县市气象 + + + 烽火抗大29-30 + + + 全景宜昌 + + + 宜昌新闻 + + + 直播宜昌 + + + 话山论见 + + + 人民检察官19-22 + + + HBYCSXTV2 + + + 宜昌新闻 + + + 直播宜昌 + + + 全景宜昌 + + + 旅游365 + + + 口述 + + + 话山论见 + + + 银发时代 + + + 总裁读书会 + + + 都市传奇 + + + 口述 + + + 旅游365 + + + 话山论见 + + + 面具15-16 + + + 都市传奇 + + + 总裁读书会 + + + 银发时代 + + + 话山论见 + + + 陪你一起长大9-12 + + + 旅游365 + + + 银发时代 + + + 新西游历险记1-5 + + + 美食每刻 + + + 总裁读书会 + + + 都市传奇 + + + 科教宜昌 + + + 冷案20-22 + + + HISTORY + + + 历史重大谜团第4季第25集-伊莎贝拉嘉纳艺术博物馆抢案 + + + 建构世界的食品第3季第10集-连锁反应 + + + 建构世界的玩具第2季第1集-电玩游戏的诞生 + + + 仓库淘宝大战第14季第307集-王或光 + + + 仓库淘宝大战第14季第308集-蒙特「钵」洛之王 + + + 寻宝双星第18季第330集-媒金 + + + 建构世界的食品第4季第33集-假期解馋好物 + + + 千锤百鍊第10季第6集-旅程途中:美国冠军 + + + 仓库淘宝大战第14季第307集-王或光 + + + 仓库淘宝大战第14季第308集-蒙特「钵」洛之王 + + + 寻宝双星第18季第330集-媒金 + + + 历史重大谜团第4季第25集-伊莎贝拉嘉纳艺术博物馆抢案 + + + 建构世界的食品第4季第33集-假期解馋好物 + + + 建构世界的食品第3季第10集-连锁反应 + + + 建构世界的玩具第2季第1集-电玩游戏的诞生 + + + 千锤百鍊第10季第6集-旅程途中:美国冠军 + + + 仓库淘宝大战第14季第307集-王或光 + + + 仓库淘宝大战第14季第308集-蒙特「钵」洛之王 + + + 建构世界的食品第4季第33集-假期解馋好物 + + + 建构世界的玩具第2季第1集-电玩游戏的诞生 + + + 寻宝双星第18季第330集-媒金 + + + 历史重大谜团第4季第25集-伊莎贝拉嘉纳艺术博物馆抢案 + + + 当铺之星第23季第583集-当铺果酱 + + + 建构世界的玩具第2季第9集-整人经典 + + + 建构世界的玩具第2季第10集-圣诞风潮 + + + 建构世界的食品第4季第33集-假期解馋好物 + + + 当铺之星第24季第599集-当铺独立宣言 + + + 建构世界的大厂牌第1季第3集-全球配送 + + + 培顿·曼宁之史上最大事件第1季第2集-发明对决 + + + 阿兹特克失落的黄金第1季第5集-墓穴探索 + + + HOY76 + + + FashionTV + + + 意大利甲组足球联赛-费伦天拿 对 国际米兰 + + + In Good Shape + + + Made In Germany + + + FashionTV + + + 2023/2024 亚洲勒芒系列赛 + + + Bloomberg 时段 + + + CGTN 时段 + + + CGTN 时段 + + + 公主骑士奈拉第2季 + + + 艾比•海切尔第2季 + + + 圣堤亚哥的海上冒险第1季 + + + 忍者神龟崛起 第1季 + + + 绝妙的遗产 + + + 了不起的儿科医生 + + + Bloomberg 时段 + + + Bloomberg 时段 + + + Bloomberg 时段 + + + 公主骑士奈拉第2季 + + + 艾比•海切尔第2季 + + + 圣堤亚哥的海上冒险第1季 + + + 忍者神龟崛起 第1季 + + + Bloomberg 时段 + + + Bloomberg 时段 + + + 主要新闻 + + + Bloomberg 时段 + + + Bloomberg 时段 + + + 晚间新闻 + + + Bloomberg 时段 + + + 亚洲联赛冠军杯精英联赛-柏斯波利斯 对 艾尔索达 + + + 亚洲联赛冠军杯精英联赛- 吉达艾阿里 对 艾斯迪格拿 + + + HOY77 + + + 嘻哈马场 + + + 五平方Squarefoot特约楼盘传真 + + + HOY 动音乐 + + + 鱼乐无限 + + + 会长的爱 + + + 打包袱 + + + 暖暖黄昏下 + + + 亚洲TOP TEN 台湾篇 + + + 五星级丝打II + + + 我是我生命的传奇 3 + + + 但愿人长久 + + + 会长的爱 + + + 午间新闻 + + + 走读大湾区 + + + 高速铁路(香港段) 6周年呈献一个人铁道行 2 + + + foodpanda 10周年呈献学人去非洲 + + + 因乜事周围游 + + + 深圳地图 + + + 光姊妹 + + + 三星堆·荣耀觉醒 + + + 梦想总动员 + + + 汪汪队立大功 + + + 单车侠 + + + 白种元美食滋味行 + + + 住人十色 + + + 7点直播室 + + + 28Hse特约每日楼市 + + + 一线搜查 + + + 高速铁路(香港段) 6周年呈献一个人铁道行 2 + + + foodpanda 10周年呈献学人去非洲 + + + 但愿人长久 + + + 因乜事周围游 + + + 晚间直播室 + + + 娱乐头条 E-news Headline + + + 亚洲TOP TEN 台湾篇 + + + HOY78 + + + 有线新闻 + + + 28Hse特约:家家有求 + + + 有线新闻 + + + 有线新闻 + + + 有线新闻 + + + 有线新闻 + + + 有线新闻 + + + 五平方Squarefoot特约楼盘传真 + + + 有线新闻 + + + 有线新闻 + + + 有线新闻 + + + 有线新闻 + + + 有线新闻 + + + 有线新闻 + + + Cable 早晨 + + + Cable 早晨 + + + Cable 早晨 + + + Cable 早晨 + + + 交易所直播室 + + + 有线新闻 + + + 有线新闻 + + + 有线新闻 + + + 有线新闻 + + + 有线新闻 + + + 午间新闻 + + + 有线新闻 + + + 智.创未来 + + + 有线新闻 + + + 有线新闻 + + + 有线新闻 + + + 有线新闻 + + + 交易所直播室 + + + 有线新闻 + + + 有线新闻 + + + 有线新闻 + + + 手语新闻报道 + + + 六点半新闻报道 + + + 焦点财经 + + + 7点直播室 + + + 28Hse特约每日楼市 + + + 国际最前线 + + + 28Hse特约每日楼市 + + + 国际最前线 + + + 28Hse特约每日楼市 + + + 中国在线 + + + 中国在线 + + + 国际最前线 + + + 一线搜查 + + + 晚间直播室 + + + 晚间直播室 + + + HUASHU-JCYS + + + 柔情史 + + + 书剑情侠柳三变11 + + + 书剑情侠柳三变12 + + + 书剑情侠柳三变13 + + + 书剑情侠柳三变14 + + + 书剑情侠柳三变15 + + + 我们的队伍向太阳(27) + + + 我们的队伍向太阳(28) + + + 我们的队伍向太阳(29) + + + 我们的队伍向太阳(30) + + + 步步为营 + + + 书剑情侠柳三变16 + + + 书剑情侠柳三变17 + + + 书剑情侠柳三变18 + + + 书剑情侠柳三变19 + + + 夏洛特烦恼 + + + 灰烬重生 + + + 心迷宫 + + + 大红包 + + + 我们的队伍向太阳(31) + + + 我们的队伍向太阳(32) + + + 我们的队伍向太阳(33) + + + 大唐女法医1 + + + 秋之白华 + + + HUASHU-QSDW + + + 兽医毕业班(4) + + + 野地造屋Ⅲ(3) + + + 落基山兽医杰夫Ⅱ(3) + + + 捕猎响尾蛇Ⅱ3 + + + 德州兽医三人组Ⅱ(5) + + + 动物一家亲1 + + + 拉美野生大地5 + + + 猫狗大战(1) + + + 兽医毕业班(1) + + + 再见灰熊(1) + + + 野地造屋Ⅲ(3) + + + 猫狗大战(2) + + + 我的动物家族(1) + + + 我的动物家族(2) + + + 落基山兽医杰夫Ⅱ(1) + + + 捕猎响尾蛇Ⅱ2 + + + 宠物淘气包Ⅲ1 + + + 动物一家亲1 + + + 救猫特攻队1 + + + 猫狗大战(1) + + + 兽医毕业班(1) + + + 再见灰熊(1) + + + 丛林动物之家Ⅱ1 + + + 金枪鱼大战1 + + + 落基山兽医杰夫Ⅱ(2) + + + 捕猎响尾蛇Ⅱ3 + + + 宠物淘气包Ⅲ2 + + + 动物一家亲2 + + + 救猫特攻队2 + + + 猫狗大战(2) + + + 兽医毕业班(2) + + + 陆行鲨之岛 + + + HUASHU-QSJL + + + 美丽乡村在浙里(1) + + + 美丽乡村在浙里(2) + + + 不朽宣传片、不朽 + + + 共富看浙里:年轻的朋友来相会 + + + 共富看浙里Ⅱ + + + 我与大运河1 + + + 我与大运河2 + + + 我与大运河3 + + + 我与大运河4 + + + 我与大运河5 + + + 我与大运河6 + + + 流言终结者之最2 + + + 宠物淘气包4 + + + 爱在垦荒时(4) + + + 科技玩物360Ⅳ(2) + + + 宵夜大比拼5 + + + 绝境求生手册(5) + + + 超炫美式机车Ⅸ(5) + + + 冰湖浪人Ⅱ6 + + + 麦基家的六胞胎(1) + + + 终极之旅2018 + + + 行行出状元Ⅱ(22) + + + 贴近埃及王图坦卡门3 + + + 精品啤酒大师1 + + + 阿拉斯加金矿的赌注Ⅴ23 + + + 蛮野之家1 + + + 网络它最红(1) + + + 过重家族(4) + + + 同心协力救地球3 + + + 沉重人生现况追踪(2) + + + 探险寻宝5 + + + 报废车的复活Ⅱ(9) + + + HUASHU-TSJL + + + 野外求生(6) + + + 灵岩道风2 + + + 上海零售百年(1) + + + 舌尖之福(51) + + + 舌尖之福(52) + + + 梅毅说中国史秦汉篇(5) + + + 梅毅说中国史秦汉篇(6) + + + 实境之旅:桂林 + + + 梅毅说中国史秦汉篇(7) + + + 梅毅说中国史秦汉篇(8) + + + 云岭和声(5) + + + 老家的滋味:味道 + + + 问道楼观6 + + + 史前巨兽大揭秘5 + + + 紫蓬山(1):出山 + + + 指尖上的传承:雷山苗年 + + + 航拍埃及1 + + + 野外求生(5) + + + 灵岩道风1 + + + 约克郡-荒野年轮(4) + + + 舌尖之福(49) + + + 舌尖之福(50) + + + 梅毅说中国史秦汉篇(9) + + + 梅毅说中国史秦汉篇(10) + + + 云岭和声(6) + + + 老家的滋味:匠心 + + + 问道楼观7 + + + 史前巨兽大揭秘6 + + + 紫蓬山(2):故园 + + + 指尖上的传承:泥人张 + + + 航拍埃及2 + + + 野外求生(6) + + + 灵岩道风2 + + + 上海零售百年(1) + + + 舌尖之福(51) + + + 舌尖之福(52) + + + 梅毅说中国史秦汉篇(11) + + + 梅毅说中国史秦汉篇(12) + + + 云岭和声(7) + + + 老家的滋味:家风 + + + 问道楼观8 + + + 天堂(1) + + + 紫蓬山(3):文传 + + + 指尖上的传承:千年紫砂 + + + HUBEI1 + + + 深夜剧场:猎魔 + + + 深夜剧场:猎魔 + + + 深夜剧场:猎魔 + + + 大揭秘 + + + 深夜剧场:猎魔 + + + 深夜剧场:猎魔 + + + 深夜剧场:猎魔 + + + 情系国防 + + + 中华人民共和国国歌 + + + 湖北新闻 + + + 动画片 + + + 天生我财 + + + 白天剧场:薛平贵与王宝钏 + + + 白天剧场:薛平贵与王宝钏 + + + 白天剧场:薛平贵与王宝钏 + + + 天生我财 + + + 白天剧场:薛平贵与王宝钏 + + + 白天剧场:薛平贵与王宝钏 + + + 白天剧场:薛平贵与王宝钏 + + + 白天剧场:薛平贵与王宝钏 + + + 白天剧场:薛平贵与王宝钏 + + + 吾股丰登 + + + 天气预报 + + + 湖北新闻 + + + 转播中央台新闻联播 + + + 长江剧场:画眉 + + + 长江剧场:画眉 + + + 湖北10分 + + + 改变中国的真理力量 + + + 夜观财经 + + + 长江新闻号 + + + 深夜剧场:反击 + + + HUBEI2 + + + 午夜剧场 + + + 深夜剧场 + + + 深夜剧场 + + + 深夜剧场 + + + 深夜剧场 + + + 深夜剧场 + + + 深夜剧场 + + + 公正路9号 + + + 360看天下 + + + 新闻360 + + + 上午剧场 + + + 上午剧场 + + + 上午剧场 + + + 今日微事记 + + + 调解现场 + + + 最佳现场 + + + 下午剧场 + + + 下午剧场 + + + 下午剧场 + + + 下午剧场 + + + 下午剧场 + + + 360看天下 + + + 新闻360 + + + 调解现场 + + + 黄金剧场 + + + 黄金剧场 + + + 黄金剧场 + + + 黄金剧场 + + + 公正路9号 + + + 午夜剧场 + + + HUBEI3 + + + 栏目:喜子来了 + + + 电视剧:黄河英雄30 + + + 电视剧:黄河英雄31 + + + 电视剧:黄河英雄32 + + + 电视剧:黄河英雄33 + + + 电视剧:黄河英雄34 + + + 栏目:影视智斗星 + + + 酷剧场:枪神传奇25 + + + 酷剧场:枪神传奇26 + + + 酷剧场:枪神传奇27 + + + 酷剧场:枪神传奇28 + + + 酷剧场:枪神传奇29 + + + 栏目:影视智斗星 + + + 栏目:喜子来了 + + + 栏目:影视大民星 + + + 炫剧场:决战江桥04 + + + 炫剧场:决战江桥05 + + + 炫剧场:决战江桥06 + + + 首播剧场:箭侠13 + + + 首播剧场:箭侠14 + + + 首播剧场:箭侠15 + + + 首播剧场:箭侠16 + + + 首播剧场:箭侠17 + + + 首播剧场:箭侠18 + + + 经典剧场:尖刀15 + + + 经典剧场:尖刀16 + + + HUBEI4 + + + 栏目:相亲相爱 + + + 栏目:谢谢你来了 + + + 栏目:相亲相爱 + + + 栏目:谢谢你来了 + + + 栏目:门当户对 + + + 栏目:谢谢你来了 + + + 电视剧:顶级锄奸行动 + + + 栏目:谢谢你来了 + + + 电视剧:喋血钱塘江 + + + 电视剧:喋血钱塘江 + + + 电视剧:喋血钱塘江 + + + 电视剧:喋血钱塘江 + + + 栏目:门当户对 + + + 栏目:门当户对 + + + 栏目:门当户对 + + + 栏目:门当户对 + + + 栏目:门当户对 + + + 电视剧:顶级锄奸行动 + + + 电视剧:顶级锄奸行动 + + + 电视剧:顶级锄奸行动 + + + 电视剧:顶级锄奸行动 + + + 栏目:相亲相爱 + + + 栏目:相亲相爱 + + + HUBEI5 + + + 桃花朵朵开C + + + 开讲了 + + + X档案 + + + 桃花朵朵开D + + + 桃花朵朵开E + + + 桃花朵朵开F + + + X档案 + + + 开讲了 + + + 经视直播生活版 + + + 桃花朵朵开A + + + 桃花朵朵开B + + + 电视剧:雪鹰34 + + + 电视剧:雪鹰35 + + + 电视剧:雪鹰36 + + + 开讲了 + + + 桃花朵朵开A + + + 桃花朵朵开B + + + 桃花朵朵开C + + + 桃花朵朵开A11月26日 + + + 桃花朵朵开B11月26日 + + + 桃花朵朵开C11月26日 + + + 桃花朵朵开D + + + 桃花朵朵开E + + + 桃花朵朵开F + + + 开讲了 + + + 电视剧:敌后便衣队传奇30 + + + 电视剧:敌后便衣队传奇31 + + + 开讲了 + + + X档案 + + + 桃花朵朵开A + + + 桃花朵朵开B + + + HUBEI6 + + + 经视直播 + + + 咵天 + + + 经视故事会:错恨32 + + + 经视故事会:错恨33 + + + 经视故事会:错恨34 + + + 经视故事会:错恨35 + + + 经视故事会:生逢灿烂的日子19 + + + 经视故事会:生逢灿烂的日子20 + + + 笑长请入座 + + + 咵天 + + + 经视直播 + + + 经视故事会:家有大姐1 + + + 养生栏目 + + + 经视故事会:家有大姐2 + + + 养生栏目 + + + 经视故事会:家有大姐3 + + + 养生栏目 + + + 经视故事会:家有大姐4 + + + 心有力量·我们的美好生活 + + + 桃花朵朵开1 + + + 桃花朵朵开2 + + + 桃花朵朵开3 + + + 桃花朵朵开4 + + + 经视故事会:生逢灿烂的日子40 + + + 经视故事会:生逢灿烂的日子41 + + + 经视故事会:生逢灿烂的日子42 + + + 经视故事会:生逢灿烂的日子43 + + + 养生栏目 + + + 咵天 + + + 欢乐送 + + + 直播:经视直播 + + + 笑长请入座 + + + 经视故事会:谎言的诱惑30 + + + 经视故事会:谎言的诱惑31 + + + 经视故事会:谎言的诱惑32 + + + 经视故事会:谎言的诱惑33 + + + 提案追踪 + + + 经视故事会:透支的幸福13 + + + 经视故事会:透支的幸福14 + + + HUBEI7 + + + 栏目:问健康 + + + 栏目:直通湖北 + + + 栏目:湖北新闻 + + + 栏目:新闻110 + + + 栏目:大揭秘 + + + 栏目:长江新闻 + + + 栏目:问健康 + + + 栏目:长江说法 + + + 栏目:新闻110 + + + 栏目:直通湖北 + + + 栏目:湖北10分 + + + 栏目:旗帜 + + + 栏目:问健康 + + + 栏目:大揭秘 + + + 栏目:湖北新闻 + + + 栏目:长江新闻号 + + + 栏目:大揭秘 + + + 栏目:长江说法 + + + 栏目:长江新闻 + + + 栏目:湖北10分 + + + 栏目:长江新闻号 + + + 栏目:湖北新闻 + + + 栏目:爱的选择 + + + 栏目:直通湖北 + + + 栏目:桃花朵朵开 + + + 栏目:爱的选择 + + + 栏目:长江说法 + + + 栏目:桃花朵朵开 + + + 栏目:爱的选择 + + + 栏目:桃花朵朵开 + + + 栏目:长江说法 + + + 栏目:问健康 + + + 栏目:直通湖北 + + + 直播:湖北新闻 + + + 栏目:新闻110 + + + 栏目:大揭秘 + + + 直播:长江新闻 + + + 栏目:长江说法 + + + 栏目:新闻110 + + + 栏目:直通湖北 + + + 直播:湖北10分 + + + 栏目:荆楚廉政 + + + 栏目:问健康 + + + 栏目:大揭秘 + + + 栏目:湖北新闻 + + + 栏目:长江新闻号 + + + 栏目:荆楚廉政 + + + HUBEI9 + + + 垄上剧场:地雷英雄传17 + + + 垄上故事会 + + + 垄上故事会 + + + 垄上故事会 + + + 垄上故事会 + + + 垄上欢乐送 + + + 垄上行 + + + 垄上故事会特别版393 + + + 垄上故事会特别版394 + + + 垄上故事会特别版395 + + + 垄上故事会特别版396 + + + 栏目剧:垄上故事会1016 + + + 栏目剧:垄上故事会1017 + + + 栏目剧:垄上故事会1018 + + + 栏目剧:垄上故事会1019 + + + 垄上看戏:东方侠客7 + + + 垄上看戏:东方侠客8 + + + 垄上看戏:东方侠客9 + + + 垄上看戏:东方侠客10 + + + 垄上看戏:零炮楼1 + + + 垄上看戏:零炮楼2 + + + 垄上看戏:零炮楼3 + + + 垄上看戏:零炮楼4 + + + 栏目:垄上欢乐送337 + + + 栏目:垄上行334 + + + 栏目:寻医问药236 + + + 垄上剧场:地雷英雄传17 + + + 垄上剧场:地雷英雄传18 + + + 垄上剧场:地雷英雄传19 + + + HZTV1 + + + 热播剧场 + + + 悠游天下 + + + 测试卡 + + + 中华人民共和国国歌 + + + 省台新闻联播 + + + 生活大参考 + + + 动画片 + + + 风云剧场 + + + 人文中国 + + + 舌尖上的惠州 + + + 美丽惠州 + + + 午间新闻 + + + 健康面对面 + + + 惠州党建 + + + 鹅城剧场 + + + 专题片 + + + 动漫在线 + + + 人文中国 + + + 第一直播室 + + + 转播中央台新闻联播 + + + 惠州新闻联播 + + + 法治惠城 + + + 文明交通行 + + + 舌尖上的惠州 + + + 惠城新闻 + + + TV房产 + + + 家装有道 + + + 第一剧场 + + + 家装有道 + + + 热播剧场 + + + HZTV2 + + + 经典剧场 + + + 测试卡 + + + 中华人民共和国国歌 + + + 纪录片 + + + 精选剧场 + + + 情满人间 + + + 动画片 + + + 我们正年轻 + + + 生活大参考 + + + 家装有道 + + + 西湖剧场 + + + 悠游天下 + + + 法治天下 + + + 情满人间 + + + 欢乐卡通剧场 + + + 专题片 + + + 我们正年轻 + + + 舌尖上的惠州 + + + 惠城新闻 + + + 惠城印记 + + + 合家欢剧场 + + + 情满人间 + + + 悠游天下 + + + 惠州新闻联播 + + + TV房产 + + + 经典剧场 + + + HZTV3 + + + 我是大美人 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 平民英雄 + + + 新闻大求真 + + + 新闻大求真 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 我的纪录片 + + + 中华人民共和国国歌 + + + 湖南新闻联播 + + + 偶像独播剧场:情谜睡美人(74) + + + 动画片剧场 + + + 偶像独播剧场:情谜睡美人(75) + + + 偶像独播剧场:情谜睡美人(76) + + + 偶像独播剧场:情谜睡美人(77) + + + 偶像独播剧场:情谜睡美人(78) + + + IPTV5+ + + + 《体育晨报》 + + + 《体坛快讯》 + + + 《体育新闻 + + + 《体育世界》 + + + 《天下足球》 + + + 《风云会》 + + + 《健身动起来》 + + + 体育赛事 + + + 体育赛事 + + + 体育赛事 + + + 体育赛事 + + + 体育赛事 + + + 体育赛事 + + + 《体育晨报》 + + + 《体坛快讯》 + + + 《体育新闻》 + + + 《体育世界》 + + + 《天下足球》 + + + 《风云会》 + + + 《健身动起来》 + + + 《体育世界》 + + + IPTV6+ + + + 经典影院 + + + 经典影院 + + + 经典影院 + + + 经典影院 + + + 经典影院 + + + 经典影院 + + + 经典影院 + + + 经典影院 + + + 经典影院 + + + 经典影院 + + + 经典影院 + + + 经典影院 + + + 经典影院 + + + 经典影院 + + + 经典影院 + + + IPTV少儿动画 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + IPTV热播剧场 + + + 电视剧剧场 + + + 电视剧剧场 + + + 电视剧剧场 + + + 电视剧剧场 + + + 电视剧剧场 + + + 电视剧剧场 + + + 电视剧剧场 + + + 电视剧剧场 + + + 电视剧剧场 + + + IPTV经典电影 + + + 标清 克伦西亚 + + + 标清 我是检察官 + + + 标清 真假归途 + + + 标清 我是检察官 + + + 标清 真假归途 + + + 标清 我是检察官 + + + 标清 真假归途 + + + 标清 我是检察官 + + + 标清 真假归途 + + + 标清 我是检察官 + + + 标清 真假归途 + + + 标清 我是检察官 + + + 标清 真假归途 + + + IPTV谍战剧场 + + + 我是大美人 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 平民英雄 + + + 新闻大求真 + + + 新闻大求真 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 我的纪录片 + + + 中华人民共和国国歌 + + + 湖南新闻联播 + + + 偶像独播剧场:情谜睡美人(76) + + + 动画片剧场 + + + 偶像独播剧场:情谜睡美人(77) + + + 偶像独播剧场:情谜睡美人(78) + + + 偶像独播剧场:情谜睡美人(79) + + + 偶像独播剧场:情谜睡美人(80) + + + IPTV魅力时尚 + + + 越战越勇 + + + 黄金100秒 + + + 开门大吉 + + + 非常6+1 + + + 向幸福出发 + + + 群英汇 + + + 天天把歌唱 + + + 综艺喜乐汇 + + + 综艺喜乐汇 + + + 综艺喜乐汇 + + + 综艺盛典 + + + 艺览天下 + + + 越战越勇 + + + 黄金100秒 + + + 综艺喜乐汇 + + + 综艺喜乐汇 + + + 综艺喜乐汇 + + + 综艺盛典 + + + 艺览天下 + + + JIAXINGTV1 + + + 我是大美人 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 平民英雄 + + + 新闻大求真 + + + 新闻大求真 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 我的纪录片 + + + 中华人民共和国国歌 + + + 湖南新闻联播 + + + 偶像独播剧场:情谜睡美人(74) + + + 动画片剧场 + + + 偶像独播剧场:情谜睡美人(75) + + + 偶像独播剧场:情谜睡美人(76) + + + 偶像独播剧场:情谜睡美人(77) + + + 偶像独播剧场:情谜睡美人(78) + + + JIAXINGTV2 + + + 我是大美人 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 平民英雄 + + + 新闻大求真 + + + 新闻大求真 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 我的纪录片 + + + 中华人民共和国国歌 + + + 湖南新闻联播 + + + 偶像独播剧场:情谜睡美人(74) + + + 动画片剧场 + + + 偶像独播剧场:情谜睡美人(75) + + + 偶像独播剧场:情谜睡美人(76) + + + 偶像独播剧场:情谜睡美人(77) + + + 偶像独播剧场:情谜睡美人(78) + + + JIAXINGTV3 + + + 我是大美人 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 平民英雄 + + + 新闻大求真 + + + 新闻大求真 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 我的纪录片 + + + 中华人民共和国国歌 + + + 湖南新闻联播 + + + 偶像独播剧场:情谜睡美人(74) + + + 动画片剧场 + + + 偶像独播剧场:情谜睡美人(75) + + + 偶像独播剧场:情谜睡美人(76) + + + 偶像独播剧场:情谜睡美人(77) + + + 偶像独播剧场:情谜睡美人(78) + + + JINHUATV2 + + + 我是大美人 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 平民英雄 + + + 新闻大求真 + + + 新闻大求真 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 我的纪录片 + + + 中华人民共和国国歌 + + + 湖南新闻联播 + + + 偶像独播剧场:情谜睡美人(74) + + + 动画片剧场 + + + 偶像独播剧场:情谜睡美人(75) + + + 偶像独播剧场:情谜睡美人(76) + + + 偶像独播剧场:情谜睡美人(77) + + + 偶像独播剧场:情谜睡美人(78) + + + LISHUITV1 + + + 我是大美人 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 平民英雄 + + + 新闻大求真 + + + 新闻大求真 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 我的纪录片 + + + 中华人民共和国国歌 + + + 湖南新闻联播 + + + 偶像独播剧场:情谜睡美人(74) + + + 动画片剧场 + + + 偶像独播剧场:情谜睡美人(75) + + + 偶像独播剧场:情谜睡美人(76) + + + 偶像独播剧场:情谜睡美人(77) + + + 偶像独播剧场:情谜睡美人(78) + + + LSTIME电影台 + + + 暴雨驕陽 + + + 前度 + + + 一見發財 + + + 報告班長2 + + + 追夢人 + + + 千王 + + + 伊莎貝拉(雙語) + + + 北京樂與路 + + + 鬼抓人 + + + 三少爺的劍 + + + 一個好爸爸 + + + LSTV1 + + + 我是大美人 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 平民英雄 + + + 新闻大求真 + + + 新闻大求真 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 我的纪录片 + + + 中华人民共和国国歌 + + + 湖南新闻联播 + + + 偶像独播剧场:情谜睡美人(74) + + + 动画片剧场 + + + 偶像独播剧场:情谜睡美人(75) + + + 偶像独播剧场:情谜睡美人(76) + + + 偶像独播剧场:情谜睡美人(77) + + + 偶像独播剧场:情谜睡美人(78) + + + LSTV2 + + + 我是大美人 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 平民英雄 + + + 新闻大求真 + + + 新闻大求真 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 我的纪录片 + + + 中华人民共和国国歌 + + + 湖南新闻联播 + + + 偶像独播剧场:情谜睡美人(74) + + + 动画片剧场 + + + 偶像独播剧场:情谜睡美人(75) + + + 偶像独播剧场:情谜睡美人(76) + + + 偶像独播剧场:情谜睡美人(77) + + + 偶像独播剧场:情谜睡美人(78) + + + NBTV1 + + + 我是大美人 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 平民英雄 + + + 新闻大求真 + + + 新闻大求真 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 我的纪录片 + + + 中华人民共和国国歌 + + + 湖南新闻联播 + + + 偶像独播剧场:情谜睡美人(74) + + + 动画片剧场 + + + 偶像独播剧场:情谜睡美人(75) + + + 偶像独播剧场:情谜睡美人(76) + + + 偶像独播剧场:情谜睡美人(77) + + + 偶像独播剧场:情谜睡美人(78) + + + NBTV2 + + + 我是大美人 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 平民英雄 + + + 新闻大求真 + + + 新闻大求真 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 我的纪录片 + + + 中华人民共和国国歌 + + + 湖南新闻联播 + + + 偶像独播剧场:情谜睡美人(74) + + + 动画片剧场 + + + 偶像独播剧场:情谜睡美人(75) + + + 偶像独播剧场:情谜睡美人(76) + + + 偶像独播剧场:情谜睡美人(77) + + + 偶像独播剧场:情谜睡美人(78) + + + NBTV3 + + + 我是大美人 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 平民英雄 + + + 新闻大求真 + + + 新闻大求真 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 我的纪录片 + + + 中华人民共和国国歌 + + + 湖南新闻联播 + + + 偶像独播剧场:情谜睡美人(74) + + + 动画片剧场 + + + 偶像独播剧场:情谜睡美人(75) + + + 偶像独播剧场:情谜睡美人(76) + + + 偶像独播剧场:情谜睡美人(77) + + + 偶像独播剧场:情谜睡美人(78) + + + NBTV4 + + + 我是大美人 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 平民英雄 + + + 新闻大求真 + + + 新闻大求真 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 我的纪录片 + + + 中华人民共和国国歌 + + + 湖南新闻联播 + + + 偶像独播剧场:情谜睡美人(74) + + + 动画片剧场 + + + 偶像独播剧场:情谜睡美人(75) + + + 偶像独播剧场:情谜睡美人(76) + + + 偶像独播剧场:情谜睡美人(77) + + + 偶像独播剧场:情谜睡美人(78) + + + NBTV5 + + + 我是大美人 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 平民英雄 + + + 新闻大求真 + + + 新闻大求真 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 我的纪录片 + + + 中华人民共和国国歌 + + + 湖南新闻联播 + + + 偶像独播剧场:情谜睡美人(74) + + + 动画片剧场 + + + 偶像独播剧场:情谜睡美人(75) + + + 偶像独播剧场:情谜睡美人(76) + + + 偶像独播剧场:情谜睡美人(77) + + + 偶像独播剧场:情谜睡美人(78) + + + NOWSPORTS-PREMIERLEAGUE621 + + + 我是大美人 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 平民英雄 + + + 新闻大求真 + + + 新闻大求真 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 我的纪录片 + + + 中华人民共和国国歌 + + + 湖南新闻联播 + + + 偶像独播剧场:情谜睡美人(74) + + + 动画片剧场 + + + 偶像独播剧场:情谜睡美人(75) + + + 偶像独播剧场:情谜睡美人(76) + + + 偶像独播剧场:情谜睡美人(77) + + + 偶像独播剧场:情谜睡美人(78) + + + NOW剧集台 + + + 孝心的家各自为生第63集 + + + 绝对不可能~侦探・上水流凉子的解析~第5集 + + + 我的HappyEnd第15集 + + + TheTravelNurse第4集 + + + 孝心的家各自为生第63集 + + + 绝对不可能~侦探・上水流凉子的解析~第5集 + + + 我的HappyEnd第15集 + + + TheTravelNurse第4集 + + + 孝心的家各自为生第63集 + + + 绝对不可能~侦探・上水流凉子的解析~第5集 + + + 我的HappyEnd第15集 + + + TheTravelNurse第4集 + + + 孝心的家各自为生第63集 + + + 绝对不可能~侦探・上水流凉子的解析~第5集 + + + 我的HappyEnd第15集 + + + TheTravelNurse第4集 + + + 孝心的家各自为生第63集 + + + 绝对不可能~侦探・上水流凉子的解析~第5集 + + + 我的HappyEnd第15集 + + + TheTravelNurse第4集 + + + 孝心的家各自为生第64集 + + + 白昼之月第3集 + + + 我的HappyEnd第16集 + + + 读取恶心的人们第17集 + + + NOW华剧台 + + + 仙剑四第2集 + + + 要久久爱第18集 + + + 斛珠夫人第14集 + + + 乌鸦小姐与蜥蜴先生第8集 + + + 要久久爱第18集 + + + 斛珠夫人第14集 + + + 暗恋橘生淮南第36集 + + + 仙剑四第2集 + + + 斛珠夫人第14集 + + + 暗恋橘生淮南第36集 + + + 仙剑四第2集 + + + 要久久爱第18集 + + + 斛珠夫人第14集 + + + 乌鸦小姐与蜥蜴先生第9集 + + + 暗恋橘生淮南第36集 + + + 要久久爱第18集 + + + 仙剑四第2集 + + + 斛珠夫人第14集 + + + 乌鸦小姐与蜥蜴先生第9集 + + + 暗恋橘生淮南第36集 + + + 仙剑四第3集 + + + 要久久爱第19集 + + + 斛珠夫人第15集 + + + 暗恋橘生淮南第37集 + + + NOW影视点播站 + + + 犯罪都市:铁拳清算现已上架,立即到106台即租即睇! + + + 谈判专家现已上架,立即到106台即租即睇! + + + 绝命狂逃现已上架,立即到106台即租即睇! + + + 魔袋现已上架,立即到106台即租即睇! + + + 母血性现已上架,立即到106台即租即睇! + + + 全职乖孙现已上架,立即到106台即租即睇! + + + 犯罪都市:铁拳清算现已上架,立即到106台即租即睇! + + + 有诡难言现已上架,立即到106台即租即睇! + + + 意外现已上架,立即到106台即租即睇! + + + 母血性现已上架,立即到106台即租即睇! + + + 全职乖孙现已上架,立即到106台即租即睇! + + + 犯罪都市:铁拳清算现已上架,立即到106台即租即睇! + + + NOW爆谷台 + + + 叔.叔 + + + 三更2 + + + 芳华 + + + 国产凌凌漆 + + + 凶宅幽灵 + + + 窄路微尘 + + + 百年好合 + + + 犹瑟与虎鱼们 + + + 诚实选举妈 + + + 诚实选举妈2 + + + 好狗不见了Haw + + + 龙虎门 + + + 爆谷制造-危城紧急会议 + + + 尸杀半岛 + + + NOW爆谷星影台 + + + 古惑仔3之只手遮天 + + + 慈禧秘密生活 + + + 锦绣前程 + + + 刀剑笑 + + + 跛豪 + + + 刀马旦 + + + 醉拳III + + + 安娜玛德莲娜 + + + 暴风眼 + + + 怒火威龙 + + + 密宗威龙 + + + 魔翡翠 + + + 最美倩影─王祖贤:杀妻二人组 + + + 洪熙官 + + + NOW直播台 + + + 经纬线 + + + 一周睇楼团 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 大鸣大放第2集 + + + 经纬线 + + + 一周睇楼团 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 随时直播各类时事新闻及记者会 + + + 时事全方位(精华) + + + 随时直播各类时事新闻及记者会 + + + NOW财经台 + + + Now深宵新闻 + + + Now深宵新闻 + + + Now深宵新闻 + + + 大鸣大放-20241201 + + + Now深宵新闻 + + + 经纬线-20241201 + + + Now深宵新闻 + + + 大鸣大放-20241201 + + + Now深宵新闻 + + + 经纬线-20241201 + + + Now深宵新闻 + + + 一周睇楼团-20241130 + + + Now早晨-20241202第一节[直播] + + + Now早晨-20241202第一节 + + + Now早晨-20241202第二节[直播] + + + Now早晨-20241202第二节 + + + Now早晨-20241202第三节[直播] + + + Now早晨-20241202第三节 + + + 牛熊先机-20241202[直播] + + + 交易时段-20241202第一节[直播] + + + 交易时段-20241202第二节[直播] + + + 午间股评-20241202[直播] + + + Now午间新闻 + + + 交易时段-20241202第三节[直播] + + + 交易时段-20241202第四节[直播] + + + 收市检讨-20241202[直播] + + + Now新闻报道[直播] + + + 世味天下 + + + Now新闻报道 + + + 世味天下 + + + Now新闻报道[直播] + + + Now新闻报道 + + + Now财经新闻[直播] + + + 铝游家呈献:组装合成建造新里程第3集 + + + Now新闻报道 + + + 世味天下 + + + Now财经新闻 + + + 楼市每日睇-20241202 + + + 港股今日睇-20241202[直播] + + + 环球金融快线-20241202[直播] + + + Now财经新闻[直播] + + + 交易时段精华-20241202 + + + POPC + + + 牧野诡事之观山太保 + + + 灭狼行动 + + + 人吓人 + + + 花木兰之大漠营救 + + + 花木兰之大漠营救 + + + 窈窕老爹 + + + 捉妖大仙2 + + + 生死排爆 + + + 武魂 + + + 铜皮铁骨方世玉 + + + 陈情令之乱魄 + + + 狄仁杰之雷火玄龙 + + + 魅影狂花 + + + 蓬莱龙棺之徐福宝藏 + + + 封神演义之斩仙飞刀 + + + 畸变 + + + 新洗冤录 + + + QHTV1 + + + 午夜剧场 + + + 午夜剧场 + + + 午夜剧场 + + + 午夜剧场 + + + 午夜剧场 + + + 午夜剧场 + + + 纪录时间 + + + 纪录时间 + + + 动画片剧场:航海少年团 + + + 昆仑眼 + + + 午夜剧场 + + + 青海新闻联播 + + + 江源扫描 + + + 纪录时间 + + + 昆仑剧场:新白娘子传奇(12) + + + 昆仑剧场:新白娘子传奇(13) + + + 昆仑剧场:新白娘子传奇(14) + + + 昆仑剧场:新白娘子传奇(15) + + + 昆仑剧场:新白娘子传奇(16) + + + 午间360 + + + 郁金香剧场:新白娘子传奇(17) + + + 郁金香剧场:新白娘子传奇(18) + + + 郁金香剧场:新白娘子传奇(19) + + + 郁金香剧场:新白娘子传奇(20) + + + 郁金香剧场:新白娘子传奇(21) + + + 动画片剧场:航海少年团 + + + 青海新闻联播 + + + 转播中央新闻联播 + + + 第一挑战剧场:换了人间(23) + + + 第一挑战剧场:换了人间(24) + + + 昆仑眼 + + + 晚间播报 + + + 今日青海 + + + 深夜剧场 + + + 大牌开讲 + + + 深夜剧场 + + + QZTV1 + + + 我是大美人 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 平民英雄 + + + 新闻大求真 + + + 新闻大求真 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 我的纪录片 + + + 中华人民共和国国歌 + + + 湖南新闻联播 + + + 偶像独播剧场:情谜睡美人(74) + + + 动画片剧场 + + + 偶像独播剧场:情谜睡美人(75) + + + 偶像独播剧场:情谜睡美人(76) + + + 偶像独播剧场:情谜睡美人(77) + + + 偶像独播剧场:情谜睡美人(78) + + + QZTV2 + + + 我是大美人 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 平民英雄 + + + 新闻大求真 + + + 新闻大求真 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 我的纪录片 + + + 中华人民共和国国歌 + + + 湖南新闻联播 + + + 偶像独播剧场:情谜睡美人(74) + + + 动画片剧场 + + + 偶像独播剧场:情谜睡美人(75) + + + 偶像独播剧场:情谜睡美人(76) + + + 偶像独播剧场:情谜睡美人(77) + + + 偶像独播剧场:情谜睡美人(78) + + + RTHK31 + + + 诗画中国(第十集) + + + 世界技能大赛 :决战里昂(第三集) + + + 港乐 • 讲乐(第89集) + + + 卧底服务团(第八集) + + + 识多一点点 + + + 艺坊星期天 + + + 安居 (英文版) + + + 时事摘录 + + + 港乐 • 讲乐(第89集) + + + 湾区全媒睇(第七百八十集) + + + 盛事传城 + + + 千禧年代 + + + 非凡香港(第六十八集) + + + 故乡,别来无恙(第六集) + + + 盛事传城 + + + 生活健康资讯体育港式速递 + + + 香江暖流 + + + 中国 (第一季)(第十集) + + + 警声360 + + + 生活健康资讯体育港式速递 + + + 精灵一点 + + + 三叉戟(第十六集) + + + 三叉戟(第十七集) + + + 港台体坛123 + + + 湾区全媒睇(第七百八十集) + + + 议事论事 + + + 小农夫大作物 新一弹 + + + 新闻天地 + + + 凝聚香港 + + + 湾区全媒睇(第七百八十一集) + + + IP新机遇 + + + 香港电台天气简报 + + + 香港故事 - 师傅来了(第九集) + + + 我们的省港杯 + + + 香港电台天气简报 + + + 梦中的那片海(第十九集) + + + 盛事传城 + + + 故乡,别来无恙(第七集) + + + 绿色好事 + + + 凝聚香港 + + + RTHK32 + + + 生活健康资讯体育港式速递 + + + 盛事传城 + + + 生活健康资讯体育港式速递 + + + 财经事务委员会会议 + + + 财经事务委员会会议 + + + 研究人口政策和措施小组委员会会议 + + + 推动香港成为国际教育枢纽小组委员会会议 + + + 生活健康资讯体育港式速递 + + + 盛事传城 + + + 生活健康资讯体育港式速递 + + + 房屋事务委员会会议 + + + 生活健康资讯体育港式速递 + + + 香港电台天气简报 + + + 生活健康资讯体育港式速递 + + + 盛事传城 + + + 凝聚香港 + + + 铿锵集 + + + 追梦者 + + + IP新机遇 (英文版) + + + 香港2024世界跆拳道品势锦标赛 + + + 生活健康资讯体育港式速递 + + + RTHK33 + + + 一路向前 12 + + + 一路向前 13 + + + 如果奔跑是我的人生 10 + + + 如果奔跑是我的人生 11 + + + 如果奔跑是我的人生 12 + + + 今日说法 + + + 新闻联播 + + + 人与自然 + + + 朝闻天下 + + + 生活圈 + + + 海天雄鹰 31 + + + 海天雄鹰 32 + + + 海天雄鹰 33 + + + 寻古中国寻夏记 + + + 新闻30分 + + + 今日说法 + + + 南洋女儿情 15 + + + 南洋女儿情 16 + + + 南洋女儿情 17 + + + 南洋女儿情 18 + + + 南洋女儿情 19 + + + 第一动画乐园 + + + 航拍中国第三季 + + + 新闻联播 + + + 天气预报 + + + 电视剧 + + + 电视剧 + + + 国家记忆 + + + 焦点访谈 + + + 晚间新闻 + + + 平安行 + + + SCTV1 + + + 偶像剧场 + + + 偶像剧场 + + + 偶像剧场 + + + 记录时间 + + + 记录时间 + + + 偶像剧场 + + + 偶像剧场 + + + 偶像剧场 + + + 纪录片 + + + 早安四川 + + + 世界遗产5A旅游区气象信息 + + + 喜剧班的春天 + + + 动画片剧场 + + + 食心食意 + + + 真情剧场 + + + 真情剧场 + + + 真情剧场 + + + 真情剧场 + + + 午间气象播报 + + + 真情剧场 + + + 真情剧场 + + + 真情剧场 + + + 真情剧场 + + + 真情剧场 + + + 真情剧场 + + + 今日视点 + + + 四川新闻联播 + + + 四川天气预报 + + + 转播中央新闻联播 + + + 合家欢剧场:孤舟(23) + + + 合家欢剧场:孤舟(24) + + + 了不起的分享 + + + 四川新闻联播 + + + 等着我 + + + 旅游风景区天气预报 + + + 偶像剧场 + + + SCTV2 + + + 麻辣烫 + + + 文旅大视界 + + + 纪录之窗 + + + 安逸的旅途 + + + 地名天府Ⅳ + + + 好戏天天看 + + + 安逸的旅途 + + + 安逸的旅途 + + + 纪录之窗 + + + 地名天府Ⅳ + + + 麻辣烫 + + + 好戏天天看 + + + 运动+大时段 + + + 好戏天天看 + + + 好戏天天看 + + + 天天耍大牌 + + + 刀客家族的女人(43) + + + 刀客家族的女人(44) + + + 归途(1) + + + 归途(2) + + + 归途(3) + + + 归途(4) + + + 归途(5) + + + 归途(6) + + + 四川文旅报道 + + + 纪录之窗 + + + 熊猫观察 + + + 吃八方 + + + 麻辣烫 + + + 贤妻良母(18) + + + 贤妻良母(19) + + + 贤妻良母(20) + + + 麻辣烫 + + + SCTV3 + + + 纪录之窗 + + + 消费新观察 + + + 小店故事 + + + 今日视点 + + + 财富故事会 + + + 消费新观察 + + + 安逸的旅途 + + + 小店故事 + + + 消费主张 + + + 消费主张 + + + 今日视点 + + + 天天耍大牌 + + + 消费新观察 + + + 小店故事 + + + 安逸的旅途 + + + 今日视点 + + + 消费主张 + + + 财富故事会 + + + 财富故事会 + + + 消费新观察 + + + 小店故事 + + + 金子(17) + + + 金子(18) + + + 金子(19) + + + 金子(20) + + + 金子(21) + + + 金子(22) + + + 金子(23) + + + 金子(24) + + + 隋唐英雄Ⅰ(14) + + + 隋唐英雄Ⅰ(15) + + + 消费新观察 + + + 瞧,桥 + + + 等着我 + + + 吃八方 + + + 天天耍大牌 + + + 今日视点 + + + SCTV4 + + + 1800新闻现场 + + + 医生来了 + + + 晚报十点半 + + + 晚报十点半 + + + 1800新闻现场 + + + 黄金三十分 + + + 早安四川 + + + 商务节目 + + + 1800新闻现场 + + + 现场快报 + + + 商务节目 + + + 现场快报 + + + 黄金三十分 + + + 商务节目 + + + 1200新闻现场 + + + 商务节目 + + + 黄金三十分 + + + 现场快报 + + + 商务节目 + + + 现场快报 + + + 商务节目 + + + 全媒直播间 + + + 商务节目 + + + 现场快报 + + + 1800新闻现场 + + + 黄金三十分 + + + 全媒直播间 + + + SCTV5 + + + 冲破特训营(30) + + + 红岩下的追捕(23) + + + 红岩下的追捕(24) + + + 天怒1931(1) + + + 天怒1931(2) + + + 天怒1931(3) + + + 天怒1931(3) + + + 天怒1931(4) + + + 天怒1931(5) + + + 天怒1931(6) + + + 猎鹰1949(11) + + + 猎鹰1949(11) + + + 猎鹰1949(12) + + + 猎鹰1949(13) + + + 猎鹰1949(14) + + + 猎鹰1949(15) + + + 猎鹰1949(16) + + + 猎鹰1949(17) + + + 猎鹰1949(18) + + + 猎鹰1949(19) + + + 猎鹰1949(20) + + + 军统枪口下的女人之潜伏(7) + + + 军统枪口下的女人之潜伏(8) + + + 冲破特训营(30) + + + 冲破特训营(31) + + + 冲破特训营(32) + + + 冲破特训营(33) + + + SCTV7 + + + 青少节目带 + + + 金熊猫说教育 + + + 节目循环滚动播出 + + + 节目循环滚动播出 + + + 节目循环滚动播出 + + + 美丽四川风光片、中国梦MV + + + 剧场 + + + 剧场 + + + 等着我 + + + 等着我 + + + 大英雄(37) + + + 大英雄(38) + + + 大英雄(39) + + + 大英雄(40) + + + 大英雄(41) + + + 卡通联播 + + + 青少节目带 + + + 等着我 + + + 破阵(16) + + + 破阵(17) + + + 破阵(18) + + + SCTV8 + + + 天府视窗 + + + 天府视窗 + + + 天府视窗 + + + 天府视窗 + + + 四川教育新闻 + + + 高考360 + + + 校园全媒体 + + + 科教节目 + + + 夺金战(12) + + + 夺金战(13) + + + 夺金战(14) + + + 夺金战(15) + + + 夺金战(16) + + + 夺金战(17) + + + 夺金战(18) + + + 奇趣大自然 + + + 优秀动画片展播 + + + 转播中央台新闻联播 + + + 四川教育新闻 + + + 高考360 + + + 科教节目 + + + 魅力职教 + + + 四川教育新闻 + + + 高考360 + + + 铁道游击队(14) + + + 铁道游击队(15) + + + SCTV9 + + + 沸腾吧乡村 + + + 致富牛人 + + + 金字招牌 + + + 乡村大讲堂经典版 + + + 乡村故事 + + + 乡村故事 + + + 乡村故事 + + + 乡村故事 + + + 乡村会客厅/乡村大篷车 + + + 沸腾吧乡村 + + + 致富牛人 + + + 金字招牌 + + + 美丽乡村 + + + 乡村大讲堂经典版 + + + 金字招牌 + + + 乡村会客厅/乡村大篷车 + + + 沸腾吧乡村 + + + 乡村故事 + + + 乡村故事 + + + 夺粮剿匪记(4) + + + 夺粮剿匪记(5) + + + 乡村会客厅/乡村大篷车 + + + 沸腾吧乡村 + + + 夺粮剿匪记(6) + + + 夺粮剿匪记(7) + + + 夺粮剿匪记(8) + + + 夺粮剿匪记(9) + + + 乡村故事/健康四川 + + + 四川乡村新闻 + + + 沸腾吧乡村 + + + 家有大姐(6) + + + 家有大姐(7) + + + 家有大姐(8) + + + 乡村故事 + + + 四川乡村新闻 + + + SITV14 + + + 纪录片 + + + 直击引领区 + + + 纪录片 + + + 文化访谈录 + + + 纪录片 + + + 祝您晚安 + + + 今日股市 + + + 纪录片 + + + 创时代 + + + 纪录片 + + + 财经早班车 + + + 市场零距离 + + + 市场零距离 + + + 财经中间站 + + + 632观察 + + + 科创先行者 + + + 市场零距离 + + + 纪录片 + + + 创赢未来 + + + 纪录片 + + + 直击引领区 + + + 纪录片 + + + 直击引领区 + + + 创新驿站 + + + 纪录片 + + + 创时代 + + + 纪录片 + + + 望江驿·遇见 + + + 几何书房 + + + 新闻制高点 + + + 632观察 + + + 科创先行者 + + + 纪录片 + + + 文化访谈录 + + + 望江驿·遇见 + + + 财经夜行线 + + + 解码新金融 + + + 新闻制高点 + + + 632观察 + + + 科创先行者 + + + 直击引领区 + + + 文化访谈录 + + + 直击引领区 + + + SKYNEWS + + + SkyNews + + + SkyNews + + + SkyNews + + + SkyNews + + + SkyNews + + + SkyNews + + + Breakfast + + + Breakfast + + + BreakfastWithKayBurley + + + BreakfastWithKayBurley + + + BreakfastWithKayBurley + + + BreakfastWithKayBurley + + + BreakfastWithKayBurley + + + BreakfastWithKayBurley + + + SkyNewsTodayWithWilfredFrost + + + SkyNewsTodayWithWilfredFrost + + + SkyNewsTodayWithWilfredFrost + + + BusinessLive + + + SkyNewsTodayWithJayneSecker + + + SkyNewsTodayWithSaimaMohsin + + + SkyNewsTodayWithJayneSecker + + + SkyNewsTodayWithJayneSecker + + + SkyNewsWithKamaliMelbourne + + + SkyNewsWithKamaliMelbourne + + + SkyNewsWithKamaliMelbourne + + + SkyNewsWithKamaliMelbourne + + + SkyNewsWithKamaliMelbourne + + + BusinessLive + + + TheNewsHourWithMarkAustin + + + TheNewsHourWithMarkAustin + + + TheNewsHourWithMarkAustin + + + TheNewsHourWithMarkAustin + + + PoliticsHubWithSophyRidge + + + PoliticsHubWithSophyRidge + + + UKTonightWithSarah-JaneMee + + + UKTonightWithSarah-JaneMee + + + TheWorldWithYaldaHakim + + + TheWorldWithYaldaHakim + + + NewsAt10WithAnnaBotting + + + PressPreview + + + News&PressPreview + + + PressPreview + + + SONYMAX + + + SaalaKhadoos-SaalaKhadoos + + + AisiDeewangi-AisiDeewangi + + + TheMaking-TigerZindaHai第1季第1集-TheMaking-TigerZindaHai + + + TheMaking:Abcd2第1季第1集-TheMaking:Abcd2 + + + MujhseShaadiKarogi-MujhseShaadiKarogi + + + ExtraaShots-Befikre第1季第1集-ExtraaShots-Befikre + + + Nawabzaade-Nawabzaade + + + Raaz-Raaz + + + Jhund-Jhund + + + HeyyBabyy-HeyyBabyy + + + DoubleXl-DoubleXl + + + AankhMicholi-AankhMicholi + + + Te3N-Te3N + + + SONYSAB + + + BadallPePaonHain第1季第144集-BadallPePaonHain + + + BadallPePaonHain第1季第145集-BadallPePaonHain + + + BadallPePaonHain第1季第146集-BadallPePaonHain + + + BadallPePaonHain第1季第147集-BadallPePaonHain + + + BadallPePaonHain第1季第148集-BadallPePaonHain + + + PushpaImpossible第1季第774集-PushpaImpossible + + + PushpaImpossible第1季第775集-PushpaImpossible + + + PushpaImpossible第1季第776集-PushpaImpossible + + + PushpaImpossible第1季第777集-PushpaImpossible + + + TaarakMehtaKaOoltahChashmah第1季第4252集-TaarakMehtaKaOoltahChashmah + + + TaarakMehtaKaOoltahChashmah第1季第4253集-TaarakMehtaKaOoltahChashmah + + + TaarakMehtaKaOoltahChashmah第1季第4254集-TaarakMehtaKaOoltahChashmah + + + TaarakMehtaKaOoltahChashmah第1季第4255集-TaarakMehtaKaOoltahChashmah + + + WagleKiDuniya第1季第1142集-WagleKiDuniya + + + WagleKiDuniya第1季第1143集-WagleKiDuniya + + + WagleKiDuniya第1季第1144集-WagleKiDuniya + + + WagleKiDuniya第1季第1145集-WagleKiDuniya + + + PushpaImpossible第1季第777集-PushpaImpossible + + + ShrimadRamayan第1季第272集-ShrimadRamayan + + + WagleKiDuniya第1季第1145集-WagleKiDuniya + + + AliBabaDastaan-E-Kabul第1季第53集-AliBabaDastaan-E-Kabul + + + BadallPePaonHain第1季第148集-BadallPePaonHain + + + TaarakMehtaKaOoltahChashmah第1季第3171集-TaarakMehtaKaOoltahChashmah + + + TaarakMehtaKaOoltahChashmah第1季第3172集-TaarakMehtaKaOoltahChashmah + + + TaarakMehtaKaOoltahChashmah第1季第3173集-TaarakMehtaKaOoltahChashmah + + + TaarakMehtaKaOoltahChashmah第1季第3174集-TaarakMehtaKaOoltahChashmah + + + TaarakMehtaKaOoltahChashmah第1季第3175集-TaarakMehtaKaOoltahChashmah + + + TaarakMehtaKaOoltahChashmah第1季第3176集-TaarakMehtaKaOoltahChashmah + + + PushpaImpossible第1季第777集-PushpaImpossible + + + AliBabaDastaan-E-Kabul第1季第53集-AliBabaDastaan-E-Kabul + + + ShrimadRamayan第1季第272集-ShrimadRamayan + + + WagleKiDuniya第1季第1145集-WagleKiDuniya + + + TaarakMehtaKaOoltahChashmah第1季第4255集-TaarakMehtaKaOoltahChashmah + + + PushpaImpossible第1季第777集-PushpaImpossible + + + ShrimadRamayan第1季第272集-ShrimadRamayan + + + WagleKiDuniya第1季第1145集-WagleKiDuniya + + + TaarakMehtaKaOoltahChashmah第1季第4255集-TaarakMehtaKaOoltahChashmah + + + BadallPePaonHain第1季第148集-BadallPePaonHain + + + PushpaImpossible第1季第777集-PushpaImpossible + + + AliBabaDastaan-E-Kabul第1季第54集-AliBabaDastaan-E-Kabul + + + BadallPePaonHain第1季第149集-BadallPePaonHain + + + ShrimadRamayan第1季第273集-ShrimadRamayan + + + TaarakMehtaKaOoltahChashmah第1季第4256集-TaarakMehtaKaOoltahChashmah + + + WagleKiDuniya第1季第1146集-WagleKiDuniya + + + PushpaImpossible第1季第778集-PushpaImpossible + + + Aladdin-NaamTohSunaHoga第1季第175集-Aladdin-NaamTohSunaHoga + + + AliBabaDastaan-E-Kabul第1季第54集-AliBabaDastaan-E-Kabul + + + BadallPePaonHain第1季第149集-BadallPePaonHain + + + TVB PLUS + + + 劲歌推介[粤] + + + 直播灵接触[粤][PG] + + + 玲玲友情报[粤] + + + 美食新闻报道[粤] + + + 意料之踪[粤] + + + 意料之踪[粤] + + + 开坛[粤] + + + 断唔断舍离?[粤/日] + + + 是日播映完毕 + + + 姊妹淘[粤] + + + 姊妹淘[粤] + + + 边度都有阴谋[粤] + + + 意料之踪[粤] + + + 美食新闻报道[粤] + + + 楼计专家[粤] + + + 交易现场[粤] + + + 早市战报[粤] + + + 通悉牛熊[粤] + + + 早市战报[粤] + + + 交易现场[粤] 及 香港机遇新里程[粤] + + + 优雅的母女#66[粤/韩] + + + 美食新闻报道[粤] 及 香港机遇新里程[粤] + + + 意料之踪[粤] 及 跨境理财新机遇[粤] + + + MUSIC BREAK[粤][PG] + + + 甄嬛传#75[粤/普] 及 香港机遇新里程[粤] + + + 交易现场[粤] 及 跨境理财新机遇[粤] + + + 今日有楼睇[粤] + + + 台湾日食记[粤/普] + + + 台湾日食记[粤/普] + + + 美食新闻报道[粤] + + + 开坛[粤] + + + 台湾学呢啲[粤] 及 警声百二秒 II[粤] + + + 优雅的母女#67[粤/韩] 及 跨境理财新机遇[粤] + + + 意料之踪[粤] + + + 娱乐新闻报道 + + + 直播灵接触[粤][PG] 及 香港机遇新里程[粤] + + + 甄嬛传#76[粤/普][PG] 及 香港机遇新里程[粤] + + + 早着先机[粤][马会] + + + TVB剧场 + + + 《谁是冠军-掼牌精英赛》第7期 + + + 《谁是冠军-掼牌精英赛》第8期 + + + 《谁是冠军-掼牌精英赛》第9期 + + + 《谁是冠军-掼牌精英赛》第10期 + + + 《谁是冠军-掼牌精英赛》第11期 + + + 《谁是冠军-掼牌精英赛》第12期 + + + 《谁是冠军-掼牌精英赛》第13期 + + + 《谁是冠军-掼牌精英赛》第14期 + + + 《谁是冠军-掼牌精英赛》第15期 + + + 《谁是冠军-掼牌精英赛》第16期 + + + 《谁是冠军-掼牌精英赛》第17期 + + + 《谁是冠军-掼牌精英赛》第18期 + + + 《谁是冠军-掼牌精英赛》第19期 + + + 《谁是冠军-掼牌精英赛》第20期 + + + 《谁是冠军-掼牌精英赛》第21期 + + + 《谁是冠军-掼牌精英赛》第22期 + + + 《谁是冠军-掼牌精英赛》第23期 + + + 《谁是冠军-掼牌精英赛》第24期 + + + 《谁是冠军-掼牌精英赛》第25期 + + + 《谁是冠军-掼牌精英赛》第26期 + + + 《谁是冠军-掼牌精英赛》第27期 + + + 《谁是冠军-掼牌精英赛》第28期 + + + 《谁是冠军-掼牌精英赛》第29期 + + + 《谁是冠军-掼牌精英赛》第30期 + + + 《谁是冠军-掼牌精英赛》第31期 + + + 《谁是冠军-掼牌精英赛》第32期 + + + 《谁是冠军-掼牌精英赛》第33期 + + + 《谁是冠军-掼牌精英赛》第34期 + + + 《谁是冠军-掼牌精英赛》第35期 + + + VIUTVSIX + + + 空间整理达人2第6集 + + + 古典乐导赏团第10集 + + + ViuTVsixStationClosingSlate + + + 扭转味蕾第18集 + + + RickStein寻味旅程2第1集 + + + 捷筑先登2第3集 + + + Jamie一锅料理第7集 + + + 法国农情煮意第3集 + + + 空中浩劫20第10集-StormyCockpit + + + 缘份精华游 + + + Trollstopia第34集 + + + DWNews + + + Louie&YokoBuild第18集 + + + Pirata&CapitanoS2第9集 + + + Pirata&CapitanoS2第10集 + + + Briko第1集 + + + Briko第2集 + + + DWEveningNews + + + SuperMonstersS3-ChristmasSpecial + + + ViuTVNews + + + DumperandSkoop第52集 + + + TheCroodsFamilyTree第25集 + + + 北国三人行2第5集 + + + 厨房我做煮第27集 + + + 高度设防:高墙之外第2集 + + + 美女与宅男-澳洲篇第8集 + + + ViuTVNews + + + 英伦古镇2第5集 + + + WZTV1 + + + 我是大美人 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 平民英雄 + + + 新闻大求真 + + + 新闻大求真 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 我的纪录片 + + + 中华人民共和国国歌 + + + 湖南新闻联播 + + + 偶像独播剧场:情谜睡美人(74) + + + 动画片剧场 + + + 偶像独播剧场:情谜睡美人(75) + + + 偶像独播剧场:情谜睡美人(76) + + + 偶像独播剧场:情谜睡美人(77) + + + 偶像独播剧场:情谜睡美人(78) + + + Y+影院 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + ZHOUSHANTV1 + + + 我是大美人 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 平民英雄 + + + 新闻大求真 + + + 新闻大求真 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 我的纪录片 + + + 中华人民共和国国歌 + + + 湖南新闻联播 + + + 偶像独播剧场:情谜睡美人(74) + + + 动画片剧场 + + + 偶像独播剧场:情谜睡美人(75) + + + 偶像独播剧场:情谜睡美人(76) + + + 偶像独播剧场:情谜睡美人(77) + + + 偶像独播剧场:情谜睡美人(78) + + + ZHOUSHANTV2 + + + 我是大美人 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 平民英雄 + + + 新闻大求真 + + + 新闻大求真 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 我的纪录片 + + + 中华人民共和国国歌 + + + 湖南新闻联播 + + + 偶像独播剧场:情谜睡美人(74) + + + 动画片剧场 + + + 偶像独播剧场:情谜睡美人(75) + + + 偶像独播剧场:情谜睡美人(76) + + + 偶像独播剧场:情谜睡美人(77) + + + 偶像独播剧场:情谜睡美人(78) + + + ZHTV-1 + + + 天气预报 + + + 第一首映 + + + 做一天的你 + + + 金湾一周 + + + 极致 + + + 珠海新闻(重播) + + + 上午剧场 + + + 上午剧场 + + + 上午剧场 + + + 第一首映 + + + 新闻121(直播) + + + 做一天的你 + + + 下午剧场 + + + 影视界 + + + 新闻121 + + + 校园 + + + 珠海110 + + + 财知道 + + + 转播中央台新闻联播 + + + 珠海新闻(直播) + + + 天气预报 + + + 黄金剧场 + + + 黄金剧场 + + + 黄金剧场 + + + 海洋天气预报 + + + 财知道 + + + 第一房产精编 + + + 珠海新闻 + + + ZHTV-2 + + + 说一不二 + + + 耳畔中国 + + + 都市荟生活 + + + 创赢工场 + + + 搭错车 + + + 搭错车 + + + 第一房产 + + + 光影纵横 + + + 都市荟生活 + + + 说一不二 + + + 创赢工场 + + + 下午剧场 + + + 第一地产 + + + 光影纵横 + + + 天气预报 + + + 有一说一 + + + 说一不二 + + + 都市荟生活 + + + 学生兵 + + + 学生兵 + + + 创赢工场 + + + 第一房产 + + + 光影纵横 + + + 说一不二 + + + 都市荟生活 + + + 七彩戏剧 + + + 《百姓戏台》越剧经典爱情故事(1) + + + 《老好的生活》(精编) + + + 《绝版赏析》杨小楼梅兰芳《霸王别姬》(一) + + + 祝您晚安 + + + 电视书苑 长篇评话《隋唐·四平山》第二回 + + + 请您欣赏(新版) + + + 海上大剧院 昆剧《千忠戮》、昆剧《浣纱记》、昆剧《荆钗记》 + + + 请您欣赏(新版) + + + 《嘎讪胡》(精编) + + + 请您欣赏(新版) + + + 电视书苑 长篇评话《隋唐·四平山》第二回 + + + 请您欣赏(新版) + + + 海上大剧院 昆剧《千忠戮》、昆剧《浣纱记》、昆剧《荆钗记》 + + + 请您欣赏(新版) + + + 《嘎讪胡》(精编) + + + 请您欣赏(新版) + + + 海上大剧院 昆剧《千忠戮》、昆剧《浣纱记》、昆剧《荆钗记》 + + + 电视书苑 长篇评话《隋唐·四平山》第三回 + + + 请您欣赏(新版) + + + 海上大剧院 京剧《真假美猴王》 + + + 请您欣赏(新版) + + + 《嘎讪胡》(精编) + + + 请您欣赏(新版) + + + 电视书苑 长篇评话《隋唐·四平山》第三回 + + + 请您欣赏(新版) + + + 海上大剧院 京剧《真假美猴王》 + + + 三沙卫视 + + + 风尚潮 + + + 动画片 + + + 走向蔚蓝——海洋纪录片展播 + + + 海南岛纪事 + + + 巡航祖宗海 + + + 南海直播室 + + + 三沙新闻 + + + 英语新闻 + + + 自贸先行者 + + + 风尚潮 + + + 走向蔚蓝——海洋纪录片展播 + + + 三沙新闻 + + + 南海直播室 + + + 天气预报 + + + 滨海旅游环境预报 + + + 海洋音乐厅 + + + 电影时间 + + + 自宣段 + + + 自贸先行者 + + + 天气预报 + + + 中国海岛环境预报 + + + 南海直播室 + + + 三沙新闻 + + + 英语新闻 + + + 诗意海洋 + + + 走向蔚蓝——海洋纪录片展播 + + + 风尚潮 + + + 自贸先行者 + + + 电影时间 + + + 自宣段 + + + 英语新闻 + + + 动画片 + + + 三沙海洋预报 + + + 风尚潮 + + + 海南岛纪事 + + + 丝绸之路环境预报 + + + 天气预报 + + + 转播中央台《新闻联播》 + + + 三沙新闻 + + + 海南新闻联播 + + + 电影时间 + + + 自宣段 + + + 三沙新闻 + + + 英语新闻 + + + 海南岛纪事 + + + 上海 + + + 开播!情景喜剧短剧季(8) + + + 梦想改造家第十季精编(5) + + + 欢迎来到麦乐村(26) + + + 欢迎来到麦乐村(27) + + + 欢迎来到麦乐村(28) + + + 欢迎来到麦乐村(29) + + + 欢迎来到麦乐村(30) + + + 欢迎来到麦乐村精编(31) + + + 亚洲(3):冰冻世界 + + + 中华人民共和国国歌 + + + 看东方 + + + 天气预报 + + + 长相思第一季(31) + + + 长相思第一季(32) + + + 婚内婚外精编(5) + + + 婚内婚外(6) + + + 婚内婚外(7) + + + 午间30分 + + + 天气预报 + + + 锦绣未央(3) + + + 锦绣未央(4) + + + 锦绣未央(5) + + + 锦绣未央(6) + + + 锦绣未央(7) + + + 婚内婚外(6) + + + 婚内婚外(7) + + + 百妖谱·京师篇(8) + + + 百视大看点 + + + 名医话养生(1006) + + + 东方新闻 + + + 天气预报 + + + 转播中央台新闻联播 + + + 婚内婚外(8) + + + 婚内婚外(9) + + + 明日精彩看点 + + + 东方看大剧 + + + 天涯小娘惹(8) + + + 今晚 + + + 天气预报 + + + 这就是中国 + + + 来点财经范儿 + + + 1/7(1050):反抗无声的家暴等 + + + 梦想改造家第十一季精编(1) + + + 上海外语 + + + 中国新记录(410) 人生第二次 1(下) + + + 中日新视界(504) 微视频大赛 + + + 车游天下(802) 塞班2新 + + + 中国新记录(409) 人生第二次 1(上) + + + 中国新记录(410) 人生第二次 1(下) + + + 中日新视界(504) 微视频大赛 + + + 车游天下(802) 塞班2新 + + + 中国新记录(409) 人生第二次 1(上) + + + 中国新记录(410) 人生第二次 1(下) + + + 车游天下(802) 塞班2新 + + + 中国新记录(409) 人生第二次 1(上) + + + 中国新记录(410) 人生第二次 1(下) + + + 中日新视界(504) 微视频大赛 + + + 车游天下(802) 塞班2新 + + + 中国新记录(409) 人生第二次 1(上) + + + 中国新记录(410) 人生第二次 1(下) + + + 中日新视界(504) 微视频大赛 + + + 车游天下(802) 塞班2新 + + + 中国新记录(409) 人生第二次 1(上) + + + 中国新记录(410) 人生第二次 1(下) + + + 中日新视界(504) 微视频大赛 + + + 车游天下(802) 塞班2新 + + + 中国新记录(409) 人生第二次 1(上) + + + 中国新记录(410) 人生第二次 1(下) + + + 中日新视界(504) 微视频大赛 + + + 车游天下(802) 塞班2新 + + + 拳心拳意13 + + + 洋厨房(615) 豫园万丽1 + + + 中国新记录(404) 人生第二次 2 (上) + + + 中国新记录(411) 人生第二次 2 下集 + + + ShanghaiEye(85) 第二艘国产大邮轮 + + + 拳心拳意13 + + + 洋厨房(615) 豫园万丽1 + + + 中国新记录(404) 人生第二次 2 (上) + + + 中国新记录(411) 人生第二次 2 下集 + + + 上海教育 + + + 教育新闻 + + + 招考就业周刊 + + + 今日房产 + + + 非常父母 + + + 市民大学堂 + + + 老年居家护理 + + + 教育山海经 + + + 档案 + + + 传奇 + + + 帮女郎 + + + 剧场(重播) + + + 光影 + + + 档案 + + + 讲武堂 + + + 健康大不同 + + + 身边的奥秘 + + + 电视连续剧 + + + 教育新闻 + + + 新闻联播 + + + 养生堂 + + + 帮女郎 + + + 成长不烦恼 + + + 今日房产 + + + 讲武堂 + + + 档案 + + + 光影 + + + 上海教育台 + + + 教育新闻 + + + 招考就业周刊 + + + 今日房产 + + + 非常父母 + + + 市民大学堂 + + + 老年居家护理 + + + 教育山海经 + + + 档案 + + + 传奇 + + + 帮女郎 + + + 剧场(重播) + + + 光影 + + + 档案 + + + 讲武堂 + + + 健康大不同 + + + 身边的奥秘 + + + 电视连续剧 + + + 教育新闻 + + + 新闻联播 + + + 养生堂(重播) + + + 帮女郎 + + + 成长不烦恼 + + + 今日房产 + + + 讲武堂 + + + 档案 + + + 光影 + + + 上海新闻综合 + + + 34集连续剧:七九河开(32) + + + 34集连续剧:七九河开(33) + + + 34集连续剧:七九河开(34)大结局 + + + 诗书画(640) 佚事典故 陶潜五柳 + + + 祝您晚安 + + + 祝您晚安 + + + 祝您晚安 + + + 寻味(198)魔都拾弄之 弄堂传奇 + + + 上海摩天轮·周末大放送(197) + + + 上海早晨 + + + 好物齐刷刷 + + + 24集连续剧:冰雪尖刀连(14) + + + 24集连续剧:冰雪尖刀连(15) + + + 上海摩天轮·周末大放送(197) + + + 民生一网通 + + + 午间30分 + + + 洋厨房(201) + + + 诗书画(641) 佚事典故 金乌负日 + + + 40集连续剧:南洋女儿情(1) + + + 40集连续剧:南洋女儿情(2) + + + 40集连续剧:南洋女儿情(3) + + + 寻味(198)魔都拾弄之 弄堂传奇 + + + 上海摩天轮·周末大放送(197) + + + <下一站>精选:流光溢彩 玻璃重生 + + + 新闻坊 + + + 新闻报道 新闻透视 观众中来 天气预报 + + + 案件聚焦(3708) 公益诉讼第四季(五) + + + 46集连续剧:手枪队(6) + + + 46集连续剧:手枪队(7) + + + 好物齐刷刷 + + + 逛吃大上海—金齑玉脍 + + + <新闻夜线>天气预报 + + + 新闻夜线 + + + 中国考古报道(38) + + + 案件聚焦(3708) 公益诉讼第四季(五) + + + 40集连续剧:南洋女儿情(1) + + + 上海星尚 + + + 人气美食 + + + 甲方乙方 + + + 今日印象 + + + 左右时尚 + + + 人气美食 + + + 甲方乙方 + + + 乐活好正点 + + + 今晚我们看电影 + + + 生活大不同 + + + 频道2分钟宣传片 + + + 我就是偶像 + + + 生活全接触 + + + 人气美食 + + + 甲方乙方 + + + 乐活好正点 + + + 星尚精选 + + + 美食大王牌 + + + 人气美食 + + + 甲方乙方 + + + 今日印象 + + + 左右时尚 + + + 生活全接触 + + + 上海第一财经 + + + 第六交易日 + + + 鹈鹕秀-乔嗣佳<三个问题帮你决定是否开通个人养老金账户> + + + 来点财经范儿(124)商业没有模式,只有信任! + + + <创时代-直击引领区>未来材料篇3:亟待发力非硅基芯材料 + + + <头脑风暴--求解:创投之争> + + + 祝您晚安 + + + 祝您晚安 + + + <中国经营者(234)李梦华:豪雅中国落地生根三十年> + + + <财经视频集萃-投资有看头> + + + 今日股市 + + + 直播:财经早班车 + + + 直播:市场零距离 + + + 直播:市场零距离 + + + 直播:市场零距离 + + + 直播:市场零距离 + + + 直播:财经中间站 + + + <中国经营者(234)李梦华:豪雅中国落地生根三十年> + + + 直播:市场零距离 + + + 直播:市场零距离 + + + 直播:市场零距离 + + + 直播:投资有看头 + + + 中国经济论坛(6):灯塔工厂与制造业智能化转型的未来 + + + 中国经济论坛(7):共享创新 共塑未来:构建科技创新开放环境 + + + <中国经营者(237)高德康:匠心筑梦 温暖世界> + + + 直播:今日股市 + + + 直播:谈股论金 + + + 直播:公司与行业 + + + 财经气象站 + + + 直播:财经夜行线 + + + 财经气象站 + + + <解码新金融>医疗科技为养老带来哪些想象力? + + + 财经气象站 + + + 科创大家谈:我们需要怎样的大学教育 + + + 今日股市 + + + <财经视频集萃-投资有看头> + + + 上海纪实人文 + + + 纪录片 + + + 印象 + + + 纪录片 + + + 纪录片 + + + 纪录片编辑室 + + + 纪录片 + + + 纵横经典 + + + 探索 + + + 纪录片 + + + 纪录片编辑室 + + + 纵横经典 + + + 印象 + + + 纪录片 + + + 探索 + + + 纪录片 + + + 纪录片 + + + 纪录片编辑室 + + + 超级装 + + + 纪录片 + + + 纪录片 + + + 纪录片 + + + 纪录片 + + + 超级装 + + + 探索 + + + 纪录片 + + + 超级装 + + + 纪录片 + + + 超级装 + + + 纪录片 + + + 超级装 + + + 纪录片 + + + 超级装 + + + 纪录片 + + + 探索 + + + 纪录片 + + + 上海艺术人文 + + + 音乐前线 + + + 文化天空 + + + 新青年剧场 + + + 新青年剧场 + + + 市场明珠 + + + 文化主题之夜 + + + 《万象》 + + + 文化天空 + + + 新青年 + + + 新青年剧场 + + + 新青年剧场 + + + 市场明珠 + + + 《万象》 + + + 纵横经典 + + + 博物志 + + + 名人厨房 + + + 新青年经典影院 + + + 我就是偶像 + + + 音乐前线 + + + 《万象》 + + + 翻箱底 + + + 新青年 + + + 新青年剧场 + + + 新青年剧场 + + + 市场明珠 + + + 晓松说 + + + 读书有道 + + + 市场明珠 + + + 上海都市 + + + 开心全接触-淘最严选(277) + + + 人气美食(4763) + + + 老好的生活(241) + + + 老好的生活-银龄生活(03) + + + 乐聆大篷车(10) + + + 人气美食(4767) + + + X诊所(2113)观察入微,弃"结"护"甲" + + + 人气美食(4762) + + + 中华好手艺合集(6)花炮 + + + 嘎讪胡(4452) + + + 老好的生活(242) + + + 老好的生活-银龄生活(04) + + + 人气美食(4764) + + + X诊所(2111) 拔牙有术,健康无阻 + + + 嘎讪胡(4454) + + + 开心全接触-极智装(1081) + + + 开心全接触-我们退休啦(2410) + + + 开心全接触-淘最上海(3926) + + + X诊所(2112)冬季护肝 就是养命 + + + 好吃记得夸我(218) + + + 星旅途·飞鸟行万里(42) + + + 人气美食(4764) + + + 老好的生活(242) + + + 老好的生活-银龄生活(04) + + + 嘎讪胡(4454) + + + X诊所(2113)观察入微,弃"结"护"甲" + + + 新老娘舅·我要问律师(4805) + + + 开心全接触-极智装(1082) + + + 开心全接触-我们退休啦(2411) + + + 开心全接触-淘最上海(3927) + + + 新老娘舅·我要问律师(4806) 众子女究竟谁对老母亲更上心? + + + 嘎讪胡(4455) + + + 人气美食(4768) + + + X诊所(2114) 抗衰有方 轻松绽放 + + + 嘎讪胡(4454) + + + 人气美食(4764) + + + X诊所(2113)观察入微,弃"结"护"甲" + + + 开心全接触-淘最上海(3927) + + + 上视东方影视 + + + 黄金影院:魔警 + + + 40集连续剧:摧毁(35) + + + 40集连续剧:摧毁(36) + + + 47集连续剧:旗袍(40) + + + 47集连续剧:旗袍(41) + + + 47集连续剧:旗袍(42) + + + 47集连续剧:旗袍(43) + + + 47集连续剧:旗袍(44) + + + 《星旅途》 + + + 《超级装》 + + + 35集连续剧:再爱我一次(2) + + + 35集连续剧:再爱我一次(3) + + + 35集连续剧:再爱我一次(4) + + + 42集连续剧:怒火英雄(3) + + + 42集连续剧:怒火英雄(4) + + + 42集连续剧:怒火英雄(5) + + + 42集连续剧:怒火英雄(6) + + + 40集连续剧:神枪之倒刺(1) + + + 40集连续剧:神枪之倒刺(2) + + + 47集连续剧:旗袍(45) + + + 47集连续剧:旗袍(46) + + + 47集连续剧:旗袍(47) + + + 39集连续剧:烽烟尽处(22) + + + 上视纪实 + + + 《意境欧洲》第四季:丹麦 + + + 印象 + + + 《何以中国》最新版(6) + + + 国宝里的新疆第二季·以此为家 + + + 纪录片编辑室(87) + + + 纵横经典 + + + 动物我最怕 6 + + + 《意境欧洲》第四季:丹麦 + + + 纪录片编辑室 + + + 纵横经典 + + + 印象 + + + 《意境欧洲》第四季:丹麦 + + + 动物我最怕(6) + + + 何以中国6 + + + 短纪录片 + + + 纪录片编辑室 + + + 超级装 + + + 我是你的瓷儿2 + + + 揭秘失落巨兽:巨齿鲨 + + + 文化艺术 + + + 马王堆 岁月不朽4 + + + 《地球脉动》第三季9 + + + 超级装 + + + 流言终结者:胶带万能 + + + 我是你的瓷儿2 + + + 《地狱厨神美食秘境》第四季:古巴隐秘美味 + + + 超级装 + + + 文化艺术 + + + 超级装 + + + 何以中国7 + + + 超级装 + + + 中国海南 雨林秘境2 + + + 超级装 + + + 我是你的瓷儿5 + + + 动物我最怕(7) + + + 《地狱厨神美食秘境》第四季:古巴隐秘美味 + + + 世界地理 + + + 特别呈现2021-139 + + + 远方的家2021-67 赚 + + + 味道-2023-53 + + + 味道-2023-54 + + + 2024世界地理频道主编时间-5 + + + 探索·发现-2024-6 + + + 世界地理50’-公园生活 第七集 + + + 科学动物园-2021-12 + + + 跟着书本去旅行-2021-35 + + + 跟着书本去旅行-2021-36 崺 + + + 世界地理频道字幕板-2023-2 崺 崺 + + + 探索·发现-2024-7 + + + 远方的家2021-68 + + + 世界地理50’-俯瞰北极 第二集 + + + 活力·源2021-200 + + + 活力·源2021-225 + + + 味道-2023-29 赺 + + + 味道-2023-30 赺 + + + 科学动物园-2024-16 + + + 跟着书本去旅行-2021-38 + + + 跟着书本去旅行-2021-39 樶 + + + 远方的家2021-69 + + + 2024世界地理频道主编时间-5 + + + 世界地理频道字幕板-2023-2 + + + 世界地理50’-公园生活 第八集 + + + 中国微名片·世界遗产-8(4K) + + + 世界地理50’-俯瞰北极 第三集 + + + 2024世界地理频道主编时间-5 + + + 特别呈现2022-200 + + + 探索·发现-2024-22 + + + 科学动物园-2021-13 + + + 东北热剧 + + + 我和我的三个姐姐(第18集) + + + 我和我的三个姐姐(第19集) + + + 我和我的三个姐姐(第20集) + + + 我和我的三个姐姐(第21集) + + + 海之谣(第03集) + + + 海之谣(第04集) + + + 海之谣(第05集) + + + 海之谣(第06集) + + + 大村官(第30集) + + + 大村官(第31集) + + + 大村官(第32集) + + + 渠道(右) + + + 大村官(第33集) + + + 喋血长江(第19集) + + + 渠道(右) + + + 喋血长江(第20集) + + + 喋血长江(第21集) + + + 喋血长江(第22集) + + + 渠道(右) + + + 山里红(第27集) + + + 山里红(第28集) + + + 渠道(右) + + + 山里红(第29集) + + + 渠道(右) + + + 山里红(第30集) + + + 漫长的季节(第11集) + + + 渠道(右) + + + 漫长的季节(第12集) + + + 东南卫视 + + + 穆桂英挂帅 + + + 龙宝小英雄 + + + 台湾新闻脸 + + + 我与海洋那些事 + + + 心中有片海 + + + 山海福建 + + + 早餐中国(4) + + + 穆桂英挂帅 + + + 早餐中国(4) + + + 穆桂英挂帅 + + + 东南早间天气预报 + + + 中华人民共和国国歌 + + + 穆桂英挂帅 + + + 铁齿铜牙纪晓岚 + + + 包青天之七侠五义 + + + 包青天之七侠五义 + + + 包青天之七侠五义 + + + 包青天之七侠五义 + + + 海峡午报 + + + 薛平贵与王宝钏 + + + 大海追鱼 + + + 悦读家(6) + + + 东南气象快讯 + + + 福建卫视新闻 + + + 转播中央台新闻联播 + + + 孤战迷城(35) + + + 孤战迷城(36) + + + 金鸡啼晓 + + + 海峡新干线 + + + 东南晚报 + + + 铁齿铜牙纪晓岚 + + + 东方卫视 + + + 开播!情景喜剧短剧季(8) + + + 开播!情景喜剧短剧季(8) + + + 梦想改造家第十季精编(5) + + + 欢迎来到麦乐村(26) + + + 欢迎来到麦乐村(27) + + + 欢迎来到麦乐村(28) + + + 欢迎来到麦乐村(29) + + + 欢迎来到麦乐村(30) + + + 欢迎来到麦乐村精编(31) + + + 亚洲(3):冰冻世界 + + + 中华人民共和国国歌 + + + 看东方 + + + 天气预报 + + + 长相思第一季(31) + + + 长相思第一季(32) + + + 婚内婚外精编(5) + + + 婚内婚外(6) + + + 婚内婚外(7) + + + 午间30分 + + + 天气预报 + + + 锦绣未央(3) + + + 锦绣未央(4) + + + 锦绣未央(5) + + + 锦绣未央(6) + + + 锦绣未央(7) + + + 婚内婚外(6) + + + 婚内婚外(7) + + + 百妖谱·京师篇(8) + + + 百视大看点 + + + 名医话养生(1006) + + + 东方新闻 + + + 天气预报 + + + 转播中央台新闻联播 + + + 婚内婚外(8) + + + 婚内婚外(9) + + + <婚内婚外>明日精彩看点 + + + 东方看大剧 + + + 天涯小娘惹(8) + + + 今晚 + + + 天气预报 + + + 这就是中国 + + + 来点财经范儿(125) + + + 1/7(1050):反抗无声的家暴等 + + + 梦想改造家第十一季精编(1) + + + 东方影视 + + + 午夜经典 + + + 国产影院 + + + 东方电影报道 + + + 国产影院 + + + 黄金强档剧场 + + + 东方电影报道 + + + 正午影院 + + + 卡通王 + + + 热播剧场 + + + 香港电影周 + + + 黄金强档剧场 + + + 电影指南 + + + 环球影院 + + + 东方电影报道 + + + 东方电影 + + + 午夜经典 + + + 国产影院 + + + 东方电影报道 + + + 国产影院 + + + 黄金强档剧场 + + + 东方电影报道 + + + 正午影院 + + + 卡通王 + + + 热播剧场 + + + 香港电影周 + + + 黄金强档剧场 + + + 电影指南 + + + 环球影院 + + + 东方电影报道 + + + 东方财经 + + + 纪录片 + + + 直击引领区 + + + 纪录片 + + + 文化访谈录 + + + 纪录片 + + + 祝您晚安 + + + 今日股市 + + + 纪录片 + + + 创时代 + + + 纪录片 + + + 财经早班车 + + + 市场零距离 + + + 市场零距离 + + + 财经中间站 + + + 632观察 + + + 科创先行者 + + + 市场零距离 + + + 纪录片 + + + 创赢未来 + + + 纪录片 + + + 直击引领区 + + + 纪录片 + + + 直击引领区 + + + 创新驿站 + + + 纪录片 + + + 创时代 + + + 纪录片 + + + 望江驿·遇见 + + + 几何书房 + + + 新闻制高点 + + + 632观察 + + + 科创先行者 + + + 纪录片 + + + 文化访谈录 + + + 望江驿·遇见 + + + 财经夜行线 + + + 解码新金融 + + + 新闻制高点 + + + 632观察 + + + 科创先行者 + + + 直击引领区 + + + 文化访谈录 + + + 直击引领区 + + + 东森亚洲卫视 + + + 医师好辣第1685集-让医师团队告诉你最正确的医学资讯! + + + 乐活好正点第805集-涵盖消费购物资讯、潮流特色小店、旅游指南和潮人的乐活主张。 + + + 台湾启示录第1328集-探讨新闻事件背后的艰辛内幕,取材涵包括人物故事、历史档案、社会观察,以及时事启发。以最客观的角度带领观众深入探讨事件的发展,致力启迪台湾民众的新 + + + 请问今晚住谁家第477集-真人打工旅游实境节目,每趟旅程由窦智孔、王传一分别领军艺人来宾组成的「型男打工团」,一起结伴远离都市尘嚣,探访最疗愈的乡间秘境。 + + + 请问今晚住谁家第478集-真人打工旅游实境节目,每趟旅程由窦智孔、王传一分别领军艺人来宾组成的「型男打工团」,一起结伴远离都市尘嚣,探访最疗愈的乡间秘境。 + + + 打卡吧!我的炫Food日记第51集-由主持人以行脚的方式,主题式的造访各地,以时下年轻人最时兴的Fb及Ig打卡,创造新亮点及网路点击率,不只美食,也深度介绍各地人文风情与节日祭 + + + 全民星攻略第926集-益智实境节目,由馆长曾国城担任知识把关者,考验著每个来挑战九宫格益智游戏的艺人明星。想要攻略九宫格关卡,透过创意联想、逻辑推理、理性分析,才有 + + + 小姐不熙娣第160集-由娱乐圈最具女王气势之艺人小S徐熙娣主持,搭档幽默风趣的助理主持人派翠克,每集邀请多位时下最红、最具话题性之艺人及网红上节目,透过小S深厚及麻辣 + + + 今晚开讚吧第515集-结合不同族群社团、粉丝团、民调排行榜合作,利用大数据分析,反应市场趋势,精准抓出热门关注话题!从调查结果对号入座,吸引各族群眼光!利用对立激起 + + + 东森育乐新闻-娱乐业的最新新闻。它包括来自世界各地的最新名人新闻。 + + + 东森城市新闻-来自亚洲和世界主要城市的最新新闻。 + + + 请问今晚住谁家第404集-真人打工旅游实境节目,每趟旅程由窦智孔、王传一分别领军艺人来宾组成的「型男打工团」,一起结伴远离都市尘嚣,探访最疗愈的乡间秘境。 + + + 医师好辣第1684集-让医师团队告诉你最正确的医学资讯! + + + 全民星攻略第926集-益智实境节目,由馆长曾国城担任知识把关者,考验著每个来挑战九宫格益智游戏的艺人明星。想要攻略九宫格关卡,透过创意联想、逻辑推理、理性分析,才有 + + + 今晚开讚吧第515集-结合不同族群社团、粉丝团、民调排行榜合作,利用大数据分析,反应市场趋势,精准抓出热门关注话题!从调查结果对号入座,吸引各族群眼光!利用对立激起 + + + 哈囉你有事吗?第189集-见多识广老司机沈玉琳Vs.古灵精怪新人类曾智希。说没事的,都很有事!说有事的,没事找事!生活里每件小事都是大事!!!跨世代观点交锋, + + + 梦想街57号-预约你的梦想第1584集-更专业、更丰富、更多元化的车款资讯,分享给观众。 + + + 医师好辣第1684集-让医师团队告诉你最正确的医学资讯! + + + 请问今晚住谁家第404集-真人打工旅游实境节目,每趟旅程由窦智孔、王传一分别领军艺人来宾组成的「型男打工团」,一起结伴远离都市尘嚣,探访最疗愈的乡间秘境。 + + + 全民星攻略第927集-益智实境节目,由馆长曾国城担任知识把关者,考验著每个来挑战九宫格益智游戏的艺人明星。想要攻略九宫格关卡,透过创意联想、逻辑推理、理性分析,才有 + + + 今晚开讚吧第516集-结合不同族群社团、粉丝团、民调排行榜合作,利用大数据分析,反应市场趋势,精准抓出热门关注话题!从调查结果对号入座,吸引各族群眼光!利用对立激起 + + + 哈囉你有事吗?第190集-见多识广老司机沈玉琳Vs.古灵精怪新人类曾智希。说没事的,都很有事!说有事的,没事找事!生活里每件小事都是大事!!!跨世代观点交锋, + + + 梦想街57号-预约你的梦想第1585集-更专业、更丰富、更多元化的车款资讯,分享给观众。 + + + 请问今晚住谁家第405集-真人打工旅游实境节目,每趟旅程由窦智孔、王传一分别领军艺人来宾组成的「型男打工团」,一起结伴远离都市尘嚣,探访最疗愈的乡间秘境。 + + + 小姐不熙娣第161集-由娱乐圈最具女王气势之艺人小S徐熙娣主持,搭档幽默风趣的助理主持人派翠克,每集邀请多位时下最红、最具话题性之艺人及网红上节目,透过小S深厚及麻辣 + + + 东森亚洲新闻台 + + + 台湾启示录 + + + 轻旅行 + + + 聚焦全世界 + + + 乐活好正点 + + + 台湾大代志 + + + 两岸大视野 + + + 梦想街57号 + + + 台湾东森新闻[直播] + + + 台湾东森新闻[直播] + + + 台湾东森新闻[直播] + + + 台湾东森新闻[直播] + + + 台湾东森新闻[直播] + + + 台湾东森新闻[直播] + + + 台湾东森新闻[直播] + + + 台湾东森新闻[直播] + + + 台湾东森新闻[直播] + + + 台湾东森新闻[直播] + + + 东森Ez新闻&东森美洲城市新闻[直播] + + + 台湾东森新闻[直播] + + + 台湾东森新闻[直播] + + + 台湾东森新闻[直播] + + + 台湾东森新闻[直播] + + + 关键时刻 + + + 关键时刻 + + + 东莞新闻 + + + 结束 + + + 东莞新闻 + + + 雷霆剧场 + + + 白金剧场 + + + 东莞新闻 + + + 宝贝豆丁 + + + 风华剧场 + + + 动画片 + + + 快乐童星 + + + 南城新闻 + + + 法庭内外 + + + 转播中央台新闻联播 + + + 东莞新闻 + + + 东莞气象 + + + 今日莞事 + + + 经典剧场 + + + 偶像剧场 + + + 东莞新闻 + + + 东莞生活资讯 + + + 今日莞事 + + + 市区新闻 + + + 科普大篷车 + + + S购0800 + + + S购0820 + + + 经典剧场 + + + S购1055 + + + S购1120 + + + 午间驿站剧场 + + + S购1325 + + + 生活大莞家 + + + 快乐童星 + + + S购1430 + + + S购1455 + + + 休闲剧场 + + + S购1625 + + + S购1650 + + + 情景剧场 + + + 都市剧场 + + + 生活大莞家 + + + 车资讯 + + + 精英剧场 + + + 夜生活剧场 + + + 中华特产 + + + 番茄生活王 + + + 风物东方 + + + 走进原产地 + + + 乡约 + + + 造物志 + + + 风物东方 + + + 番茄生活王 + + + 乡约 + + + 造物志 + + + 风物东方 + + + 特产档案 + + + 走进原产地 + + + 特产档案 + + + 乡约 + + + 风物东方 + + + 走进原产地 + + + 番茄生活王 + + + 风物东方 + + + 造物志 + + + 特产档案 + + + 我的健康我做主 + + + 特产档案 + + + 我的健康我做主 + + + 风物东方 + + + 我的健康我做主 + + + 番茄生活王 + + + 特产档案 + + + 走进原产地 + + + 我的健康我做主 + + + 造物志 + + + 特产档案 + + + 我的健康我做主 + + + 特产档案 + + + 风物东方 + + + 我的健康我做主 + + + 造物志 + + + 我的健康我做主 + + + 特产档案 + + + 我的健康我做主 + + + 特产档案 + + + 我的健康我做主 + + + 风物东方 + + + 番茄生活王 + + + 特产档案 + + + 造物志 + + + 我的健康我做主 + + + 特产档案 + + + 我的健康我做主 + + + 特产档案 + + + 走进原产地 + + + 风物东方 + + + 节目结束 + + + 中华美食 + + + 天下徽菜(25) + + + 有滋有味(210467) + + + 节目结束 + + + 节目结束 + + + 节目结束 + + + 食为天(9) + + + 行走的筷子(11) + + + 天下徽菜(1) + + + 食为天(10) + + + 丝绸之路上的美食(46) + + + 有滋有味(210471) + + + 行走的筷子(12) + + + 天下徽菜(2) + + + 满汉全席(8) + + + 食为天(11) + + + 天下徽菜(3) + + + 厨房万岁(26) + + + 食为天(13) + + + 食为天(9) + + + 天下徽菜(4) + + + 有滋有味(210481) + + + 厨房万岁(27) + + + 食为天(10) + + + 天下徽菜(5) + + + 厨房万岁(28) + + + 食为天(11) + + + 满汉全席(9) + + + 天下徽菜(6) + + + 食为天(13) + + + 天下徽菜(7) + + + 有滋有味(210491) + + + 丝绸之路上的美食(47) + + + 食为天(9) + + + 有滋有味(210501) + + + 厨房万岁(29) + + + 行走的筷子(13) + + + 满汉全席(10) + + + 食为天(10) + + + 丝绸之路上的美食(48) + + + 食为天(11) + + + 天下徽菜(8) + + + 行走的筷子(14) + + + 满汉全席(11) + + + 食为天(13) + + + 行走的筷子(15) + + + 天下徽菜(9) + + + 厨房万岁(30) + + + 丝绸之路上的美食(49) + + + 有滋有味(210511) + + + 行走的筷子(16) + + + 天下徽菜(10) + + + 满汉全席(8) + + + 行走的筷子(17) + + + 天下徽菜(11) + + + 食为天(9) + + + 丝绸之路上的美食(50) + + + 节目结束 + + + 中国交通 + + + 交通安全宣传 + + + 《汽车百年II》 + + + 交通安全宣传 + + + 《汽车百年II》 + + + 交通安全宣传 + + + 交通驿站 + + + 中国交通资讯 + + + 瞬间 + + + 交通安全宣传 + + + 贵州交通圈 + + + 交通安全宣传 + + + 交通安全宣传 + + + 《汽车百年II》 + + + 交通安全宣传 + + + 《汽车百年II》 + + + 交通安全宣传 + + + 交通驿站 + + + 中国交通资讯 + + + 瞬间 + + + 交通安全宣传 + + + 贵州交通圈 + + + 交通安全宣传 + + + 交通安全宣传 + + + 《汽车百年II》 + + + 交通安全宣传 + + + 《汽车百年II》 + + + 交通安全宣传 + + + 交通驿站 + + + 中国交通资讯 + + + 瞬间 + + + 交通安全宣传 + + + 贵州交通圈 + + + 交通安全宣传 + + + 中国功夫 + + + 精彩呈现 + + + 绝世低手之夺命玉玺 + + + 挑灯斩蛇录 + + + 侠义神捕之诡影 + + + 男子南拳 + + + 女子长拳 + + + 克鲁兹VS布尔戈斯 + + + 斯彭斯VS克劳福德 + + + 墓王之王(第18集) + + + 英国奥戈那折叠式取暖器-渠道(右) + + + 墓王之王(第19集) + + + 墓王之王(第20集) + + + KGTOUE体感语音操控大吸力烟机-渠道(右) + + + 墓王之王(第21集) + + + 墓王之王(第22集) + + + 中国搏击十年 + + + POKONDA智能四轮电动代步车-渠道(右) + + + 包青天之七侠五义(第04集) + + + 包青天之七侠五义(第05集) + + + 包青天之七侠五义(第06集) + + + 包青天之七侠五义(第07集) + + + 《八段锦》推荐第9期 + + + 倚天屠龙记(第11集) + + + 《八段锦》推荐第9期 + + + 倚天屠龙记(第12集) + + + 倚天屠龙记(第13集) + + + 倚天屠龙记(第14集) + + + 《八段锦》推荐第9期 + + + 倚天屠龙记(第15集) + + + 射雕英雄传之九阴白骨爪 + + + 中国天气 + + + 伴眠时段 + + + 伴眠时段 + + + 谈风说水 + + + 三农新气象 + + + 中国地理探奇 + + + 谈风说水 + + + 三农新气象 + + + 中国地理探奇 + + + 谈风说水 + + + 三农新气象 + + + 中国地理探奇 + + + 谈风说水 + + + 三农新气象 + + + 中国地理探奇 + + + 谈风说水 + + + 气象之美 + + + 节气短片 + + + 三农新气象 + + + 节气手绘 + + + 节气短片 + + + 国内三天城市预报 + + + 生活气象指数 + + + 碳中和访谈 + + + 天气频道天然氧吧 + + + 国内三天城市预报 + + + 中国天气预报 + + + 碳中和动画片 + + + 古代减灾工程 + + + 节气手绘 + + + 国内三天城市预报 + + + 天气频道天然氧吧 + + + 节气故事 + + + 中国天气预报 + + + 国际三天城市预报 + + + 生活气象指数 + + + 海区港口天气 + + + 节气短片 + + + 优秀旅游城市 + + + 国内三天城市预报 + + + 七天城市预报 + + + 古代减灾工程 + + + 小牛顿气象台 + + + 国内三天城市预报 + + + 优秀旅游城市 + + + 城市天气预报 + + + 中国地理探奇 + + + 中国天气预报 + + + 节气短片 + + + 生活气象指数 + + + 谈风说水 + + + 节气手绘 + + + 国内三天城市预报 + + + 节气故事 + + + 一分钟说健康 + + + 海区港口天气 + + + 二十四节气 + + + 小牛顿气象台 + + + 生活气象指数 + + + 中国减灾 + + + 节气手绘 + + + 国内三天城市预报 + + + 优秀旅游城市 + + + 城市天气预报 + + + 黄河启示录 + + + 气象之美 + + + 生活气象指数 + + + 天气频道天然氧吧 + + + 国际三天城市预报 + + + 黄河启示录 + + + 节气短片 + + + 国内三天城市预报 + + + 碳中和动画片 + + + 我的天呐 + + + 七天城市预报 + + + 节气陪你过日子 + + + 减灾科普短片 + + + 节气手绘 + + + 生活气象指数 + + + 中国天气预报 + + + 节气故事 + + + 城市天气预报 + + + 中国地理探奇 + + + 国际三天城市预报 + + + 碳中和动画片 + + + 小牛顿气象台 + + + 国内三天城市预报 + + + 城市天气预报 + + + 中国地理探奇 + + + 节气陪你过日子 + + + 一分钟说健康 + + + 生活气象指数 + + + 天气频道天然氧吧 + + + 二十四节气 + + + 节气手绘 + + + 国内三天城市预报 + + + 优秀旅游城市 + + + 海之南 + + + 小牛顿气象台 + + + 生活气象指数 + + + 减灾科普短片 + + + 城市天气预报 + + + 黄河启示录 + + + 节气手绘 + + + 国内三天城市预报 + + + 天气频道天然氧吧 + + + 碳中和访谈 + + + 节气故事 + + + 国际三天城市预报 + + + 气象之美 + + + 生活气象指数 + + + 中国天气预报 + + + 碳中和动画片 + + + 七天城市预报 + + + 黄河启示录 + + + 小牛顿气象台 + + + 国内三天城市预报 + + + 优秀旅游城市 + + + 古代减灾工程 + + + 节气手绘 + + + 生活气象指数 + + + 中国天气预报 + + + 古代减灾工程 + + + 节气短片 + + + 国内三天城市预报 + + + 节气故事 + + + 一分钟说健康 + + + 碳中和动画片 + + + 碳中和访谈 + + + 城市天气预报 + + + 小牛顿气象台 + + + 生活气象指数 + + + 中国减灾 + + + 一分钟说健康 + + + 国内三天城市预报 + + + 减灾科普短片 + + + 天气频道天然氧吧 + + + 节气陪你过日子 + + + 优秀旅游城市 + + + 节气手绘 + + + 生活气象指数 + + + 三农新气象 + + + 气象之美 + + + 国内三天城市预报 + + + 海之南 + + + 优秀旅游城市 + + + 节气手绘 + + + 国内三天城市预报 + + + 天气频道天然氧吧 + + + 节气短片 + + + 生活气象指数 + + + 城市天气预报 + + + 国际三天城市预报 + + + 七天城市预报 + + + 海区港口天气 + + + 国内三天城市预报 + + + 谈风说水 + + + 节气手绘 + + + 生活气象指数 + + + 联播天气预报 + + + 二十四节气 + + + 国内三天城市预报 + + + 城市天气预报 + + + 节气故事 + + + 国际三天城市预报 + + + 我的天呐 + + + 节气手绘 + + + 海区港口天气 + + + 七天城市预报 + + + 优秀旅游城市 + + + 生活气象指数 + + + 天气频道天然氧吧 + + + 联播天气预报 + + + 古气候探秘 + + + 国内三天城市预报 + + + 城市天气预报 + + + 海区港口天气 + + + 国际三天城市预报 + + + 古气候探秘 + + + 一分钟说健康 + + + 生活气象指数 + + + 中国减灾 + + + 小牛顿气象台 + + + 国内三天城市预报 + + + 三农新气象 + + + 节气手绘 + + + 生活气象指数 + + + 谈风说水 + + + 小牛顿气象台 + + + 国内三天城市预报 + + + 节目结束 + + + 中国教育1台 + + + 等着我(41) + + + 等着我(42) + + + 发现中国(82) + + + 影视公开课(5) + + + 影视公开课(6) + + + 纪录中国(37) + + + 纪录中国(38) + + + 纪录中国(38) + + + 发现中国(83) + + + 艺术素养公开课:跟着大师学乐器 + + + 导视 + + + 飞虎队(28) + + + 导视 + + + 飞虎队(29) + + + 铁血尖刀(40) + + + 铁血尖刀(41) + + + 铁血尖刀(41) + + + 铁血尖刀(42) + + + 铁血尖刀(43) + + + 铁血尖刀(44) + + + 等着我(67) + + + 美丽人生 + + + 教育新闻直播间 + + + 导视 + + + 大西南剿匪记(52) + + + 大西南剿匪记(53) + + + 大西南剿匪记(54) + + + 教育新闻直播间 + + + 大西南剿匪记(55) + + + 大西南剿匪记(56) + + + 教育新闻直播间 + + + 等着我(68) + + + 美丽人生 + + + 彩虹护卫队(6) + + + 全国教育新闻联播 + + + 转播中央台新闻联播 + + + 导视 + + + 育见(242) + + + e视界 + + + 马王堆·岁月不朽(4) + + + 微纪录:执着的女博士 + + + 导视 + + + 北京中小学校园安全系列教育活动 + + + 导视 + + + 等着我(43) + + + 美丽人生 + + + 中国教育2台 + + + 纪录中国 + + + 纪录中国 + + + 发现·中国 + + + 发现·中国 + + + 艺术素养公开课 + + + 同上一堂课 + + + 发现·中国 + + + 纪录片 + + + 纪录片 + + + 课本中的苏轼 + + + 纪录中国 + + + 一堂好课 + + + 发现·中国 + + + 一堂好课 + + + 动画片 + + + 影视公开课 + + + 艺术素养公开课 + + + 纪录中国 + + + 同上一堂课 + + + 纪录中国 + + + 纪录片 + + + 纪录片 + + + 一堂好课 + + + 纪录中国 + + + 一堂好课 + + + 艺术素养公开课 + + + 影视公开课 + + + 笑傲江湖Ⅱ + + + 墨香 + + + 同上一堂课 + + + 纪录中国 + + + 动画片 + + + 纪录中国 + + + 同上一堂课 + + + 纪录中国 + + + 课本中的苏轼 + + + 纪录中国 + + + 纪录片 + + + 奇妙节水课 + + + 纪录中国 + + + 笑傲江湖Ⅱ + + + 笑傲江湖Ⅱ + + + 笑傲江湖Ⅱ + + + 笑傲江湖Ⅱ + + + 笑傲江湖Ⅱ + + + 笑傲江湖Ⅱ + + + 笑傲江湖Ⅱ + + + 中国教育3台 + + + 纪录中国 + + + 留学为你来 + + + 微纪录 + + + 发现 中国 + + + 给孩子们的大师讲堂 + + + 留学为你来 + + + 微纪录 + + + 纪录中国 + + + 一堂好课 + + + 百年巨匠 + + + CETV导视 + + + 刀光枪影 + + + 刀光枪影 + + + 美丽人生 + + + 等着我 + + + 美丽人生 + + + 等着我 + + + 美丽人生 + + + 等着我 + + + 美丽人生 + + + 等着我 + + + 美丽人生 + + + 一堂好课 + + + 影视公开课 + + + 等着我 + + + 美丽人生 + + + 等着我 + + + 美丽人生 + + + 等着我 + + + 美丽人生 + + + 等着我 + + + 美丽人生 + + + 发现 中国 + + + 百年巨匠 + + + 放飞梦想青春歌会 + + + 我是辅导员 + + + 美丽人生 + + + 纪录中国 + + + 行业影像志 + + + 村寨 美丽中国 + + + 百家新说 + + + 微纪录 + + + 一堂好课 + + + 心理健康公开课 + + + 微纪录 + + + 中国教育4台 + + + 等着我 + + + 美丽人生 + + + 职教中国 + + + 金牌体育课 + + + 等着我 + + + 美丽人生 + + + 等着我 + + + 美丽人生 + + + 等着我 + + + 美丽人生 + + + 等着我 + + + 美丽人生 + + + 等着我 + + + 美丽人生 + + + e体资讯 + + + 青春训练营 + + + 青春训练营 + + + 青春训练营 + + + 冠军说 + + + 探索 + + + 动起来一起闪亮 + + + 夏天说体育 + + + 中国教育一套 + + + 等着我(41) + + + 等着我(42) + + + 发现中国(82) + + + 导视 + + + 影视公开课(5) + + + 影视公开课(6) + + + 导视 + + + 纪录中国(37) + + + 纪录中国(38) + + + 导视 + + + 发现中国(83) + + + 导视 + + + 艺术素养公开课:跟着大师学乐器 + + + 导视 + + + 飞虎队(28) + + + 导视 + + + 飞虎队(29) + + + 导视 + + + 中华人民共和国国歌 + + + 导视 + + + 铁血尖刀(40) + + + 铁血尖刀(41) + + + 导视 + + + 铁血尖刀(42) + + + 铁血尖刀(43) + + + 铁血尖刀(44) + + + 等着我(67) + + + 美丽人生 + + + 导视 + + + 教育新闻直播间 + + + 导视 + + + 大西南剿匪记(52) + + + 大西南剿匪记(53) + + + 大西南剿匪记(54) + + + 教育新闻直播间 + + + 导视 + + + 大西南剿匪记(55) + + + 导视 + + + 大西南剿匪记(56) + + + 导视 + + + 教育新闻直播间 + + + 等着我(68) + + + 美丽人生 + + + 彩虹护卫队(6) + + + 全国教育新闻联播 + + + 导视 + + + 转播中央台新闻联播 + + + 导视 + + + 育见(242) + + + e视界 + + + 导视 + + + 马王堆岁月不朽(4) + + + 导视 + + + 微纪录:执着的女博士 + + + 导视 + + + 北京中小学校园安全系列教育活动 + + + 导视 + + + 等着我(43) + + + 美丽人生 + + + 等着我(44) + + + 中天亚洲台 + + + 真的不一样 + + + 主播出任务 + + + 真情部落格 + + + 背包践客 + + + CtiTalk国际直球对决 + + + CtiTalk国际直球对决 + + + 双城记 + + + 中天新闻Live + + + 中天新闻Live + + + 主播出任务 + + + 新闻龙捲风 + + + 大陆寻奇 + + + 中天新闻Live + + + 聚焦新亚洲Live + + + 大新闻大爆卦Live + + + 大新闻大爆卦Live + + + 小明星大跟班 + + + 康熙来了 + + + 中天新闻Live + + + 聚焦新亚洲Live + + + 头条开讲 + + + 头条开讲 + + + 小明星大跟班 + + + 全球大视野 + + + 中天新闻台 + + + 18晚間新聞(重) + + + 19晚間新聞(重) + + + 20晚間新聞(重) + + + CTI TALK 國際直球對決(重) + + + CTI TALK 國際直球對決(重) + + + 民間特偵組(重) + + + 06中天晨報(Live) + + + 07中天晨報(Live) + + + 08中天晨報(Live) + + + 09中天新聞(Live) + + + 10中天新聞(Live) + + + 11中天新聞(Live) + + + 12午間新聞(Live) + + + 13午間新聞(Live) + + + 14大新聞大爆卦(Live) + + + 15大新聞大爆卦(Live) + + + 16中天新聞(Live) + + + 17中天新聞(Live) + + + 18晚間新聞(Live) + + + 19晚間新聞(Live) + + + 20頭條開講(Live) + + + 21頭條開講(Live) + + + 22中天SUPER夜線(Live) + + + 23全球大視野(首) + + + 中央台–珠江 + + + 诚忠堂(44) + + + 今日关注 + + + 绝地枪王(6) + + + 绝地枪王(7) + + + 绝地枪王(8) + + + 绝地枪王(9) + + + 绝地枪王(10) + + + 绝地枪王(11) + + + 绝地枪王(12) + + + 大匠(9):击鼓杨威 + + + 新闻简报 + + + 气象伴早行 + + + 今日关注 + + + 孤岛飞鹰(19) + + + 孤岛飞鹰(20) + + + 孤岛飞鹰(21) + + + 孤岛飞鹰(22) + + + 孤岛飞鹰(23) + + + 爱闪亮(31) + + + 爱闪亮(32) + + + 今日财经 + + + 摇钱树(230) + + + 珠江新闻 + + + 风华往事(24) + + + 新闻简报 + + + 风华往事(25) + + + 今日关注 + + + 文化珠江 + + + 一代匠师(1) + + + 一代匠师(2) + + + 中学生 + + + 英语风采大会 + + + 英语风采大会 + + + 英语风采大会 + + + 英语风采大会 + + + 生日礼物 + + + 退学风波 + + + 汉乐府 + + + 汉乐府 + + + 汉乐府 + + + 汉乐府 + + + 陈廷敬 + + + 动车侠·未来高铁城(1) + + + 动车侠·未来高铁城(2) + + + 动车侠·未来高铁城(3) + + + 动车侠·未来高铁城(4) + + + 动车侠·未来高铁城(5) + + + 动车侠·未来高铁城(6) + + + 动车侠·未来高铁城(7) + + + 动车侠·未来高铁城(8) + + + 动车侠·未来高铁城(9) + + + 动车侠·未来高铁城(10) + + + 去夏校 + + + 书写的旅程-冯飞霏 + + + 大国美育(18) + + + 小小家乡推荐官(1) + + + 名人访谈录-陈一冰专访 + + + 少年禹传奇(4) + + + 少年禹传奇(5) + + + 少年禹传奇(6) + + + 大脚丫恐龙家族(25) + + + 大脚丫恐龙家族(26) + + + 海底小纵队Ⅷ(1) + + + 海底小纵队Ⅷ(2) + + + 海底小纵队Ⅷ(3) + + + 海底小纵队Ⅷ(4) + + + 海底小纵队Ⅷ(5) + + + 汉乐府 + + + 汉乐府 + + + 汉乐府 + + + 汉乐府 + + + 第三届中视美育杯艺术盛典(1) + + + 张老师少儿原创歌曲演唱会(上) + + + 张老师少儿原创歌曲演唱会(下) + + + 李心草 + + + 永恒之轴(1) + + + 永恒之轴(2) + + + 永恒之轴(3) + + + 永恒之轴(4) + + + 永恒之轴(5) + + + 误打误撞的误会 + + + 榜样力量 + + + 新蓝小记者(10) + + + 新蓝小记者(11) + + + 新蓝小记者(12) + + + 英语风采大会 + + + 中山公共 + + + 我要动起来(重播)30 + + + 民声直播室(重播) + + + 梨园多姿彩(首播) + + + 第二次拥抱 29-31集(重播) + + + 中山故事(重播) + + + 小龙乐园(重播) + + + 香山说(重播) + + + 一周(重播) + + + 第一楼市(重播) + + + 湾区全媒睇 + + + 长城红 9-11集(重播) + + + 梨园多姿彩(重播) + + + 我要动起来(重播) + + + 环保特攻队出发吧泗宝 44-46集(重播) + + + 七十二家房客14 2集(重播) + + + 城市零距离(首播)20 + + + 名城文脉(重播)15 + + + 天气特约+预告 330 + + + 中山新闻(首播)30 + + + 香山厨房(首播)25 + + + 香山书画(首播)25 + + + 南来北往 12-13集(首播) + + + 晚间播报(首播)20 + + + 城市零距离 (重播)20 + + + 珠江人家 11集(重播) + + + 梨园多姿彩(重播) + + + 中视 + + + 饥饿游戏第408集 + + + 综艺玩很大第499集 + + + MIT台湾志第597集 + + + 全民星攻略第764集 + + + 第二任丈夫第80集 + + + 中视早安新闻第2集 + + + 财经早点名第2集 + + + 股市贵公子第2集 + + + 绕着幸福转第51集 + + + 如果花知道第39集 + + + 如果花知道第40集 + + + 中视午间新闻第2集 + + + MIT台湾志第882集 + + + 股林高手第2集 + + + 股市全芳位第2集 + + + 价值型投资第2集 + + + 金融鬼谷子第2集 + + + 绕着幸福转第53集 + + + 樱桃小丸子第4季第327集 + + + 樱桃小丸子第5季第343集 + + + 全民星攻略第1080集 + + + 中视新闻全球报导第2集 + + + 开创者第1集 + + + 开创者第2集 + + + 老男孩第5集 + + + 老男孩第6集 + + + 之江纪录 + + + 检修 + + + 红色档案(数码)2022-361 + + + 看见中国2024-335 + + + 乡村振兴浙江行2024-048 + + + 12.1时代先锋 + + + 先锋视界2024-336 + + + 诗画江南2024-095 + + + 之江先锋(之江)2024-289 + + + 法治中国60分2024-289 + + + 梦想小镇宣传片 + + + 看见中国2024-335 + + + 乡村振兴浙江行2024-048 + + + 红色档案(数码)2022-361 + + + 梦想小镇宣传片 + + + 法治中国60分2024-289 + + + 12.1时代先锋 + + + 先锋视界2024-336 + + + 影像杭州宣传片 + + + 诗画江南2024-095 + + + 之江先锋(之江)2024-289 + + + 法治中国60分2024-289 + + + 看见中国2024-335 + + + 乡村振兴浙江行2024-048 + + + 法治中国60分2024-289 + + + 12.1时代先锋 + + + 影像杭州宣传片 + + + 红色档案(数码)2022-362 + + + 看见中国2024-336 + + + 乡村振兴浙江行2024-048 + + + 党建播报(之江)2024-143 + + + 先锋视界2024-337 + + + 之江之窗2024-241 + + + 共产党员(之江)2024-047 + + + 法治中国60分2024-290 + + + 梦想小镇宣传片 + + + 看见中国2024-336 + + + 乡村振兴浙江行2024-048 + + + 影像杭州宣传片 + + + 乌鲁木齐都市 + + + 前沿讲座 + + + 玩转生活 + + + 乌鲁木齐新闻 + + + 乌鲁木齐新闻 + + + 玩转生活 + + + 健康 + + + 美丽俏佳人 + + + 都市剧场 + + + 都市剧场 + + + 都市剧场 + + + 粘吧部落 + + + 超级盛典 + + + 劲爆点 + + + 品牌杂志 + + + 美丽俏佳人 + + + 时尚风云榜 + + + 天气预报 + + + 乌鲁木齐新闻 + + + 前沿讲座 + + + 都市剧场 + + + 都市剧场 + + + 都市剧场 + + + 乐游 + + + 历史现场:浙闽廊桥 + + + 非遗新体验(3):海派旗袍 + + + 时间背后的风景:翁佛勒尔与特纳 + + + 上博匠心(2):古籍修复技艺 + + + 新疆味道1(3):炙热的味蕾 + + + 一碗人间烟火(1):葫芦酥 + + + 一碗人间烟火(2):红烧羊肉 + + + 新疆味道1(4):反客为主 + + + 乐游临港:年轻人的城 + + + 大河之北1(6):面朝大海 + + + 上博匠心(3):古陶瓷修复技艺 + + + 盛世芳华(20) + + + 乐游上海:漫步南昌路 + + + 上海非遗:上海剪纸 + + + 海派百工(53):绵拳 + + + 乐游上海:向世界发出邀请 + + + 时间背后的风景:法国南部与梵高 + + + 新疆味道1(5):有馕就有家 + + + 一碗人间烟火(3):油爆虾 + + + 一碗人间烟火(4):波士顿龙虾 + + + 新疆味道1(6):妈妈的味道 + + + 泰晤士小镇(4):文化泰晤士 + + + 茉莉窨城(1):茉莉花开 + + + 青砖上的乾坤(1):技艺 + + + 上海非遗:锣鼓书 + + + 海派百工(54):鸟哨 + + + 此心安处是吾乡:66梧桐院 + + + 时间背后的风景:吉维尼与莫奈 + + + 新疆味道1(7):流动的脚步 + + + 一碗人间烟火(5):陈皮牛肉 + + + 一碗人间烟火(6):越年面 + + + 新疆味道1(8):最爱家常味 + + + 泰晤士小镇(5):运动泰晤士 + + + 茉莉窨城(2):茶王争霸 + + + 青砖上的乾坤(2):时运 + + + 上海非遗:顾绣 + + + 乐游上海:MeetInShanghai2024 + + + 时间背后的风景:普罗旺斯与塞尚 + + + 新疆味道1(9):奇思妙想 + + + 一碗人间烟火(7):全家福 + + + 一碗人间烟火(8):捏菜蘑菇冬笋 + + + 新疆味道1(10):香飘万里 + + + 乐游闵行:我要把闵行的路走一遍 + + + 茉莉窨城(3):茶城密码 + + + 青砖上的乾坤(3):渊源 + + + 上海非遗:邬泥泾手工棉纺织工艺 + + + 海派百工(55):犀皮髹饰工艺 + + + 时间背后的风景(104) + + + 新疆味道1(11):新疆渔人 + + + 一碗人间烟火(9):红烧杂网鱼 + + + 一碗人间烟火(10):大灶头菜饭 + + + 新疆味道1(12):白色之恋 + + + 乐游上海:MV + + + 茉莉窨城(4):茉莉花事 + + + 青砖上的乾坤(4):新生 + + + 上海非遗:泗泾十锦细锣鼓 + + + 海派百工(55):犀皮髹饰工艺 + + + 时间背后的风景:吉维尼与印象派 + + + 发现新上海:名厨名菜(1) + + + 乐游上海:书香文化淮海路 + + + 四季上海 + + + 穿越丝路的花雨(1) + + + 上博匠心:青铜器修复及复制技艺 + + + 历史现场:浙闽廊桥 + + + 非遗新体验(3):海派旗袍 + + + 时间背后的风景:翁佛勒尔与特纳 + + + 发现新上海:名厨名菜(2) + + + 新疆味道1(13):甜蜜蜜 + + + 一碗人间烟火(11):八宝饭 + + + 穿越丝路的花雨(2) + + + 上博匠心(5):古代家具修复技艺 + + + 乐游上海:向世界发出邀请 + + + 历史现场:潮州古城 + + + 时间背后的风景(107) + + + 发现新上海:名厨名菜(2) + + + 新疆味道1(13):甜蜜蜜 + + + 一碗人间烟火(11):八宝饭 + + + 穿越丝路的花雨(2) + + + 上博匠心(5):古代家具修复技艺 + + + 乐游上海:向世界发出邀请 + + + 自然之旅欣赏 + + + 书画 + + + 空中美术学院:张谷旻 + + + 空中美术学院:贾广健 + + + 美术新闻 + + + 书画频道保真拍卖 + + + 一日一画:李庚(6) + + + 一日一书:刘宗超(2) + + + 千幅名画(91) + + + 美术新闻 + + + 书画频道保真拍卖 + + + 2024大美之春作品展播:赵建军 + + + 空中美术学院:张谷旻 + + + 空中美术学院:贾广健 + + + 美术新闻 + + + 书画频道保真拍卖 + + + 美术大家 + + + 美术新闻 + + + 书画频道保真拍卖 + + + 空中美术学院:张谷旻 + + + 空中美术学院:张谷旻 + + + 空中美术学院:贾广健 + + + 美术新闻 + + + 书画频道保真拍卖 + + + 名师点评:张继(2)-隶书点评(1) + + + 空中美术馆:丹青壮怀 + + + 一日一画:李庚(7) + + + 一日一书:刘宗超(3) + + + 一幅画的诞生:邓远坡 + + + 短视频:郭石夫 + + + 美术新闻 + + + 书画频道保真拍卖 + + + 空中美术学院:张谷旻 + + + 名师点评:张继(2)-隶书点评(1) + + + 绘画课堂:蒋跃水彩画教学(28) + + + 空中美术学院:贾广健 + + + 空中美术馆:丹青壮怀 + + + 一日一画:李庚(7) + + + 一日一书:刘宗超(3) + + + 一幅画的诞生:邓远坡 + + + 空中美术学院:张谷旻 + + + 大家说:孙志刚 + + + 千幅名画(92) + + + 短视频:郭石夫 + + + 美术新闻 + + + 书画频道保真拍卖 + + + 空中美术学院:贾广健 + + + 一日一书:刘宗超(3) + + + 绘画课堂:蒋跃水彩画教学(28) + + + 大家说:孙志刚 + + + 一日一画:李庚(7) + + + 一幅画的诞生:邓远坡 + + + 千幅名画(92) + + + 短视频:郭石夫 + + + 美术新闻 + + + 书画频道保真拍卖 + + + 名师点评:张继(2)-隶书点评(1) + + + 空中美术馆:丹青壮怀 + + + 美术新闻 + + + 书画频道保真拍卖 + + + 云上电影院 + + + 女人不坏 + + + 盗皇陵(普通话) + + + 刺马 + + + 无双 + + + 少林寺 + + + 门徒 + + + 霸王别姬 + + + 垂帘听政 + + + 大红灯笼高高挂 + + + 龙门客栈 + + + 画皮 + + + 女人不坏 + + + 盗皇陵(普通话) + + + 刺马 + + + 云南公共 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 云南卫视 + + + 炫梦剧场 + + + 炫梦剧场 + + + 炫梦剧场 + + + 记住乡愁 + + + 炫梦剧场 + + + 炫梦剧场 + + + 记住乡愁 + + + 云南新闻联播 + + + 南腔北调 + + + 动画片剧场 + + + 经典剧场:大秧歌 + + + 经典剧场:大秧歌 + + + 经典剧场:大秧歌 + + + 经典剧场:大秧歌 + + + 经典剧场:大秧歌 + + + 传奇剧场:封神英雄榜(37) + + + 传奇剧场:封神英雄榜(38) + + + 传奇剧场:封神英雄榜(39) + + + 传奇剧场:封神英雄榜(40) + + + 传奇剧场:封神英雄榜(41) + + + 云南新闻联播 + + + 关注天气 + + + 转播中央台新闻联播 + + + 炫美剧场:面具(35) + + + 炫美剧场:面具(36) + + + 技能报国 + + + 好剧大放送 + + + 正风肃纪反腐云南实践 + + + 晚间新闻 + + + 经典人文地理 + + + 炫梦剧场 + + + 云南娱乐 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 云南少儿 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 云南康旅 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 云南影视 + + + 精彩呈现 + + + 影视气象站 + + + 电影故事会 + + + 好剧跟我看 + + + 跟我看电影 + + + 晚间节目结束 + + + 跟我看电影 + + + 好剧跟我看 + + + 电影故事会 + + + 天下电影 + + + 购物时段 + + + 天下电影 + + + 跟我看电影 + + + 五星电影 + + + 购物时段 + + + 电影故事会 + + + 晚间节目开播 + + + 五星电影 + + + 跟我看电影 + + + 好剧跟我看 + + + 调剂节目 + + + 电影故事会 + + + 车影视界 + + + 天下电影 + + + 云南生活 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 云南都市 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 云浮综合 + + + 我是大美人 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 平民英雄 + + + 新闻大求真 + + + 新闻大求真 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 我的纪录片 + + + 中华人民共和国国歌 + + + 湖南新闻联播 + + + 偶像独播剧场:情谜睡美人(76) + + + 动画片剧场 + + + 偶像独播剧场:情谜睡美人(77) + + + 偶像独播剧场:情谜睡美人(78) + + + 偶像独播剧场:情谜睡美人(79) + + + 偶像独播剧场:情谜睡美人(80) + + + 亚洲剧台 + + + 做我的超级巨星#4 + + + 意面情迷#3 + + + 再会指挥家~父亲和我的热情~#8 + + + 做我的超级巨星#4 + + + 意面情迷#3 + + + 黄金面具#38 + + + 三光公寓#29 + + + 不良少年与白手杖女孩#8 + + + 黄金面具#38 + + + 三光公寓#29 + + + 不良少年与白手杖女孩#8 + + + 黄金面具#38 + + + 三光公寓#29 + + + 不良少年与白手杖女孩#8 + + + 黄金面具#38 + + + 三光公寓#29 + + + 不良少年与白手杖女孩#8 + + + 黄金面具#38 + + + 三光公寓#29 + + + 不良少年与白手杖女孩#8 + + + 黄金面具#38 + + + 三光公寓#29 + + + 不良少年与白手杖女孩#8 + + + 亚洲新闻台 + + + HeadlineNews + + + MoneyMind第31集 + + + CnaCorrespondent第34集-VoicesUnbound + + + Insight第31集 + + + SingaporeTonight + + + Ctrl+Alt+Del:ATechRestart第6集-ManagingInventory[EnglishSubtitles] + + + What'sTheBigDeal?第1集-SmartWearables[EnglishSubtitles] + + + OnTheRedDot第27集-:FindingAuntie + + + AsiaTonight + + + RemarkableLivingS6第5集-TheMiracleOfWaste + + + TasteOfTheTimes + + + SingaporeTonight + + + MoneyMind第31集 + + + AsiaFirst + + + TasteOfTheTimes + + + AsiaNow + + + TalkingPoint第29集-The'HappyPill':WhatIsItDoingToUs?(ForCnaTelecast[ChannelNewsas + + + AsiaNow + + + SuzhouIndustrialPark-HowChinaAndSingaporeBuiltACityTogether + + + HeadlineNews + + + Insight第31集 + + + EastAsiaTonight + + + MoneyMind第31集 + + + OnTheRedDot第27集-:FindingAuntie + + + AsiaTonight + + + LeadershipUnlimited第1集 + + + SingaporeTonight + + + TasteOfTheTimes + + + 仙游电视 + + + 广告 + + + 仙游新闻(重播周六) + + + 广告 + + + 秋生讲古 + + + 公益广告、请您欣赏 + + + 莆仙戏《真假牡丹》 + + + 《妈祖》28-30集 + + + 转播莆田一套(含中央新闻、福建新闻) + + + 广告 + + + 新闻连连看(首播) + + + 广告 + + + 有味有醋 + + + 公益广告、请您欣赏 + + + 秋生讲古 + + + 公益广告、请您欣赏 + + + 有味有醋 + + + 广告 + + + 新闻连连看(重播) + + + 公益广告、请您欣赏 + + + 优优宝贝 + + + 校园时代(1) + + + 校园时代(2) + + + 校园时代(3) + + + 最强少年(1) + + + 最强少年(2) + + + 最强少年(3) + + + 最强少年(4) + + + 最强少年(5) + + + 最强少年(6) + + + 最强少年(7) + + + 最强少年(8) + + + 最强少年(9) + + + 最强少年(10) + + + 少儿展演录制(1) + + + 少儿展演录制(2) + + + 少儿展演录制(3) + + + 少儿展演录制(4) + + + 少儿展演录制(5) + + + 孕婴童展 + + + 童音童律 + + + 美丽生活 + + + 孕婴童展 + + + 校园时代(1) + + + 优漫卡通 + + + 赛尔号1 + + + 赛尔号2 + + + 天眼归来 + + + 无敌鹿战队 + + + 熊出没之冬日乐翻天 + + + 超级飞侠 + + + 超级飞侠 + + + 优漫星未来 + + + 开心超人 + + + 海底小纵队 + + + 海底小纵队 + + + 来玩吧 + + + 开心超人 + + + 少年故事大会 + + + 猪猪侠之竞速小英雄 + + + 百变校巴 + + + 棉花糖和云朵妈妈之暖心回响 + + + 熊出没之冬日乐翻天 + + + 来玩吧 + + + 超级飞侠17 + + + 大脚丫恐龙家族 + + + 海底小纵队在中国 + + + 来玩吧 + + + 巴啦啦小魔仙之曜星守护者 + + + 炫卡斗士2 + + + 爆裂飞车之晶码迷踪 + + + 熊出没之冬日乐翻天 + + + 宠物旅店 + + + 赵琳的探险日记 + + + 冰雪之名 + + + 赛尔号1 + + + 佛山公共 + + + 国学讲坛 + + + 六点半新闻 + + + 收台 + + + 六点半新闻 + + + 热线面对面 + + + 点行善 + + + 岭南饭局 + + + 六点半新闻 + + + 热线面对面 + + + 点行善 + + + 岭南饭局 + + + 电影时光 + + + 六点半新闻 + + + 热线面对面 + + + 健康大财富 + + + 七十二家房客 + + + 电影时光 + + + 剧场 + + + 六点半新闻 + + + 身边的榜样 + + + 岭南味佛山品 + + + 小强热线 + + + 醒目日记 + + + 禅城新闻 + + + 佛山商道 + + + 醒目一拍 + + + 剧场 + + + 今晚报道 + + + 醒目日记 + + + 小强热线 + + + 佛山商道 + + + 佛山南海 + + + 产业最前线 + + + 微电影 + + + 剧场 + + + 纪录片展播 + + + 微电影展播 + + + 有话直说 + + + 剧场 + + + 微电影展播 + + + 短剧 + + + 新闻快报 + + + 微电影 + + + 警视方圆 + + + 南海新闻 + + + 天气预报 + + + 点行善 + + + 剧场 + + + 新闻快报 + + + 剧场 + + + 微电影 + + + 南海新闻 + + + 警视方圆 + + + 古董 + + + 短剧 + + + 佛山影视 + + + 晨彩剧场 + + + 上午剧场 + + + 午间剧场 + + + 下午剧场 + + + 黄金剧场 + + + 重播六点半佛山新闻 + + + 星级剧场 + + + 深宵剧场 + + + 佛山综合 + + + 禅城新闻 + + + 味道佛山美味精选 + + + 粤剧大观 + + + 七十二家房客 + + + 禅城新闻 + + + 味道佛山美味精选 + + + 剧场 + + + 电影时光 + + + 七十二家房客 + + + 味道佛山美味精选 + + + 新闻联播 + + + 禅城新闻 + + + 精品禅城 + + + 六点半新闻 + + + 身边的榜样 + + + 醒目一拍 + + + 禅城新闻 + + + 精品禅城 + + + 醒目一拍 + + + 剧场 + + + 味道佛山美味精选 + + + 佛山顺德 + + + 顺商传奇 + + + 生活与法 + + + 第一首映 + + + 情感剧场 + + + 生活与法 + + + 顺商传奇 + + + 第一房产 + + + 斐尝德食 + + + 生活与法 + + + 第一首映 + + + 第一房产 + + + 下午剧场 + + + 合家欢剧场 + + + 大良新闻 + + + 顺视新闻 + + + 财富顺德 + + + 十全十美 + + + 斐尝德食 + + + 成长100分 + + + 古董 + + + 黄金剧场 + + + 顺视新闻 + + + 财富顺德 + + + 十全十美 + + + 斐尝德食 + + + 先锋乒羽 + + + 谁羽争锋:2023年世锦赛 + + + 收播 + + + 收播 + + + 收播 + + + 谁羽争锋:2023年世锦赛 + + + 乒乓对抗:2023年亚运会 + + + 巅峰对决:2020年奥运会 + + + 乒乓对抗:2023年世乒赛 + + + 谁羽争锋:2023年西班牙大师赛 + + + 谁羽争锋:2023年西班牙大师赛 + + + 乒乓对抗:2022年世乒赛 + + + 巅峰对决:2023年中国公开赛 + + + 乒乓对抗:2020年乒联总决赛 + + + 全民热练 + + + 足球世界 24/25赛季西甲 第15轮 皇家马德里-赫塔菲 直播 + + + 频道宣传 + + + 青少健身课程 + + + 欧陆足球版图 + + + 中国街舞联赛 + + + 看不见的顶峰 + + + 机甲大师赛 + + + 欧陆足球版图 + + + 频道宣传 + + + 看不见的顶峰 + + + 频道宣传 + + + 青少健身课程 + + + 频道宣传 + + + 户外探险 + + + 频道宣传 + + + CUBAL 西北工业大学-中北大学 + + + 频道宣传 + + + U17女足亚洲杯 中国-澳大利亚 + + + 频道宣传 + + + 中国街舞联赛 + + + 频道宣传 + + + 机甲大师赛 + + + 频道宣传 + + + 户外探险 + + + 频道宣传 + + + 机甲大师赛 + + + 频道宣传 + + + 青少健身课程 + + + 频道宣传 + + + 伟大遗产05科西嘉——宝藏之岛 + + + 频道宣传 + + + 欧陆足球版图 + + + 频道宣传 + + + 当燃CBA 24/25赛季 第12轮 新疆伊力特-浙江稠州金租 直播 + + + 频道宣传 + + + WCT世界追逐大赛 2020中国冠军赛 + + + 兰州公共 + + + 结束 + + + 怀旧剧场 + + + 怀旧剧场 + + + 怀旧剧场 + + + 怀旧剧场 + + + 相约兰州 + + + 兰州新闻 + + + 栏目 + + + 黄河之都剧场 + + + 黄河之都剧场 + + + 黄河之都剧场 + + + 黄河之都剧场 + + + 黄河之都剧场 + + + 警花说交通 + + + 平安兰州 + + + 黄河之都剧场 + + + 黄河之都剧场 + + + 黄河之都剧场 + + + 黄河之都剧场 + + + 黄河之都剧场 + + + 警花说交通 + + + 平安兰州 + + + 相约兰州 + + + 兰州文旅 + + + 2017扑克大赛 + + + 专题片 + + + 结束 + + + 非常故事汇 + + + 相约兰州 + + + 观点致胜 + + + 有话直说 + + + 非常故事汇 + + + 聚焦房产 + + + 动画片 + + + 大型活动 + + + 有话直说 + + + 观点致胜 + + + 非常故事汇 + + + 健康生活 名医访谈 + + + 非常故事汇 + + + 观点致胜 + + + 相约兰州 + + + 健康生活 名医访谈 + + + 剧场 + + + 2017扑克大赛 + + + 聚焦房产 + + + 相约兰州 + + + 2017扑克大赛 + + + 兰州新闻综合 + + + 深夜剧场 + + + 晚间节目结束 + + + 台标,白天节目导视 + + + 纪录中国 + + + 兰州新闻 + + + 剧场 + + + 零距离·在身边 + + + 零距离·正在直播 + + + 零距离·本周 + + + 金城大专辩论赛复赛 + + + 剧场 + + + 健康生活·名医访谈 + + + 天气预报 + + + 台标,晚间节目导视 + + + 零距离·正在直播 + + + 兰州新闻 + + + 转播中央台新闻联播 + + + 剧场 + + + 兰州零距离 + + + 零距离·在身边 + + + 兰州新闻 + + + 梅卿快车道 + + + 剧场 + + + 兰州生活经济 + + + 档案 + + + 唱响金城 + + + 结束 + + + 科普大篷车 + + + 中国梦 亲历 + + + 科普大篷车 + + + 白天剧场 + + + 兰州新闻 + + + 先锋引领 + + + 新华纵横 + + + 档案 + + + 白天剧场 + + + 经典记录 + + + 党员大课堂 + + + 先锋引领 + + + 档案 + + + 党建播报 + + + 先锋引领 + + + 经典纪录 + + + 党建播报 + + + 先锋引领 + + + 兰州新闻 + + + 先锋剧场 + + + 兵器科技 + + + 军火之源-2020-30 + + + 大家谈-2024-7 + + + 武器装备背后的故事-2019-137 + + + 兵工启示录-2019-345 + + + 兵工启示录-2019-346 + + + 军火之源-2020-34 + + + 武器装备背后的故事-2019-140 + + + 兵器传奇-2020-24 + + + 大家谈-2024-8 + + + 兵工启示录-2019-347 + + + 兵工启示录-2019-348 + + + 军火之源-2020-31 + + + 武器装备背后的故事-2019-144 + + + 兵器传奇-2020-25 + + + 大家谈-2024-9 + + + 兵工启示录-2019-349 + + + 兵工启示录-2019-350 蛏 + + + 武器装备背后的故事-2019-145 + + + 军火之源-2020-33 + + + 兵器传奇-2020-27 + + + 大家谈-2024-10 + + + 武器装备背后的故事-2019-146 + + + 兵工启示录-2020-4 + + + 兵工启示录-2020-5 曷 + + + 影视背景-2023-7 + + + 兵团卫视 + + + 林海雪原 + + + 大浪淘沙(2) + + + 大浪淘沙(3) + + + 大浪淘沙(4) + + + 百炼成钢(22) + + + 百炼成钢(23) + + + 百炼成钢(24) + + + 兵团新闻联播 + + + 中华人民共和国国歌 + + + 父母爱情(5) + + + 父母爱情(6) + + + 父母爱情(7) + + + 父母爱情(8) + + + 父母爱情(9) + + + 父母爱情(10) + + + 我的兵团岁月 + + + 花儿与远方(30) + + + 花儿与远方(31) + + + 花儿与远方(32) + + + 花儿与远方(33) + + + 花儿与远方(34) + + + 天眼归来(586) + + + 转播中央台新闻联播 + + + 感动 + + + 兵团新闻联播 + + + 天气预报 + + + 印记-兵团红色文物的故事(77) + + + 觉醒年代(25) + + + 兵团新闻联播 + + + 直击民生 + + + 为新时代放歌 + + + 我是你的瓷儿(1) + + + 大浪淘沙(5) + + + 内蒙古农牧 + + + 文化大院 + + + 农博士 + + + 教育有方 + + + 农博士 + + + 牧博士 + + + 农博士 + + + 牧博士 + + + 农博士 + + + 牧博士周末版乡约 + + + 奔腾刷事儿 + + + 牧博士周末版乡约 + + + 教育有方 + + + 农博士 + + + 大漠苍狼 + + + 等着我 + + + 等着我 + + + 教育有方 + + + 农博士 + + + 大河儿女 + + + 牧博士周末版乡约 + + + 大河儿女 + + + 等着我 + + + 等着我 + + + 奔腾刷事儿 + + + 牧博士周末版乡约 + + + 传家 + + + 奔腾刷事儿 + + + 农博士 + + + 内蒙古卫视 + + + 星光剧场:铁齿铜牙纪晓岚(36) + + + 星光剧场:铁齿铜牙纪晓岚(37) + + + 马兰花开 + + + 我家有故事 + + + 福彩草原情 + + + 马兰花开 + + + 欢乐驿站 + + + 清晨剧场 + + + 清晨剧场 + + + 福彩草原情 + + + 内蒙古新闻联播 + + + 经典剧场:康熙微服私访记5 + + + 经典剧场:康熙微服私访记6 + + + 经典剧场:康熙微服私访记7 + + + 经典剧场:康熙微服私访记8 + + + 经典剧场:康熙微服私访记9 + + + 经典剧场:康熙微服私访记10 + + + 内蒙古少儿 + + + 黄金剧场2 + + + 清晨剧场 + + + 动画片 + + + 才艺棒棒堂 + + + 炫风行动 + + + 健健康康长大 + + + 动画片 + + + 盟市天气预报 + + + 动画片 + + + 才艺棒棒堂 + + + 炫风行动 + + + 健健康康长大 + + + 旗县天气预报 + + + 黄金剧场 + + + 内蒙古文体娱乐 + + + 我要斗地主 + + + 律动剧场 + + + 体育新闻 + + + 世界多美丽 + + + 逗你乐翻天 + + + 文苑剧场 + + + 君子好球 + + + 体育新闻 + + + 体育赛事 + + + 我是大A王 + + + 昆仑决 + + + 我要斗地主 + + + 草原音画 + + + 我是大A王 + + + 体育新闻 + + + 体育新闻 + + + 逗你乐翻天 + + + 君子好球 + + + 我要斗地主 + + + 内蒙古新闻综合 + + + 法治专线 + + + 午夜剧场 + + + 新闻天天看 + + + 草原晨曲 + + + 草原晨曲 + + + 内蒙古新闻联播 + + + 法治专线 + + + 内蒙古经济生活 + + + 凌晨剧场 + + + 生活早知道精编版 + + + 美食美刻 + + + 李乐在说 + + + 都市全接触 + + + 上午剧场 + + + 美食美刻 + + + 都市全接触 + + + 内蒙古综合 + + + 法治专线 + + + 午夜剧场 + + + 新闻天天看 + + + 草原晨曲 + + + 草原晨曲 + + + 内蒙古新闻联播 + + + 法治专线 + + + 军事评论 + + + 精彩呈现 + + + 美“死神”无人机坠落中东 + + + 伊以冲突加剧 + + + 诱饵战术 + + + 导弹互袭新战法 + + + 奋楫者——“大潮起珠江 军魂铸鹏城”庆祝改革开放45周年系列节目(1) + + + 梦想家——“大潮起珠江 军魂铸鹏城”庆祝改革开放45周年系列节目(2) + + + 赶路人——“大潮起珠江 军魂铸鹏城”庆祝改革开放45周年系列节目(3) + + + 星火燎原 第5集 作风优良 + + + 星火燎原 第6集 鱼水情深 + + + 第一次世界大战启示录 ① 点燃导火索 + + + 第一次世界大战启示录 ② 最惨烈的战场 + + + 第一次世界大战启示录 ③ 东线风雷 + + + 第一次世界大战启示录 ④ 燃烧的巴尔干 + + + 登陆日(上) + + + 登陆日(下) + + + 消耗战(上) + + + 消耗战(下) + + + 破局(上) + + + 破局(下) + + + 托布鲁克之战 + + + 冲出克里特岛 + + + 马耳他护航战 + + + 铁血劲旅启新程——陆军第71集团军“济南第一团” + + + 铁血劲旅启新程——陆军第71集团军“济南第一团” 下集 + + + 大国仪仗新风采 中国人民解放军军乐团 上集 + + + 大国仪仗新风采 中国人民解放军军乐团 下集 + + + 打卡舰艇开放日 + + + 山洞中的重炮厂 + + + 光荣的远望1号 + + + 闪光弹的秘密 + + + 打卡湛江军事博览园 + + + 探秘奇迹成昆线 + + + 探秘神犬奇兵 + + + 走进虚拟射击空间 + + + 探访迎外部队 + + + 春节特别节目 “裂变”的欧洲 “僵持”的冲突 + + + 菲船只非法侵闯黄岩岛 乌军撤离乌东部重镇 美国炒作俄拟在太空部署核武 + + + 美媒称以色列炸毁伊朗天然气管道 俄乌冲突重镇易手让美政府着急? + + + 美飞机在台进行“触地复飞” 胡塞武装称击落“死神” + + + 南部战区回应菲炒作所谓“联合空中巡逻” 俄称乌军使用美制化学武器 + + + 外媒炒作所谓“美军五航母部署西太” 美考虑向乌提供更远射程导弹 + + + 美再对台售武 对俄大规模制裁 持续挑动地区局势是何居心? + + + 俄乌冲突进入第三年 停火遥遥无期?英国核导弹试射失败险酿大祸 + + + 美政客鼓动美军用“星盾”干预台海 乌军称将打击克里米亚大桥 + + + 北约再次扩张已成定局 俄军摧毁美制“艾布拉姆斯”坦克 + + + 军旅剧场 + + + 精彩呈现 + + + 黎明决战(第19集) + + + 黎明决战(第20集) + + + 黎明决战(第21集) + + + 黎明决战(第22集) + + + 黎明决战(第23集) + + + 海魂(第27集) + + + 海魂(第28集) + + + 海魂(第29集) + + + 海魂(第30集) + + + 前夜(第04集) + + + 前夜(第05集) + + + 美康利健激光前列腺治疗仪-渠道(右) + + + 前夜(第06集) + + + 前夜(第07集) + + + 李三枪(第29集) + + + BEYONPAN钛锅升级款-渠道(右) + + + 李三枪(第30集) + + + 李三枪(第31集) + + + 李三枪(第32集) + + + 画眉(第14集) + + + 画眉(第15集) + + + 画眉(第16集) + + + 《八段锦》推荐第9期 + + + 怒放(第11集) + + + 怒放(第12集) + + + 《八段锦》推荐第9期 + + + 怒放(第13集) + + + 无间(第16集) + + + 《八段锦》推荐第9期 + + + 无间(第17集) + + + 无间(第18集) + + + KGTOUE体感语音操控大吸力烟机-渠道(右) + + + 农业致富 + + + 高手来了·养虫走上致富路 + + + 高手来了·养蛙养羊各有门道 + + + 高手来了·冷水养出好鲟鱼 + + + 高手来了·减肥的藏香猪 + + + 高手来了·土里水中藏财富 + + + 高手来了·大山深处财富来 + + + 高手来了·太行山里蛋奶香 + + + 高手来了·好斗的七彩山鸡 + + + 高手来了·小世界 大财富 + + + 高手来了·小动物创财富 + + + 三农长短说 + + + 乡村动物传奇——赫哲族渔猎传奇 + + + 乡村动物传奇——追蜂故事 + + + 乡村动物传奇——驯养的智慧 + + + 乡村演说家——走进山东省临淄区洋浒崖村 + + + 乡村演说家——走进河北省大名县双台村 + + + 乡村演说家——走进河北省大名县岳庄村 + + + 田野间的列车 + + + 田野间的教室(上) + + + 田野间的教室(下) + + + 幸福年里团圆味 大锅炖出团圆味 + + + 幸福年里团圆味 宝清寻“宝”过大年 + + + 幸福年里团圆味 年味十足的腊肉 + + + 幸福年里团圆味 年年有“鱼”滋味鲜 + + + 幸福年里团圆味 快乐老铁街里的年味 + + + 幸福年里团圆味 撒野黑猪的美味秘籍 + + + 幸福年里团圆味 粤式盆菜的新生机 + + + 幸福年里团圆味 鲜美的无水鸡汤从何来 + + + 披着“绿衣”的甜果果 + + + 好物节——长荡湖大闸蟹 + + + 好物节特别节目 + + + 好物节美食季 + + + 农林卫视 + + + 拉家常 + + + 秦之声大剧院 + + + 为老乡支一招 + + + 第一农经 + + + 拉家常 + + + 音画三秦 + + + 秦之声大剧院 + + + 第一农经 + + + 为老乡支一招 + + + 拉家常 + + + 秦之声大剧院 + + + 第一农经 + + + 为老乡支一招 + + + 中国农资秀 + + + 拉家常 + + + 秦之声大剧院 + + + 铁道游击队25 + + + 铁道游击队26 + + + 铁道游击队27 + + + 铁道游击队28 + + + 拉家常 + + + 专题节目十一 + + + 中国农资秀 + + + 秦之声大剧院 + + + 拉家常 + + + 为老乡支一招 + + + 秦之声大剧院 + + + 勇敢的心98 + + + 勇敢的心99 + + + 勇敢的心100 + + + 壮士出川1 + + + 打狗棍91 + + + 打狗棍92 + + + 第一农经 + + + 为老乡支一招 + + + 拉家常 + + + 第一农经 + + + 中国农资秀 + + + 专题节目二十七 + + + 农村大市场 + + + 东方侠客8 + + + 东方侠客9 + + + 冬奥纪实 + + + 奥运赛事剪辑(24) + + + 天天体育 + + + 2024熊猫杯U19国际足球锦标赛 + + + 奥运赛事剪辑(24) + + + 欢乐二打一 + + + 奥运赛事剪辑(25) + + + 2024赛季北京国安进球集锦(1) + + + 公宣 + + + 奥运赛事剪辑(27) + + + 2024中超联赛第19轮集锦 + + + 2024中超联赛第20轮集锦 + + + 公宣 + + + 天天体育 + + + 欢乐二打一 + + + 公宣 + + + 2024-2025CBA常规赛:北京-宁波 + + + 公宣 + + + 奥运精彩时刻 + + + 天天体育 + + + 奥运夺金时刻(1) + + + 欢乐二打一 + + + 奥运赛事剪辑(27) + + + 公宣 + + + 2024中超联赛第21轮集锦 + + + 2024中超联赛第22轮集锦 + + + 公宣 + + + 奥运精彩时刻 + + + 文化中国行-生生之轴 + + + 公宣 + + + 2024中超:北京国安-青岛西海岸 + + + 奥运赛事剪辑(27) + + + 公宣 + + + 文化中国行-生生之轴 + + + 欢乐二打一 + + + 天天体育 + + + 公宣 + + + 奥运夺金时刻(1) + + + 足球100分 + + + 公宣 + + + 体坛资讯 + + + 欢乐二打一 + + + 公宣 + + + 2024中超联赛第19轮集锦 + + + 2024中超联赛第20轮集锦 + + + 奥运赛事剪辑(27) + + + 凤凰中文 + + + 凤凰洲际快车 (2/12/24) + + + 凤凰气象站 + + + 冷暖人生 (396) + + + 鲁南制药.启达力 凤凰大健康 (310) + + + 纪录大时代 (996) + + + 香港新视点 (431) + + + 阳光保险 名人面对面 (402) + + + 明昇产业 筑梦天下 (405) + + + 香港热厨房 (25) + + + 贵州茅台 近观中国 (149) + + + 我的香港故事 (150) + + + 笑逐言开 (554) + + + 纪录大时代 (996) + + + 文化大观园 (398) + + + 凤凰早班车 (2/12/24) + + + 凤凰气象站 + + + 凤凰早班车 (2/12/24) + + + 凤凰气象站 + + + 皇牌大放送 + + + 凤凰正点播报 1000 (2/12/24) + + + 凤凰气象站 + + + 明昇产业 筑梦天下 (405) + + + 有报天天读 (2/12/24) + + + 中国旅游集团 凤凰午间专列 (2/12/24) + + + 凤凰气象站 + + + 我们和牠们 (95) + + + 鲁南制药.启达力 凤凰大健康 (310) + + + 阳光保险 名人面对面 (402) + + + 凤凰正点播报 1500 (2/12/24) + + + 凤凰气象站 + + + 贵州茅台 近观中国 (149) + + + 纪录大时代 (997) + + + 空间观策 (149) + + + 有报天天读 (2/12/24) + + + 凤凰焦点新闻 1800 (2/12/24) + + + 凤凰气象站 + + + 以岭药业 新闻今日谈 (2/12/24) + + + 中国银行(香港) 亚洲财经透视 (759) + + + 时事亮亮点 (617) + + + 潍柴动力 凤凰大视野 + + + 口子窖 问答神州 (926) + + + 五粮液 时事直通车 (2/12/24) + + + 凤凰气象站 + + + 华润 凤凰聚焦 (761) + + + 中国太平 凤凰全球连线 (2/12/24) + + + 中国银行(香港) 亚洲财经透视 (759) + + + 以岭药业 新闻今日谈 (2/12/24) + + + 凤凰卫视中文台 + + + 凤凰洲际快车 (2/12/24) + + + 凤凰气象站 + + + 冷暖人生 (396) + + + 鲁南制药.启达力 凤凰大健康 (310) + + + 纪录大时代 (996) + + + 香港新视点 (431) + + + 阳光保险 名人面对面 (402) + + + 明昇产业 筑梦天下 (405) + + + 香港热厨房 (25) + + + 贵州茅台 近观中国 (149) + + + 我的香港故事 (150) + + + 笑逐言开 (554) + + + 纪录大时代 (996) + + + 文化大观园 (398) + + + 凤凰早班车 (2/12/24) + + + 凤凰气象站 + + + 凤凰早班车 (2/12/24) + + + 凤凰气象站 + + + 皇牌大放送 + + + 凤凰正点播报 1000 (2/12/24) + + + 凤凰气象站 + + + 明昇产业 筑梦天下 (405) + + + 有报天天读 (2/12/24) + + + 中国旅游集团 凤凰午间专列 (2/12/24) + + + 凤凰气象站 + + + 我们和牠们 (95) + + + 鲁南制药.启达力 凤凰大健康 (310) + + + 阳光保险 名人面对面 (402) + + + 凤凰正点播报 1500 (2/12/24) + + + 凤凰气象站 + + + 贵州茅台 近观中国 (149) + + + 纪录大时代 (997) + + + 空间观策 (149) + + + 有报天天读 (2/12/24) + + + 凤凰焦点新闻 1800 (2/12/24) + + + 凤凰气象站 + + + 以岭药业 新闻今日谈 (2/12/24) + + + 中国银行(香港) 亚洲财经透视 (759) + + + 时事亮亮点 (617) + + + 潍柴动力 凤凰大视野 + + + 口子窖 问答神州 (926) + + + 五粮液 时事直通车 (2/12/24) + + + 凤凰气象站 + + + 华润 凤凰聚焦 (761) + + + 中国太平 凤凰全球连线 (2/12/24) + + + 中国银行(香港) 亚洲财经透视 (759) + + + 以岭药业 新闻今日谈 (2/12/24) + + + 凤凰卫视资讯台 + + + 凤凰洲际快车 + + + 凤凰气象站 + + + 新闻今日谈 + + + 凤凰正点播报 + + + 中国深度财经 + + + 凤凰正点播报 + + + 凤凰气象站 + + + 凤凰正点播报 + + + 新闻今日谈 + + + 凤凰正点播报 + + + 香港新视点 + + + 凤凰早班车 + + + 凤凰气象站 + + + 凤凰正点播报 + + + 凤凰正点播报 + + + 凤凰正点播报 + + + 凤凰气象站 + + + 问答神州 + + + 凤凰午间专列 + + + 凤凰气象站 + + + 凤凰正点播报 + + + 新闻鉴证组 + + + 凤凰正点播报 + + + 凤凰气象站 + + + 凤凰正点播报 + + + 凤凰气象站 + + + 凤凰正点播报 + + + 凤凰气象站 + + + 凤凰正点播报 + + + 金石财经 + + + 凤凰焦点新闻 + + + 凤凰气象站 + + + 新闻今日谈 + + + 华闻大直播 + + + 凤凰气象站 + + + 凤凰焦点新闻 + + + 凤凰气象站 + + + 凤凰财经日报 + + + 时事直通车 + + + 凤凰气象站 + + + 总编辑时间 + + + 新闻今日谈 + + + 凤凰焦点新闻 + + + 总编辑时间 + + + 凤凰卫视香港台 + + + 纪录大时代 + + + 新闻今日谈 + + + 今日看世界 + + + 君非知己莫与谈-毛泽东朱德交往记忆 + + + 文化大观园 + + + 名人面对面 + + + 我们和牠们 + + + 发现大湾区 + + + 我的香港故事 + + + 大新闻大历史 + + + 纪录大时代 + + + 我们和牠们 + + + 冷暖人生 + + + 凤凰早班车 + + + 凤凰气象站 + + + 凤凰早班车 + + + 凤凰气象站 + + + 新闻鉴证组 + + + 我们和牠们 + + + 近观中国 + + + 纪录大时代 + + + 恩雨之声 + + + 君非知己莫与谈-毛泽东朱德交往记忆 + + + 凤凰午间专列 + + + 凤凰气象站 + + + 午间快线 + + + 凤凰气象站 + + + 凤凰大健康 + + + 君非知己莫与谈-毛泽东朱德交往记忆 + + + 文化大观园 + + + 纪录大时代 + + + 空间观策 + + + 我的香港故事 + + + 我的香港故事 + + + 凤凰焦点新闻 1800 + + + 凤凰气象站 + + + 新闻今日谈 + + + 全球新闻报道 + + + 凤凰气象站 + + + 时事大破解 + + + 如果国宝会说话 + + + 时事直通车 + + + 凤凰气象站 + + + 说走就走的旅程 + + + 凤凰全球连线 + + + 冷暖人生 + + + 凤凰聚焦 + + + 凤凰资讯 + + + 凤凰洲际快车 + + + 凤凰气象站 + + + 新闻今日谈 + + + 凤凰正点播报0100 + + + 凤凰气象站 + + + 大新闻大历史 + + + 中国深度财经 + + + 凤凰正点播报0100 + + + 凤凰气象站 + + + 凤凰正点播报0100 + + + 凤凰气象站 + + + 凤凰正点播报0100 + + + 凤凰气象站 + + + 凤凰正点播报0100 + + + 凤凰气象站 + + + 凤凰正点播报0100 + + + 凤凰气象站 + + + 新闻今日谈 + + + 凤凰正点播报0100 + + + 凤凰气象站 + + + 香港新视点 + + + 凤凰早班车 + + + 凤凰气象站 + + + 凤凰早班车 + + + 凤凰气象站 + + + 凤凰正点播报0900 + + + 大新闻大历史 + + + 凤凰正点播报1000 + + + 凤凰气象站 + + + 凤凰正点播报1100 + + + 凤凰气象站 + + + 问答神州 + + + 凤凰午间专列 + + + 凤凰气象站 + + + 凤凰正点播报1300 + + + 凤凰气象站 + + + 新闻鉴证组 + + + 凤凰正点播报1400 + + + 凤凰气象站 + + + 凤凰正点播报1400 + + + 凤凰气象站 + + + 凤凰正点播报1500 + + + 凤凰气象站 + + + 凤凰正点播报1600 + + + 凤凰气象站 + + + 凤凰正点播报1700 + + + 凤凰气象站 + + + 金石财经 + + + 凤凰焦点新闻1800 + + + 凤凰气象站 + + + 新闻今日谈 + + + 华闻大直播 + + + 凤凰气象站 + + + 凤凰焦点新闻2000 + + + 凤凰气象站 + + + 凤凰财经日报 + + + 时事直通车 + + + 凤凰气象站 + + + 总编辑时间 + + + 新闻今日谈 + + + 凤凰焦点新闻2300 + + + 凤凰气象站 + + + 总编辑时间 + + + 凤凰香港 + + + 纪录大时代[普] + + + 新闻今日谈[普] + + + 今日看世界[普] + + + 皇牌大放送[普] + + + 文化大观园[普] + + + 名人面对面[普] + + + 我们和牠们[普] + + + 发现大湾区[粤] + + + 我的香港故事[普] + + + 大新闻大历史[普] + + + 纪录大时代[普] + + + 我们和牠们[普] + + + 冷暖人生[普] + + + 凤凰早班车[普] + + + 凤凰气象站[普] + + + 凤凰早班车[普] + + + 凤凰气象站[普] + + + 新闻鉴证组[普] + + + 我们和牠们[普] + + + 近观中国[普] + + + 纪录大时代[普] + + + 恩雨之声[粤] + + + 皇牌大放送[普] + + + 凤凰午间专列[普] + + + 凤凰气象站[普] + + + 午间快线[粤] + + + 凤凰气象站[普] + + + 凤凰大健康[普] + + + 皇牌大放送[普] + + + 文化大观园[普] + + + 纪录大时代[普] + + + 空间观策[普] + + + 我的香港故事[普] + + + 我的香港故事[普] + + + 凤凰焦点新闻1800[普] + + + 凤凰气象站[普] + + + 新闻今日谈[普] + + + 全球新闻报道[粤] + + + 凤凰气象站[普] + + + 时事大破解[粤] + + + 如果国宝会说话[普] + + + 时事直通车[普] + + + 凤凰气象站[普] + + + 凤凰大视野[普] + + + 凤凰全球连线[普] + + + 冷暖人生[普] + + + 凤凰聚焦[普] + + + 力量影院 + + + 催眠大师 + + + 魔警 + + + 大追捕 + + + 金手指 + + + 新警察故事 + + + 东北警察故事 + + + 交换人生 + + + 搜索 + + + 沉默的证人 + + + 边缘行者 + + + 嫌疑人X 的献身 + + + 来电狂响 + + + 反贪风暴4 + + + 反贪风暴5 + + + 我愿意 + + + 动作电影 + + + 伏虎武松 + + + 终结者:创世纪 + + + 龙门镇客栈 + + + 雏盗 + + + 晨星 + + + 夺命剑之风云再起 + + + POKONDA智能四轮电动代步车-渠道(右) + + + 死亡斗士 + + + 使命营救 + + + 德国卡赫纯钛RO反渗透净水器-渠道(右) + + + 大狂蜂:起源 + + + 沙鹰行动 + + + 英国奥戈那折叠式取暖器-渠道(右) + + + 维和女警:暴力安全区 + + + 动漫秀场 + + + 超变战陀-爆甲战陀(26) + + + 野生动物宝宝(33) + + + 野生动物宝宝(34) + + + 百变马丁7(7) + + + 百变马丁7(8) + + + 小狗皮皮3(10) + + + 小狗皮皮3(11) + + + 小狗皮皮3(12) + + + 小狗皮皮3(13) + + + 喜羊羊与灰太狼之奇幻天空岛(51) + + + 喜羊羊与灰太狼之奇幻天空岛(52) + + + 喜羊羊与灰太狼之奇幻天空岛(53) + + + 喜羊羊与灰太狼之奇幻天空岛(54) + + + 超变战陀-爆甲战陀(29) + + + 超变战陀-爆甲战陀(30) + + + 超变战陀-双甲战陀(1) + + + 毛毛镇1(5) + + + 毛毛镇1(6) + + + 毛毛镇1(7) + + + 毛毛镇1(8) + + + 野生动物宝宝(31) + + + 野生动物宝宝(32) + + + 百变马丁7(5) + + + 百变马丁7(6) + + + 小狗皮皮3(6) + + + 小狗皮皮3(7) + + + 小狗皮皮3(8) + + + 小狗皮皮3(9) + + + 喜羊羊与灰太狼之奇幻天空岛(47) + + + 喜羊羊与灰太狼之奇幻天空岛(48) + + + 喜羊羊与灰太狼之奇幻天空岛(49) + + + 喜羊羊与灰太狼之奇幻天空岛(50) + + + 超变战陀-爆甲战陀(26) + + + 超变战陀-爆甲战陀(27) + + + 超变战陀-爆甲战陀(28) + + + 毛毛镇1(1) + + + 毛毛镇1(2) + + + 毛毛镇1(3) + + + 毛毛镇1(4) + + + 野生动物宝宝(29) + + + 野生动物宝宝(30) + + + 百变马丁7(3) + + + 百变马丁7(4) + + + 小狗皮皮3(2) + + + 小狗皮皮3(3) + + + 小狗皮皮3(4) + + + 小狗皮皮3(5) + + + 喜羊羊与灰太狼之奇幻天空岛(43) + + + 喜羊羊与灰太狼之奇幻天空岛(44) + + + 喜羊羊与灰太狼之奇幻天空岛(45) + + + 喜羊羊与灰太狼之奇幻天空岛(46) + + + 超变战陀-爆甲战陀(23) + + + 超变战陀-爆甲战陀(24) + + + 超变战陀-爆甲战陀(25) + + + 毛毛镇1(5) + + + 毛毛镇1(6) + + + 毛毛镇1(7) + + + 毛毛镇1(8) + + + 野生动物宝宝(31) + + + 野生动物宝宝(32) + + + 百变马丁7(5) + + + 百变马丁7(6) + + + 小狗皮皮3(6) + + + 小狗皮皮3(7) + + + 小狗皮皮3(8) + + + 小狗皮皮3(9) + + + 喜羊羊与灰太狼之奇幻天空岛(47) + + + 喜羊羊与灰太狼之奇幻天空岛(48) + + + 喜羊羊与灰太狼之奇幻天空岛(49) + + + 喜羊羊与灰太狼之奇幻天空岛(50) + + + 超变战陀-爆甲战陀(26) + + + 超变战陀-爆甲战陀(27) + + + 超变战陀-爆甲战陀(28) + + + 毛毛镇1(13) + + + 毛毛镇1(14) + + + 毛毛镇1(15) + + + 毛毛镇1(16) + + + 野生动物宝宝(35) + + + 野生动物宝宝(36) + + + 百变马丁7(9) + + + 百变马丁7(10) + + + 小狗皮皮3(14) + + + 小狗皮皮3(15) + + + 小狗皮皮3(16) + + + 小狗皮皮3(17) + + + 喜羊羊与灰太狼之奇幻天空岛(55) + + + 喜羊羊与灰太狼之奇幻天空岛(56) + + + 喜羊羊与灰太狼之奇幻天空岛(57) + + + 喜羊羊与灰太狼之奇幻天空岛(58) + + + 超变战陀-双甲战陀(2) + + + 超变战陀-双甲战陀(3) + + + 超变战陀-双甲战陀(4) + + + 超变战陀-双甲战陀(5) + + + 毛毛镇1(9) + + + 毛毛镇1(10) + + + 毛毛镇1(11) + + + 毛毛镇1(12) + + + 野生动物宝宝(33) + + + 野生动物宝宝(34) + + + 百变马丁7(7) + + + 百变马丁7(8) + + + 小狗皮皮3(10) + + + 小狗皮皮3(11) + + + 小狗皮皮3(12) + + + 小狗皮皮3(13) + + + 喜羊羊与灰太狼之奇幻天空岛(51) + + + 喜羊羊与灰太狼之奇幻天空岛(52) + + + 喜羊羊与灰太狼之奇幻天空岛(53) + + + 喜羊羊与灰太狼之奇幻天空岛(54) + + + 超变战陀-爆甲战陀(29) + + + 超变战陀-爆甲战陀(30) + + + 超变战陀-双甲战陀(1) + + + 动物星球 + + + 赛伦盖提:非洲之心 + + + 野地刺客第1季第5集-尖嘴利爪 + + + 动物奇门功夫第1季第40集-导航大师 + + + 动物奇门功夫第1季第1集-腾空大师 + + + 抢救英国野生动物第1季第9集-时间的抚慰 + + + 生命的竞赛第1季第1集-适者生存 + + + 热血兽医师第4季第12集-两犬对峙 + + + 百变水族箱第2季第6集-五大难关 + + + 山怪传说第4季第4集-布恩郡的银色巨熊 + + + 生物快慢间第1季第1集-美国西南的掠食者 + + + 生物快慢间第1季第2集-中美洲丛林生物 + + + 抢救英国野生动物第1季第9集-时间的抚慰 + + + 沼泽猎蟒人第1季第13集-一朝被蛇咬 + + + 动物求生策略第1季第1集-择偶竞赛 + + + 法兰克的野生非洲第1季第4集-TheBigFive + + + 德州保育战第5季第19集-PassingTheTorch + + + 动物百分百第3季第5集-人猿 + + + 罗布森的澳洲大冒险第1季第3集-西澳大利亚 + + + 赛伦盖提:非洲之心 + + + 管教恶猫第5季第18集-报警求救 + + + 动物求生策略第1季第1集-择偶竞赛 + + + 法兰克的野生非洲第1季第4集-TheBigFive + + + 动物百分百第3季第7集-齧齿类 + + + 赛伦盖提:非洲之心 + + + 罗布森的澳洲大冒险第1季第4集-昆士兰 + + + 亚洲豺犬的奋斗第1季第1集-LeavingThePack + + + 亚洲豺犬的奋斗第1季第2集-ExpandingTerritory + + + 德州保育战第5季第19集-PassingTheTorch + + + 劲爆体育 + + + JJ斗地主冠军杯S5春季赛四进三 + + + NBA常规赛:热火-快船 + + + MLB:波士顿红袜-圣迭戈教士 + + + JJ斗地主冠军杯S5总决赛B组第3场 + + + JJ斗地主冠军杯S5春季赛四进三 + + + NFL常规赛 + + + NBA常规赛:热火-快船 + + + JJ斗地主冠军杯S5总决赛B组第3场 + + + JJ斗地主冠军杯S5春季赛四进三 + + + 中国女排超级联赛:河南-上海 + + + ONE冠军巅峰系列赛 + + + ONE冠军巅峰系列赛 + + + NFL常规赛:绿湾包装工-费城老鹰 + + + JJ斗地主冠军杯S5总决赛B组第4场 + + + NBA常规赛:凯尔特人-雷霆 + + + 中国女排超级联赛:深圳-江苏 + + + 健身私享课1(18):哑铃胸部塑形 + + + NBA常规赛:热火-快船 + + + 北京体育休闲 + + + 奥运赛事剪辑(24) + + + 天天体育 + + + 2024熊猫杯U19国际足球锦标赛 + + + 奥运赛事剪辑(24) + + + 欢乐二打一 + + + 奥运赛事剪辑(25) + + + 2024赛季北京国安进球集锦(1) + + + 公宣 + + + 奥运赛事剪辑(27) + + + 2024中超联赛第19轮集锦 + + + 2024中超联赛第20轮集锦 + + + 公宣 + + + 天天体育 + + + 欢乐二打一 + + + 公宣 + + + 2024-2025CBA常规赛:北京-宁波 + + + 公宣 + + + 奥运精彩时刻 + + + 天天体育 + + + 奥运夺金时刻(1) + + + 欢乐二打一 + + + 奥运赛事剪辑(27) + + + 公宣 + + + 2024中超联赛第21轮集锦 + + + 2024中超联赛第22轮集锦 + + + 公宣 + + + 奥运精彩时刻 + + + 文化中国行-生生之轴 + + + 公宣 + + + 2024中超:北京国安-青岛西海岸 + + + 奥运赛事剪辑(27) + + + 公宣 + + + 文化中国行-生生之轴 + + + 欢乐二打一 + + + 天天体育 + + + 公宣 + + + 奥运夺金时刻(1) + + + 足球100分 + + + 公宣 + + + 体坛资讯 + + + 欢乐二打一 + + + 公宣 + + + 2024中超联赛第19轮集锦 + + + 2024中超联赛第20轮集锦 + + + 奥运赛事剪辑(27) + + + 北京卫视 + + + 晚间气象服务 + + + 档案:档案里的中国-大国新生我们的事业将写在人类历史上 + + + 档案:档案里的中国-大国新生这盛世如您所愿 + + + 亲爱的爸妈(11) + + + 亲爱的爸妈(12) + + + 档案:档案里的中国-大国新生我们的事业将写在人类历史上 + + + 档案:档案里的中国-大国新生这盛世如您所愿 + + + 法治进行时 + + + 法治进行时 + + + 法治进行时 + + + 养生堂:反复头痛当心危险心窗 + + + 早间气象服务 + + + 北京您早 + + + 上午剧场:不完美受害人(19) + + + 上午剧场:不完美受害人(20) + + + 上午剧场:不完美受害人(21) + + + 味道掌门 + + + 特别关注 + + + 午间气象服务 + + + 小平,您好(8) + + + 午茶剧场:北风那个吹(2) + + + 午茶剧场:北风那个吹(3) + + + 午茶剧场:北风那个吹(4) + + + 午茶剧场:北风那个吹(5) + + + 午茶剧场:北风那个吹(6) + + + 暖暖的味道 + + + 养生堂 + + + 北京新闻 + + + 天气预报 + + + 转播中央台新闻联播 + + + 品质剧场:西北岁月(21) + + + 品质剧场:西北岁月(22) + + + 档案 + + + 阿拉伯失落的宝藏-德丹古城 + + + 红星剧场:上甘岭(9) + + + 红星剧场:上甘岭(10) + + + 北京国际 + + + 长城长(4) + + + 美好的你 + + + 一起出发吧 + + + 我是大医生 + + + 长城长(3) + + + 长城长(4) + + + 档案精选 + + + 每日文艺播报 + + + 美好的你 + + + 养生堂 + + + 暖暖的味道 + + + 健康北京 + + + 每日文艺播报 + + + 这里是北京 + + + 档案 + + + 2024北大红楼读书会7 + + + 档案精选 + + + 文化之约 + + + 金融街午餐会 + + + 文化传承者 + + + 养生堂 + + + 暖暖的味道 + + + 健康北京 + + + 每日文艺播报 + + + 这里是北京 + + + 档案 + + + 2024北大红楼读书会7 + + + 档案精选 + + + 文化之约 + + + 金融街午餐会 + + + 文化传承者 + + + 养生堂 + + + 暖暖的味道 + + + 健康北京 + + + 每日文艺播报 + + + 这里是北京 + + + 档案 + + + 2024北大红楼读书会7 + + + 档案精选 + + + 文化之约 + + + 北京国际频道 + + + 长城长(4) + + + 美好的你 + + + 一起出发吧 + + + 我是大医生 + + + 长城长(3) + + + 长城长(4) + + + 档案精选 + + + 每日文艺播报 + + + 美好的你 + + + 养生堂 + + + 暖暖的味道 + + + 健康北京 + + + 每日文艺播报 + + + 这里是北京 + + + 档案 + + + 2024北大红楼读书会7 + + + 档案精选 + + + 文化之约 + + + 金融街午餐会 + + + 文化传承者 + + + 养生堂 + + + 暖暖的味道 + + + 健康北京 + + + 每日文艺播报 + + + 这里是北京 + + + 档案 + + + 2024北大红楼读书会7 + + + 档案精选 + + + 文化之约 + + + 金融街午餐会 + + + 文化传承者 + + + 养生堂 + + + 暖暖的味道 + + + 健康北京 + + + 每日文艺播报 + + + 这里是北京 + + + 档案 + + + 2024北大红楼读书会7 + + + 档案精选 + + + 文化之约 + + + 北京影视 + + + 风雨老字号(13) + + + 林深见鹿(11) + + + 林深见鹿(12) + + + 林深见鹿(13) + + + 林深见鹿(14) + + + 林深见鹿(15) + + + 林深见鹿(16) + + + 林深见鹿(17) + + + 蚂蚱(25) + + + 蚂蚱(26) + + + 闯关东(22) + + + 闯关东(23) + + + 怒火英雄 + + + 北京惠客厅(94) + + + 怒火英雄 + + + 前夜(28) + + + 前夜(29) + + + 奋勇向前(21) + + + 奋勇向前(22) + + + 奋勇向前(23) + + + 奋勇向前(24) + + + 奋勇向前(25) + + + 怒火英雄 + + + 北京惠客厅(94) + + + 风雨老字号(14) + + + 风雨老字号(15) + + + 北京文艺 + + + 笑动剧场 + + + 笑动欢乐秀 + + + 每日文艺播报 + + + 桃花朵朵开 + + + 笑动欢乐秀 + + + 笑动剧场 + + + 每日文艺播报 + + + 桃花朵朵开 + + + 笑动剧场 + + + 笑动欢乐秀 + + + 每日文艺播报 + + + 垫播时间 + + + 笑动剧场 + + + 桃花朵朵开 + + + 刘墉追案(1) + + + 北京惠客厅 + + + 刘墉追案(2) + + + 北京惠客厅 + + + 刘墉追案(3) + + + 家装驿站 + + + 刘墉追案(4) + + + 桃花朵朵开 + + + 笑动欢乐秀 + + + 都市新生活 + + + 每日文艺播报 + + + 家装驿站 + + + 笑动剧场 + + + 居家卫士 + + + 爱我就别想太多(21) + + + 都市新生活 + + + 爱我就别想太多(22) + + + 家装驿站 + + + 爱我就别想太多(23) + + + 都市新生活 + + + 笑动欢乐秀 + + + 笑动剧场 + + + 每日文艺播报 + + + 笑动剧场 + + + 文化之约 + + + 刘墉追案(34) + + + 刘墉追案(35) + + + 刘墉追案(36) + + + 北京国际科技创新中心建设条例 + + + 每日文艺播报 + + + 笑动剧场 + + + 北京新闻 + + + 这里是北京 + + + 法治进行时 + + + 每日文艺播报 + + + 红绿灯 + + + 首都晚间报道 + + + 节目结束 + + + 播前乐 + + + 特别关注 + + + 北京您早 + + + 每日文艺播报 + + + 2024最美北京我的家:古都,新城 + + + 燃烧(6) + + + 燃烧(7) + + + 燃烧(8) + + + 特别关注 + + + 红绿灯 + + + 都市阳光 + + + 新闻手语 + + + 这里是北京 + + + 生活这一刻 + + + 每日文艺播报 + + + 燃烧(23) + + + 燃烧(24) + + + 燃烧(25) + + + 北京新闻 + + + 天气预报 + + + 这里是北京 + + + 每日文艺播报 + + + 都市阳光 + + + 市民对话一把手:市场监管局 + + + 法治进行时 + + + 红绿灯 + + + 首都晚间报道 + + + 小平,您好(7) + + + 特别关注 + + + 北京国际科技创新中心建设条例 + + + 这里是北京 + + + 北京淘BABY + + + 三国演义 + + + 喜羊羊与灰太狼之牛气冲天 + + + 鳄鱼莱莱 + + + 开心超人联盟之星际联盟 + + + 百变校巴第15季 + + + 钢铁飞龙4时空战记 + + + 宇宙护卫队之百变霸王龙第二季 + + + 棉花糖和云朵妈妈快乐生活 + + + 超级飞侠第16季 + + + 小马宝莉我的可爱标志上 + + + 喜羊羊与灰太狼之奇妙大营救 + + + 汪汪队立大功第八季 + + + 神偷奶爸3 + + + 熊熊帮帮团 + + + 猪猪侠之恐龙日记第五季 + + + 泰迦奥特曼 + + + 新大头儿子和小头爸爸欢乐亲子营 + + + 精灵旅社4变身大冒险 + + + 熊出没之探险日记 + + + 喜羊羊与灰太狼之筐出胜利 + + + 超级飞侠第16季 + + + 小猪佩奇第九季 + + + 汪汪队立大功第十季 + + + 绣春刀 + + + 西游记续集 + + + 北京淘剧场 + + + 天衣无缝36 + + + 三国演义44 + + + 三国演义45 + + + 三国演义46 + + + 三国演义47 + + + 三国演义48 + + + 小戏骨红楼梦之刘姥姥进大观园 + + + 小戏骨红楼梦之刘姥姥进大观园 + + + 白色城堡12 + + + 白色城堡13 + + + 江照黎明第17集 + + + 江照黎明第18集 + + + 大宋少年志01 + + + 大宋少年志02 + + + 北平无战事第01集 + + + 北平无战事第02集 + + + 薄冰31 + + + 薄冰32 + + + 乡村爱情第五部第16集 + + + 乡村爱情第五部第17集 + + + 覆流年26 + + + 覆流年27 + + + 闯关东29 + + + 闯关东30 + + + 正阳门下小女人第46集 + + + 正阳门下小女人第47集 + + + 烟花易冷23 + + + 烟花易冷24 + + + 烟花易冷25 + + + 青瓷18 + + + 青瓷19 + + + 青瓷20 + + + 天衣无缝37 + + + 天衣无缝38 + + + 北京淘娱乐 + + + 花儿与少年第六季10 + + + 天龙八部06 + + + 天龙八部07 + + + 欢乐喜剧人第七季01 + + + 下一战歌手11 + + + 星光大道 + + + 声生不息宝岛季08 + + + 花儿与少年6:超前企划(下) + + + 斗地主:山西VS重庆02 + + + 斗地主:山西VS重庆03 + + + 倚天屠龙记吴启华版26 + + + 倚天屠龙记吴启华版27 + + + 倚天屠龙记吴启华版28 + + + 淘娱乐宣传片 + + + 爸爸当家第三季04(上) + + + 小闯横莱坞03 + + + 花儿绽放10 + + + 斗地主:山东VS广东04 + + + 斗地主:山东VS广东05 + + + 女子推理社第二季02(上) + + + 花儿与少年第六季10 + + + 地球之极侣行第九季06 + + + 北京淘电影 + + + 黄河守墓人 + + + 犬之岛 + + + 胭脂扣 + + + 狙击手 + + + 图兰朵魔咒缘起 + + + 迷雾追凶 + + + 扫毒3人在天涯 + + + 少年的你 + + + 97家有喜事 + + + 羞羞的铁拳 + + + 妖猫传 + + + 私人订制 + + + 白蛇缘起 + + + 北京生活 + + + 一起出发吧 + + + 越省越开心 + + + 生活这一刻 + + + 味道掌门 + + + 生活这一刻看点 + + + 生活这一刻 + + + 医者 + + + 京城美食地图 + + + 生活这一刻 + + + 北京国际科技创新中心建设条例 + + + 味道掌门 + + + 生活这一刻看点 + + + 选择 + + + 一起出发吧 + + + 快乐生活一点通(1) + + + 快乐生活一点通(3) + + + 医者 + + + 生活+家装攻略 + + + 越省越开心 + + + 生活+家装攻略 + + + 快乐生活一点通(1) + + + 快乐生活一点通(2) + + + 生活+家装攻略 + + + 生活这一刻 + + + 快乐生活一点通(3) + + + 生活+家装攻略 + + + 美味生活 + + + 生活+家装攻略 + + + 快乐生活一点通(2) + + + 快乐生活一点通(1) + + + 生活+家装攻略 + + + 快乐生活一点通(3) + + + 生活指南 + + + 生活好物 + + + 生活这一刻 + + + 全民健康学院 + + + 医者 + + + 生活这一刻看点 + + + 选择 + + + 越省越开心 + + + 北京国际科技创新中心建设条例 + + + 越省越开心精编 + + + 越省越开心 + + + 北京国际科技创新中心建设条例 + + + 生活这一刻看点 + + + 北京纪实 + + + 探索 + + + 中国故事 + + + 文化中国行-生生之轴 + + + 现场说法 + + + 法治中国60分 + + + 探索 + + + 记忆 + + + 健康北京 + + + 梦想北京城市形象片 + + + 法治中国60分精编版 + + + 法治进行时:警法目录 + + + 第三调解室精编版 + + + 纪录时间 + + + 健康北京:名医来了 + + + 直击最前沿 + + + 晚晴 + + + 乐在美食 + + + 品质生活 + + + 民法典通解通读 + + + 现场说法 + + + 法治进行时 + + + 第三调解室 + + + 法治中国60分 + + + 第三调解室(1) + + + 第三调解室(2) + + + 气象观天下:气象预报 + + + 气象观天下 + + + 乐在美食 + + + 职场健康说 + + + 品质生活 + + + 气象观天下:气象预报 + + + 中国故事 + + + 健康北京 + + + 一师亦友 + + + 记忆 + + + 职场健康说 + + + 小平,您好(1) + + + 第三调解室精编版 + + + 记忆精编版 + + + 故事时间:战狼·战狼2024版(32) + + + 故事时间:战狼·战狼2024版(33) + + + 探索 + + + 北京纪实科教 + + + 探索 + + + 中国故事 + + + 文化中国行-生生之轴 + + + 现场说法 + + + 法治中国60分 + + + 探索 + + + 记忆 + + + 健康北京 + + + 梦想北京城市形象片 + + + 法治中国60分精编版 + + + 法治进行时:警法目录 + + + 第三调解室精编版 + + + 纪录时间 + + + 健康北京:名医来了 + + + 直击最前沿 + + + 晚晴 + + + 乐在美食 + + + 品质生活 + + + 民法典通解通读 + + + 现场说法 + + + 法治进行时 + + + 第三调解室 + + + 法治中国60分 + + + 第三调解室(1) + + + 第三调解室(2) + + + 气象观天下:气象预报 + + + 气象观天下 + + + 乐在美食 + + + 职场健康说 + + + 品质生活 + + + 气象观天下:气象预报 + + + 中国故事 + + + 健康北京 + + + 一师亦友 + + + 记忆 + + + 职场健康说 + + + 小平,您好(1) + + + 第三调解室精编版 + + + 记忆精编版 + + + 故事时间:战狼·战狼2024版(32) + + + 故事时间:战狼·战狼2024版(33) + + + 探索 + + + 北京财经 + + + 大家收藏之精品版 + + + 财经有约-至味 + + + 大家收藏 + + + 节目结束 + + + 播前乐 + + + 首都经济报道 + + + 财经有约-纪录 + + + 财经有约-至味 + + + 财富剧场 + + + 天下财经 + + + 白色城堡(2) + + + 白色城堡(3) + + + 白色城堡(4) + + + 北京惠客厅(94) + + + 北京国际科技创新中心建设条例 + + + 消费面对面精编版 + + + 财经有约-至味 + + + 北京惠客厅(95) + + + 蜜蜂计划 + + + 精英律师(13) + + + 精英律师(14) + + + 精英律师(15) + + + 北京惠客厅(94) + + + 消费面对面精编版 + + + 消费面对面 + + + 财经有约-纪录 + + + 财经有约-至味 + + + 首都经济报道 + + + 天下财经 + + + 诚信北京 + + + 财经有约-纪录 + + + 蜜蜂计划 + + + 大家收藏之精品版 + + + 小平,您好(7) + + + 了不起的儿科医生(34) + + + 了不起的儿科医生(35) + + + 大家收藏之精品版 + + + 北海公共 + + + 晚间剧场(重播) + + + 海门讲堂 + + + 晚间播报 + + + 时尚生活 + + + 电视剧场+下午剧场 + + + 电视剧场 + + + 看中国 + + + 美丽俏佳人 + + + 海门讲堂 + + + 时尚生活 + + + 晚间播报 + + + 晚间剧场 + + + 北海新闻综合 + + + 晚间播报 + + + 国际时尚汇 + + + 北海新闻 + + + 晚间播报 + + + 电视剧场(重播) + + + 电视剧场(重播) + + + 晚间播报 + + + 北海新闻 + + + 警视在线 + + + 下午剧场 + + + 动画片 + + + 转播广西电视台广西新闻 + + + 转播中央电视台新闻联播 + + + 北海新闻 + + + 潮涌北部湾 + + + 专题 + + + 晚间播报 + + + 电视剧场 + + + 电视剧场 + + + 北海新闻 + + + 北海经济科教 + + + 中国旅游 + + + 绿色家园 + + + 上午剧场(重) + + + 上午剧场(重) + + + 经济与生活 + + + 房地产 + + + 下午剧场 + + + 下午剧场 + + + 动画片 + + + 中国旅游 + + + 剧场 + + + 剧场 + + + 奋斗 + + + 经济与生活(首播) + + + 房地产 + + + 北海新闻 + + + 晚间剧场 + + + 晚间剧场 + + + 千禧经典台 + + + 追剧之王-西游记#28 + + + 追剧之王-西游记#29 + + + 追剧之王-西游记#30 + + + Superstar...黄宗泽-天幕下的恋人#19 + + + Superstar...黄宗泽-天幕下的恋人#20 + + + 我的如意狼君#14 + + + 我的如意狼君#15 + + + 东西宫略#12 + + + 奇幻神话-牛郎织女#6 + + + 奇幻神话-牛郎织女#7 + + + Superstar...黄宗泽-好心作怪#30 + + + Superstar...王浩信-EU超时任务#1 + + + 爱.回家之开心速递#1343 + + + 爱.回家之开心速递#1344 + + + 爱.回家之开心速递#1345 + + + 东西宫略#12 + + + 奇幻神话-牛郎织女#6 + + + 奇幻神话-牛郎织女#7 + + + Superstar...黄宗泽-好心作怪#30 + + + Superstar...王浩信-EU超时任务#1 + + + 爱.回家之开心速递#1343 + + + 爱.回家之开心速递#1344 + + + 爱.回家之开心速递#1345 + + + 东西宫略#12 + + + 奇幻神话-牛郎织女#6 + + + 奇幻神话-牛郎织女#7 + + + Superstar...黄宗泽-好心作怪#30 + + + Superstar...王浩信-EU超时任务#1 + + + 爱.回家之开心速递#1343 + + + 爱.回家之开心速递#1344 + + + 爱.回家之开心速递#1345 + + + 半岛英语 + + + NewsLive + + + 101East-India'sChessProdigies + + + NewsLive + + + InsideStory第816集 + + + Newshour + + + NewsLive + + + TheListeningPost第44集 + + + NewsLive + + + InsideStory第816集 + + + Newshour + + + NewsLive + + + StudioB-Unscripted:BrianEno&Ha-JoonChangP2 + + + NewsLive + + + FaultLines-TheBigGamble + + + NewsLive + + + InsideStory第816集 + + + AlJazeeraWorld-Lebanon'sPoliticalFamilies-TheJumblattDynasty + + + NewsLive + + + Upfront第25集 + + + NewsLive + + + Restitution-Africa'sStolenArt:Repatriation + + + NewsLive + + + TheListeningPost第44集 + + + NewsLive + + + InsideStory第816集 + + + NewsLive + + + FaultLines-TheBigGamble + + + Newshour + + + NewsLive + + + StudioB-Unscripted:BrianEno&Ha-JoonChangP2 + + + NewsLive + + + TalkToAlJazeera-PatriciaScotland + + + Newshour + + + NewsLive + + + InsideStory第816集 + + + BloodAndTears第2集-FrenchDecolonisation:Episode2 + + + Newshour + + + NewsLive + + + TheListeningPost第44集 + + + Newshour + + + 华视 + + + 花甲少年趣旅行第116集 + + + 最佳利益2-决战利益第5集 + + + 最佳利益2-决战利益第6集 + + + 咱的城 咱的市 咱台湾的味第11集 + + + 阿荣与阿玉第19集 + + + 三国演议第362集 + + + 华视晨间新闻第3993集 + + + 施公奇案第233集 + + + 施公奇案第234集 + + + 包青天第87集 + + + 包青天第88集 + + + 华视午间新闻第6090集 + + + 阿荣与阿玉第20集 + + + 世间媳妇-惊世媳妇第59集 + + + 世间媳妇-惊世媳妇第60集 + + + 华视在地新闻第3359集 + + + 华视生活广场第1040集 + + + 新哆啦A梦第146集 + + + 乌龙派出所第97集 + + + 乌龙派出所第98集 + + + 新哆啦A梦第147集 + + + 华视晚间新闻第6115集 + + + 阿荣与阿玉第21集 + + + 阿荣与阿玉第21集 + + + 美食无间第1集 + + + 华视夜间新闻第2980集 + + + 华视生活广场第1043集 + + + 华语剧台 + + + 花轿喜事#11 + + + 花轿喜事#12 + + + 温暖的甜蜜的#32 + + + 花轿喜事#11 + + + 花轿喜事#12 + + + 温暖的甜蜜的#32 + + + 请君#2 + + + 请君#3 + + + 温暖的甜蜜的#33 + + + 请君#2 + + + 请君#3 + + + 温暖的甜蜜的#33 + + + 请君#2 + + + 请君#3 + + + 温暖的甜蜜的#33 + + + 请君#2 + + + 请君#3 + + + 温暖的甜蜜的#33 + + + 请君#2 + + + 请君#3 + + + 温暖的甜蜜的#33 + + + 请君#2 + + + 请君#3 + + + 温暖的甜蜜的#33 + + + 南京信息 + + + 家有购物 + + + 家有购物 + + + 家有购物 + + + 家有购物 + + + 家有购物 + + + 家有购物 + + + 南京十八 + + + 标点八卦周 + + + 标点 + + + 创意南京 + + + 标点健康 + + + 剧场 + + + 标点美食 + + + 标点旅游 + + + 听我韶韶:爸妈朋友圈 + + + 看江北 + + + 剧场 + + + 标点财商 + + + 标点八卦周 + + + 标点 + + + 标点旅游 + + + 标点美食 + + + 标点说房 + + + 标点健康 + + + 听我韶韶 + + + 标点财商 + + + 档案 + + + 标点旅游 + + + 标点说房 + + + 标点美食 + + + 标点健康 + + + 南京十八生活 + + + 精彩呈现 + + + 标点 + + + 标点汽车 + + + 标点家装 + + + 听我韶韶 + + + 标点健康 + + + 标点财商 + + + 南京第一家装 + + + 南京第一房产 + + + 仁心说医事 + + + 国宝在金陵 + + + 电视剧 + + + 团购馆 + + + 标点家装 + + + 电视剧 + + + 团购馆 + + + 南京第一家装 + + + 仁心说医事 + + + 电视剧 + + + 团购馆 + + + 电视剧 + + + 团购馆 + + + 仁心说医事 + + + 电视剧 + + + 团购馆 + + + 标点家装 + + + 标点 + + + 南京第一房产 + + + 南京第一家装 + + + 标点健康 + + + 听我韶韶 + + + 标点财商 + + + 标点旅游 + + + 标点家装 + + + 消费向导 + + + 南京第一家装 + + + 标点 + + + 听我韶韶 + + + 南京第一房产 + + + 标点健康 + + + 消费向导 + + + 南京少儿 + + + 动画剧场 + + + BOBO乐乐园 + + + 小神龙俱乐部 + + + 动画剧场 + + + 动画剧场 + + + 安全教育 + + + 家装100问 + + + 包剪锤 + + + 优优宝贝 + + + 其实很Q + + + 家装100问 + + + 动画剧场 + + + 动画剧场 + + + 小神龙俱乐部 + + + 家装100问 + + + 动画剧场 + + + 动画剧场 + + + 动画剧场 + + + 纪录中国 + + + 家装100问 + + + 动画剧场 + + + BOBO乐乐园 + + + 动画剧场 + + + 动画剧场 + + + 安全教育 + + + 其实很Q + + + 小神龙俱乐部 + + + 动画剧场 + + + 动画剧场 + + + 动画剧场 + + + 幸福早点到 + + + 宝贝总动员 + + + 魅力校园 + + + 动画剧场 + + + 家装100问 + + + 动画剧场 + + + 纪录中国 + + + 南京影视 + + + 南京第一房产,南京第一家装 + + + 消费向导 + + + 剧场 + + + 消费向导 + + + 剧场 + + + 再见 + + + 剧场 + + + 剧场 + + + 家装100问 + + + 剧场 + + + 消费向导 + + + 家装100问 + + + 剧场 + + + 家装100问 + + + 剧场 + + + 消费向导 + + + 南京第一房产,南京第一家装 + + + 家装100问 + + + 剧场 + + + 剧场 + + + 剧场 + + + 剧场 + + + 家装100问 + + + 南京教科 + + + 南京壹条 + + + 南京地产直播 + + + 南京第一房产,南京第一家装 + + + 再见 + + + 纪录中国,南京壹条 + + + 剧场 + + + 南京教育头条 + + + 剧场 + + + 消费向导 + + + 家装100问 + + + 时尚旅游 + + + 家装100问 + + + 南京教育头条 + + + 南京壹条 + + + 法治现场 + + + 有请当事人 + + + 家装100问 + + + 消费向导 + + + 剧场 + + + 家装100问 + + + 纪录中国 + + + 南京教育头条 + + + 法治现场 + + + 有请当事人 + + + 全城热恋 + + + 南京3 + + + 剧场 + + + 健康大讲堂 + + + 家装100问 + + + 南京教育科技 + + + 精彩呈现 + + + 南京广播电视台总片头+频道形象片+收视指南 + + + 南京第一家装 + + + 标点家装 + + + 记住乡愁 + + + 南京教育头条 + + + 南京 + + + 智汇康养 + + + 仁心说医事 + + + 书香南京大讲堂 + + + 我的大学之专家谈 + + + 我的大学之律师直播室 + + + 仁心说医事 + + + 我的大学之诗行天下精编版 + + + 法治现场 + + + 金色年代 + + + 仁心说医事 + + + 记住乡愁 + + + 我的大学之大家说 + + + 健康广场 + + + 智汇康养 + + + 仁心说医事 + + + 我的大学之诗行天下 + + + 仁心说医事 + + + 法治现场 + + + 宏琪说交通 + + + 南京教育头条 + + + 金色年代 + + + 南京律师团 + + + 纪录片时间 + + + 健康大讲堂 + + + 我的大学之专家谈 + + + 电视剧 + + + 消费向导 + + + 健康大讲堂 + + + 南京第一房产 + + + 消费向导 + + + 南京文旅纪录 + + + 精彩呈现 + + + 南京电视台总片头 + + + 诗歌地图 + + + 金陵怀古 + + + 南京 + + + 诗行天下 + + + 南京 + + + 音乐时光 + + + 心动的旅行 + + + 南京walk + + + 文旅头条 + + + 美时美刻云南京 + + + 音乐时光 + + + 诗歌地图 + + + 金陵怀古 + + + 南京 + + + 美时美刻云南京 + + + 光影纪录 + + + 诗行天下 + + + 南京体育头条 + + + HR直播间 + + + 诗歌地图 + + + 金陵怀古 + + + 南京walk + + + 文旅头条 + + + 心动的旅行 + + + 光影纪录 + + + 诗歌地图 + + + 金陵怀古 + + + 南京Walk + + + 文旅头条 + + + 南京 + + + 光影纪录 + + + 心动的旅行 + + + 南京 + + + 南京新闻综合 + + + 直播南京(复) + + + 民声(复) + + + 再见 + + + 南京第一房产,南京第一家装 + + + 人社在线(复) + + + 直播南京(复) + + + 剧场 + + + 家装100问 + + + 剧场 + + + 家装100问 + + + 南京午新闻 + + + 家装100问 + + + 大刚说新闻 + + + 剧场 + + + 消费向导 + + + 家装100问 + + + 南京广播电视台总片头 + + + 大刚说新闻 + + + 直播南京 + + + 南京新闻 + + + 转播中央台新闻联播 + + + 剧场 + + + 幕后故事 + + + 剧场 + + + 12345 + + + 南京第一房产,南京第一家装 + + + 家装100问 + + + 南京电视台 + + + 直播南京(复) + + + 民声(复) + + + 再见 + + + 南京第一房产,南京第一家装 + + + 人社在线(复) + + + 直播南京(复) + + + 剧场 + + + 家装100问 + + + 剧场 + + + 家装100问 + + + 南京午新闻 + + + 家装100问 + + + 大刚说新闻 + + + 剧场 + + + 消费向导 + + + 家装100问 + + + 南京广播电视台总片头 + + + 大刚说新闻 + + + 直播南京 + + + 南京新闻 + + + 转播中央台新闻联播 + + + 剧场 + + + 幕后故事 + + + 剧场 + + + 12345 + + + 南京第一房产,南京第一家装 + + + 家装100问 + + + 南方卫视 + + + 湾区文化坊 + + + 我爱返寻味 + + + 湾区最新闻 + + + 72家房客 + + + 我爱返寻味 + + + 湾区文化坊 + + + 城事特搜(重播) + + + 短剧连环炮:72家房客 + + + 每日运动派 + + + 短剧连环炮:72家房客 + + + 养生节目 + + + 短剧连环炮:72家房客 + + + 笑口组 + + + 城事特搜 + + + 我爱返寻味 + + + 湾区最新闻 + + + 72家房客 + + + 纪录/在路上 + + + 南方少儿 + + + 舒克贝塔3(20) + + + 舒克贝塔3(21) + + + 舒克贝塔3(22) + + + 舒克贝塔3(23) + + + 舒克贝塔3(24) + + + 舒克贝塔3(25) + + + 舒克贝塔3(26) + + + 猪猪侠之超星五灵侠(1) + + + 猪猪侠之超星五灵侠(2) + + + 猪猪侠之超星五灵侠(3) + + + 猪猪侠之超星五灵侠(4) + + + 猪猪侠之超星五灵侠(5) + + + 猪猪侠之超星五灵侠(6) + + + 猪猪侠之超星五灵侠(7) + + + 猪猪侠之超星五灵侠(8) + + + 猪猪侠之超星五灵侠(9) + + + 猪猪侠之超星五灵侠(10) + + + 猪猪侠之超星五灵侠(11) + + + 猪猪侠之超星五灵侠(12) + + + 猪猪侠之超星五灵侠(13) + + + 猪猪侠之超星五灵侠(14) + + + 猪猪侠之超星五灵侠(15) + + + 猪猪侠之超星五灵侠(16) + + + 猪猪侠之超星五灵侠(17) + + + 猪猪侠之超星五灵侠(18) + + + 猪猪侠之超星五灵侠(19) + + + 猪猪侠之超星五灵侠(20) + + + 猪猪侠之超星五灵侠(21) + + + 猪猪侠之超星五灵侠(22) + + + 猪猪侠之超星五灵侠(23) + + + 猪猪侠之超星五灵侠(24) + + + 猪猪侠之超星五灵侠(25) + + + 猪猪侠之超星五灵侠(26) + + + 旗旗号巡洋舰2(1) + + + 旗旗号巡洋舰2(2) + + + 旗旗号巡洋舰2(3) + + + 旗旗号巡洋舰2(4) + + + 旗旗号巡洋舰2(5) + + + 旗旗号巡洋舰2(6) + + + 旗旗号巡洋舰2(7) + + + 旗旗号巡洋舰2(8) + + + 旗旗号巡洋舰2(9) + + + 旗旗号巡洋舰2(10) + + + 旗旗号巡洋舰2(11) + + + 旗旗号巡洋舰2(12) + + + 熊出没之春日对对碰(1) + + + 熊出没之春日对对碰(2) + + + 熊出没之春日对对碰(3) + + + 熊出没之春日对对碰(4) + + + 熊出没之春日对对碰(5) + + + 熊出没之春日对对碰(6) + + + 熊出没之春日对对碰(7) + + + 熊出没之春日对对碰(8) + + + 熊出没之春日对对碰(9) + + + 熊出没之春日对对碰(10) + + + 熊出没之春日对对碰(11) + + + 熊出没之春日对对碰(12) + + + 熊出没之春日对对碰(13) + + + 熊出没之春日对对碰(14) + + + 熊出没之春日对对碰(15) + + + 熊出没之春日对对碰(16) + + + 熊出没之春日对对碰(17) + + + 熊出没之春日对对碰(18) + + + 熊出没之春日对对碰(19) + + + 熊出没之春日对对碰(20) + + + 熊出没之春日对对碰(21) + + + 熊出没之春日对对碰(22) + + + 熊出没之春日对对碰(23) + + + 南方影视 + + + 杀出黎明(9) + + + 杀出黎明(10) + + + 杀出黎明(11) + + + 杀出黎明(12) + + + 杀出黎明(13) + + + 绿野心踪(45) + + + 绿野心踪(46) + + + 双枪(1) + + + 双枪(2) + + + 双枪(3) + + + 双枪(4) + + + 双枪(5) + + + 双枪(6) + + + 双枪(7) + + + 双枪(8) + + + 桃花依旧笑春风(69) + + + 桃花依旧笑春风(70) + + + 桃花依旧笑春风(71) + + + 广东电影报道 + + + 追时代1(4):钱火火求职记 + + + 战火青春(26) + + + 南方经济 + + + 经视一线 + + + 观点财经 + + + 探索:顶级戏水秘境-美国天然泳池 + + + 博物馆之夜:徐州博物馆-盗墓遗珍 + + + 博物馆之夜:徐州博物馆-盗墓遗珍 + + + 大揭秘(12):红色经典之英雄儿女 + + + 探索:野性巴拿马 + + + 南方财经报道 + + + 经视一线 + + + 博物馆之夜:徐州博物馆-盗墓遗珍 + + + 广东印记(27):潮州篇-潮绣 + + + 广东印记:深圳智能网联无人巴士 + + + 南方财经报道 + + + 经视一线 + + + 爱情事业皆可得(上) + + + 爱情事业皆可得(下) + + + 爱情真善美剪辑版(25) + + + 爱情真善美剪辑版(26) + + + 爱情真善美剪辑版(27) + + + 博物馆之夜:天津博物馆-耀世珍奇 + + + 南方综艺 + + + 纪录片 + + + 纪录片 + + + 综艺荟 + + + 综艺荟 + + + 赛事直击 + + + 赛事直击 + + + 十分精彩 + + + 十分精彩 + + + 动画片 + + + 动画片 + + + 时尚生活 + + + 时尚生活 + + + 综艺荟 + + + 综艺荟 + + + 赛事直击 + + + 赛事直击 + + + 纪录片 + + + 纪录片 + + + 综艺荟 + + + 综艺荟 + + + 南昌公共 + + + 电视剧重播 + + + 健康专栏 + + + 栏目:第一首映 + + + 电视剧重播 + + + 电视剧重播 + + + 健康专栏 + + + 电视剧连播 + + + 电视剧连播 + + + 电视剧连播 + + + 电视剧连播 + + + 电视剧连播 + + + 电视剧连播 + + + 电视剧连播 + + + 电视剧连播 + + + 电视剧连播 + + + 股市三人行 + + + 电视剧重播 + + + 南昌新闻综合 + + + 剧场 + + + 党风政风热线 + + + 剧场 + + + 健康有一套 + + + 新闻说报 + + + 每日新闻 + + + 转播中央台新闻联播 + + + 新闻说报 + + + 观点 + + + 健康有一套 + + + 党风政风热线 + + + 昌南新闻 + + + 西湖新闻 + + + 每日新闻 + + + 剧场 + + + 南昌资讯 + + + 非乐不可 + + + 家有喜事 + + + 电视剧 + + + 政法报道 + + + 家有喜事 + + + 电视剧 + + + 观点致胜 + + + 政法报道 + + + 家有喜事 + + + 观点致胜 + + + 电视剧 + + + 电视剧 + + + 电视剧 + + + 电视剧 + + + 南昌都市 + + + 电视剧 + + + 电视剧 + + + 家政女皇 + + + 栏目:天天美味 + + + 栏目:开车看房 + + + 电视剧 + + + 电视剧 + + + 非乐不可 + + + 木奇灵2圣天灵种 + + + 栏目:天天美味 + + + 家政女皇 + + + 栏目:开车看房 + + + 西湖新闻 + + + 天天美味 + + + 开车看房 + + + 家政女皇 + + + 电视剧 + + + 电视剧 + + + 电视剧 + + + 南通新闻综合 + + + 城市日历 + + + 人文纪录 + + + 南通新闻 + + + 城市日历 + + + 剧场 + + + 城市日历 + + + 政风行风热线 + + + 剧场 + + + 新华纵横 + + + 大家有约 + + + 南通新闻 + + + 第一气象 + + + 转播中央台新闻联播 + + + 城市日历 + + + 剧场 + + + 江海联播 + + + 南通新闻 + + + 剧场 + + + 南通社教 + + + 南通新闻 + + + 口述中国 + + + 总而言之 + + + 崇川故事 + + + 健康我来了 + + + 剧场 + + + 新华纵横 + + + 综合栏目 + + + 总而言之 + + + 城市日历 + + + 人文纪录 + + + 剧场 + + + 动画城堡 + + + 政风行风热线 + + + 总而言之 + + + 生活剧场 + + + 新华纵横 + + + 生活二维码 + + + 总而言之 + + + 健康我来了 + + + 人文纪录 + + + 口述中国 + + + 卡酷动画 + + + 葫芦兄弟(7) + + + 音乐公主爱美莉(1) + + + 音乐公主爱美莉(2) + + + 音乐公主爱美莉(3) + + + 音乐公主爱美莉(4) + + + 音乐公主爱美莉(5) + + + 音乐公主爱美莉(6) + + + 音乐公主爱美莉(7) + + + 猪猪侠之竞速小英雄8(8) + + + 猪猪侠之竞速小英雄8(9) + + + 猪猪侠之竞速小英雄8(10) + + + 猪猪侠之竞速小英雄8(11) + + + 猪猪侠之竞速小英雄8(12) + + + 猪猪侠之竞速小英雄8(13) + + + 喜羊羊与灰太狼之羊村守护者(9) + + + 猪猪侠之超星五灵侠7(1) + + + 猪猪侠之超星五灵侠7(2) + + + 猪猪侠之超星五灵侠7(3) + + + 熊熊帮帮团2(1) + + + 卡酷动物园 + + + 熊熊帮帮团2(2) + + + 熊熊帮帮团2(3) + + + 熊熊帮帮团2(4) + + + 熊熊帮帮团2(5) + + + 卡酷幼儿园 + + + 熊出没之小小世界(1) + + + 熊出没之小小世界(2) + + + 熊出没之小小世界(3) + + + 汪汪队立大功4(18) + + + 汪汪队立大功4(19) + + + 汪汪队立大功4(20) + + + 汪汪队立大功4(21) + + + 汪汪队立大功4(22) + + + 汪汪队立大功9(1) + + + 汪汪队立大功9(2) + + + 汪汪队立大功9(3) + + + 汪汪队立大功9(4) + + + 熊出没之伴我熊芯 + + + 猪猪侠之超星五灵侠7(4) + + + 猪猪侠之超星五灵侠7(5) + + + 猪猪侠之超星五灵侠7(6) + + + 熊出没之怪兽计划(11) + + + 熊出没之怪兽计划(12) + + + 熊出没之怪兽计划(13) + + + 熊出没之怪兽计划(14) + + + 熊出没之怪兽计划(15) + + + 熊出没之怪兽计划(16) + + + 熊出没之怪兽计划(17) + + + 卡卡牛剧场(上) + + + 大玩家周间版(下) + + + 卡卡牛剧场(下) + + + 小狼乐宾1(3) + + + 小狼乐宾1(4) + + + 熊出没之逆转时空 + + + 北京国际科技创新中心建设条例 + + + 熊出没之逆转时空 + + + 阿凡提的故事(1) + + + 卡酷少儿 + + + 葫芦兄弟(7) + + + 广宣时段 + + + 音乐公主爱美莉(1) + + + 音乐公主爱美莉(2) + + + 音乐公主爱美莉(3) + + + 音乐公主爱美莉(4) + + + 音乐公主爱美莉(5) + + + 音乐公主爱美莉(6) + + + 音乐公主爱美莉(7) + + + 猪猪侠之竞速小英雄Ⅷ(8) + + + 猪猪侠之竞速小英雄Ⅷ(9) + + + 猪猪侠之竞速小英雄Ⅷ(10) + + + 猪猪侠之竞速小英雄Ⅷ(11) + + + 猪猪侠之竞速小英雄Ⅷ(12) + + + 猪猪侠之竞速小英雄Ⅷ(12) + + + 猪猪侠之竞速小英雄Ⅷ(13) + + + 喜羊羊与灰太狼之羊村守护者Ⅸ + + + 喜羊羊与灰太狼之羊村守护者Ⅸ + + + 喜羊羊与灰太狼之羊村守护者Ⅸ + + + 喜羊羊与灰太狼之羊村守护者Ⅸ + + + 猪猪侠之超星五灵侠Ⅶ(1) + + + 猪猪侠之超星五灵侠Ⅶ(2) + + + 猪猪侠之超星五灵侠Ⅶ(3) + + + 熊熊帮帮团Ⅱ(1) + + + 卡酷动物园 + + + 熊熊帮帮团Ⅱ(2) + + + 熊熊帮帮团Ⅱ(2) + + + 熊熊帮帮团Ⅱ(3) + + + 熊熊帮帮团Ⅱ(4) + + + 熊熊帮帮团Ⅱ(5) + + + 卡酷幼儿园 + + + 熊出没之小小世界(1) + + + 熊出没之小小世界(2) + + + 熊出没之小小世界(3) + + + 汪汪队立大功Ⅳ(18) + + + 汪汪队立大功Ⅳ(19) + + + 汪汪队立大功Ⅳ(20) + + + 汪汪队立大功Ⅳ(21) + + + 汪汪队立大功Ⅳ(22) + + + 汪汪队立大功Ⅸ(1) + + + 汪汪队立大功Ⅸ(2) + + + 汪汪队立大功Ⅸ(3) + + + 汪汪队立大功Ⅸ(4) + + + 熊出没之伴我熊芯 + + + 熊出没之伴我熊芯 + + + 熊出没之伴我熊芯 + + + 熊出没之伴我熊芯 + + + 猪猪侠之超星五灵侠Ⅶ(4) + + + 猪猪侠之超星五灵侠Ⅶ(5) + + + 猪猪侠之超星五灵侠Ⅶ(6) + + + 熊出没之怪兽计划(11) + + + 熊出没之怪兽计划(12) + + + 熊出没之怪兽计划(13) + + + 熊出没之怪兽计划(14) + + + 熊出没之怪兽计划(15) + + + 熊出没之怪兽计划(16) + + + 熊出没之怪兽计划(17) + + + 卡卡牛剧场(上) + + + 大玩家周间版(下) + + + 卡卡牛剧场(下) + + + 小狼乐宾Ⅰ(3) + + + 小狼乐宾Ⅰ(4) + + + 熊出没之逆转时空 + + + 熊出没之逆转时空 + + + 熊出没之逆转时空 + + + 熊出没之逆转时空 + + + 广宣时段 + + + 卫生健康 + + + 健康中国 + + + 健康之路 + + + 在线大名医:护心妙方 + + + 夕阳红 + + + 卫健生活圈:偏侧舞蹈症等 + + + 健康之路 + + + 生命线 + + + 美丽中国 + + + 健康之路 + + + 卫健生活圈:精准防癌从头开始 + + + 职场健康课 + + + 健康之路 + + + 健康之路 + + + 夕阳红 + + + 职场健康课 + + + 综艺盛典:选对健康(11) + + + 健康之路 + + + 健康之路 + + + 我家有私教:展胸提踵强心肺 + + + 回家吃饭 + + + 健身动起来 + + + 健康之路 + + + 健康之路 + + + 职场健康课 + + + 夕阳红 + + + 轻松节拍:维生素C能治疗感冒吗 + + + 健康之路 + + + 健康之路 + + + 人口 + + + 综艺盛典:选对健康(11) + + + 职场健康课 + + + 夕阳红 + + + 健康之路 + + + 人口 + + + 卫健生活圈:走出误区远离肝扰 + + + 百家讲坛(重播) + + + 健康之路 + + + 健康之路 + + + 综艺盛典:选对健康(11) + + + 厦门一套 + + + 电视剧场 + + + 厦视新闻(重) + + + 国歌 + + + 小海豚动漫剧场 + + + 电视剧场 + + + 午间新闻广场 + + + 党的生活(重) + + + 文明论坛(重) + + + 气象环境新闻 + + + 电视剧场 + + + 小海豚动漫剧场 + + + 《小海豚》日常版上课啦(重) + + + 厦视新闻 + + + 新闻联播 + + + 福建新闻联播 + + + 气象环境新闻 + + + 海洋环境预报 + + + 国宝奇旅41-42 + + + 出行气象站 + + + 厦视直播室(重) + + + 电视剧场 + + + 厦门三套 + + + 超人气影院 + + + 超人气影院 + + + 厦视真好看 + + + 阳光剧场(5集) + + + 金鸡影院 + + + 厦视真好看 + + + 鼓浪剧场 + + + 厦视真好看 + + + 凤凰花剧场 + + + 幸福剧场 + + + 热血影院 + + + 厦门二套 + + + 厦视新闻(重) + + + 名医大讲堂(重) + + + 厦视直播室(重) + + + 党的生活(重) + + + 文明论坛(重) + + + 电视剧场 + + + 纪录之光 + + + 午间新闻广场 + + + 名医大讲堂(重) + + + 电视剧场 + + + 纪录之光 + + + 名医大讲堂 + + + 厦视直播室 + + + TV透(首) + + + 特区新闻广场 + + + 视点(首) + + + 电视剧场 + + + 厦视新闻(重) + + + 厦门卫视 + + + 印象中国之山河锦绣看中国(闽)(重) + + + 闽南通(重) + + + 斗阵来看戏(重) + + + 奔腾岁月(闽)6-7 + + + 印象中国之山河锦绣看中国(闽)(重) + + + 闽南通(重) + + + 斗阵来看戏(重) + + + 国歌 + + + 两岸新新闻(重) + + + 闽南通(重) + + + 玲听两岸(重) + + + 印象中国之山河锦绣看中国(闽) + + + 新洛神(闽)58-60 + + + 斗阵来看戏(首) + + + 斗阵来讲古(首) + + + 卫子夫(闽)9-10 + + + 雳剑17-19 + + + 《小海豚》日常版《上课啦》(首) + + + 新闻斗阵讲(首) + + + 厦视新闻 + + + 新闻联播 + + + 不可能完成的任务28-29 + + + 两岸一味第一季2 + + + 两岸新新闻(首) + + + 两岸直航(首) + + + 名城文脉6 + + + 远方的山楂树24-25 + + + 厦门海峡 + + + 厦视新闻(重) + + + 名医大讲堂(重) + + + 厦视直播室(重) + + + 党的生活(重) + + + 文明论坛(重) + + + 电视剧场 + + + 纪录之光 + + + 午间新闻广场 + + + 名医大讲堂(重) + + + 电视剧场 + + + 纪录之光 + + + 名医大讲堂 + + + 厦视直播室 + + + TV透(首) + + + 特区新闻广场 + + + 视点(首) + + + 电视剧场 + + + 厦视新闻(重) + + + 厦门移动 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 厦门综合 + + + 魅力时尚汇 + + + 凌晨剧场 + + + 凌晨剧场 + + + 厦视新闻 + + + 生死较量(上) + + + 气象环境新闻 + + + 上午剧场 + + + 炫彩生活 + + + 苗准美食 + + + 午间新闻广场 + + + 视点 + + + 气象环境新闻 + + + TV透 + + + 特区房地产 + + + 下午剧场 + + + 魅力时尚汇 + + + 来吧小伙伴 + + + 厦视新闻 + + + 转播中央台新闻联播 + + + 福建新闻联播 + + + 气象环境新闻 + + + 海洋环境预报 + + + 晚间剧场 + + + 出行气象站 + + + 厦视直播室 + + + 视点 + + + 交通信息 + + + 海西财经报道 + + + 发现之旅 + + + 世界多美丽(196) + + + 发现汇 + + + 测试图 + + + 测试图 + + + 测试图 + + + 发现汇 + + + 发现汇 + + + 发现汇 + + + 世界多美丽(196) + + + 青春之我(99) + + + 青春之我(92) + + + 我是党员 + + + 发现中国美 + + + 频道宣传片 + + + 发现汇 + + + 发现汇 + + + 发现汇 + + + 家国 + + + 世界多美丽(196) + + + 发现中国美 + + + 青春之我(99) + + + 青春之我(92) + + + 我是党员 + + + 你要倾听的大地 + + + 发现汇 + + + 揽胜神州 + + + 你要倾听的大地 + + + 大国品牌故事 + + + 发现汇 + + + 发现汇 + + + 发现汇 + + + 青春之我(99) + + + 青春之我(92) + + + 我是党员 + + + 世界多美丽(196) + + + 发现汇 + + + 揽胜神州 + + + 发现新地标(804) + + + 发现中国美 + + + 你要倾听的大地 + + + 青春之我(99) + + + 青春之我(92) + + + 我是党员 + + + 发现中国美 + + + 发现新地标(804) + + + 发现汇 + + + 聚焦先锋榜 + + + 聚焦先锋榜 + + + 发现新地标(799) + + + 杭州亚运专辑(1) + + + 光影史诗 + + + 青春之我(100) + + + 青春之我(93) + + + 影响未来(666) + + + 还看今朝 + + + 四海为家 + + + 古装剧场 + + + 精彩呈现 + + + 大戏法(第19集) + + + 大戏法(第20集) + + + 大戏法(第21集) + + + 大戏法(第22集) + + + 三生三世枕上书(第10集) + + + 三生三世枕上书(第11集) + + + 三生三世枕上书(第12集) + + + 三生三世枕上书(第13集) + + + 长歌行(第46集) + + + 长歌行(第47集) + + + 德国米技炉周年庆超值惠选装-渠道(右) + + + 长歌行(第48集) + + + 长歌行(第49集) + + + 英国奥戈那折叠式取暖器-渠道(右) + + + 九流霸主(第31集) + + + 九流霸主(第32集) + + + KGTOUE体感语音操控大吸力烟机-渠道(右) + + + 九流霸主(第33集) + + + 九流霸主(第34集) + + + 锦绣安宁(第35集) + + + POKONDA智能四轮电动代步车-渠道(右) + + + 锦绣安宁(第36集) + + + 锦绣安宁(第37集) + + + 《时尚小咖秀》 + + + 锦绣安宁(第38集) + + + 清平乐(第60集) + + + 《八段锦》推荐第9期 + + + 清平乐(第61集) + + + 清平乐(第62集) + + + 清平乐(第63集) + + + 台视 + + + 精彩呈现 + + + 男团选秀《SCOOL》第10集 + + + NEWS金探号第572集 + + + 节目收播 + + + 讯号测试 + + + 健康好简单第1544集 + + + 360行向前冲第393集 + + + 早安您好台视新闻 + + + 早安台湾台语新闻 + + + 神机妙算刘伯温第66集 + + + 消费情报讚第2377集 + + + 消费情报讚第2377集 + + + 牡丹花开第120集 + + + 午安您好台视新闻 + + + 美丽人生日出他乡第111集 + + + 消费情报讚第2377集 + + + 生活情报通第1758集 + + + 生活情报通第1758集 + + + 神奇故事屋第15集 + + + 我们这一家第7集 + + + 我们这一家第8集 + + + 蜡笔小新第22集 + + + 蜡笔小新第23集 + + + 台视晚间新闻 + + + 天下第一招第1集 + + + 天下第一招第2集 + + + 美丽人生日出他乡第112集 + + + 吉林乡村 + + + 凌晨剧场 + + + 家长里短 + + + 乡村四季12316 + + + 二人转总动员 + + + 上午剧场 + + + 综艺精编版 + + + 乡村四季12316 + + + 二人转总动员 + + + 家长里短 + + + 下午剧场 + + + 斗你玩 + + + 综艺精编版 + + + 乡村四季12316 + + + 家长里短 + + + 乡村气象站 + + + 二人转总动员 + + + 黄金剧场 + + + 广角民生 + + + 广角民生 + + + 斗你玩 + + + 乡村气象站 + + + 二人转总动员 + + + 吉林公共新闻 + + + 早间剧场 + + + 我的天呀 + + + 这事可能吗 + + + 有一说一 + + + 女人故事 + + + 我的选择 + + + 我是大医生(重播) + + + 我的天呀 + + + 金星秀(重播) + + + 下午剧场 + + + 有一说一 + + + 哎呀妈呀你来了 + + + 我的天呀 + + + 金星秀(重播) + + + 凌晨剧场 + + + 吉林卫视 + + + 凌晨剧场 + + + 凌晨剧场 + + + 凌晨剧场 + + + 凌晨剧场 + + + 凌晨剧场 + + + 清晨剧场 + + + 清晨剧场 + + + 清晨剧场 + + + 清晨剧场 + + + 清晨剧场 + + + 吉林新闻联播 + + + 中华人民共和国国歌 + + + 新闻早报 + + + 上午剧场:武工队传奇(40) + + + 上午剧场 + + + 上午剧场 + + + 上午剧场 + + + 上午剧场 + + + 上午剧场 + + + 卫视气象站 + + + 上午剧场 + + + 花儿朵朵 + + + 下午剧场:潜行者(7) + + + 下午剧场:潜行者(8) + + + 下午剧场:潜行者(9) + + + 下午剧场:潜行者(10) + + + 下午剧场:潜行者(11) + + + 下午剧场:潜行者(12) + + + 下午剧场:潜行者(13) + + + 欢乐送 + + + 情动十分 + + + 吉林体彩 + + + 吉林天气预报 + + + 吉林新闻联播 + + + 转播中央台新闻联播 + + + 黄金剧场:亲爱的孩子们(4) + + + 黄金剧场:亲爱的孩子们(5) + + + 家事 + + + 凌晨剧场 + + + 凌晨剧场 + + + 吉林影视 + + + 等着我 + + + 为爱转身 + + + 等着我 + + + 为爱转身 + + + 等着我 + + + 为爱转身 + + + 等着我 + + + 我爱淘电影 + + + 电视剧剧场 + + + 为爱转身 + + + 电视剧剧场 + + + 吉林生活 + + + 早间剧场 + + + 我的天呀 + + + 这事可能吗 + + + 有一说一 + + + 女人故事 + + + 我的选择 + + + 我是大医生(重播) + + + 我的天呀 + + + 金星秀(重播) + + + 下午剧场 + + + 有一说一 + + + 哎呀妈呀你来了 + + + 我的天呀 + + + 金星秀(重播) + + + 凌晨剧场 + + + 吉林综艺文化 + + + 凌晨剧场 + + + 最7天 + + + 7天说 + + + 乐7天 + + + 更吉林 + + + 上午剧场 + + + 更吉林 + + + 欢乐喜剧人 + + + 更吉林 + + + 7天说 + + + 下午剧场 + + + 乐7天 + + + 欢乐喜剧人 + + + 聊聊天 + + + 最7天 + + + 聊聊天 + + + 黄金剧场 + + + 最7天 + + + 乐7天 + + + 笑傲江湖 + + + 吉林都市 + + + 凌晨剧场 + + + 吉林新闻联播 + + + 都市生活圈 + + + 健康大赢家 + + + 守望都市早间版 + + + 上午剧场 + + + 都市大明星 + + + 都市朋友圈 + + + 守望都市午间版 + + + 都市生活圈 + + + 下午剧场 + + + 健康大赢家 + + + 都市名医堂 + + + 都市朋友圈 + + + 守望都市晚间版 + + + 黄金剧场 + + + 都市生活圈 + + + 都市名医堂 + + + 吉视乡村 + + + 凌晨剧场 + + + 家长里短 + + + 乡村四季12316 + + + 二人转总动员 + + + 上午剧场 + + + 综艺精编版 + + + 乡村四季12316 + + + 二人转总动员 + + + 家长里短 + + + 下午剧场 + + + 斗你玩 + + + 综艺精编版 + + + 乡村四季12316 + + + 家长里短 + + + 乡村气象站 + + + 二人转总动员 + + + 黄金剧场 + + + 广角民生 + + + 广角民生 + + + 斗你玩 + + + 乡村气象站 + + + 二人转总动员 + + + 吉视影视 + + + 等着我 + + + 为爱转身 + + + 等着我 + + + 为爱转身 + + + 等着我 + + + 为爱转身 + + + 等着我 + + + 我爱淘电影 + + + 电视剧剧场 + + + 为爱转身 + + + 电视剧剧场 + + + 吉视生活 + + + 早间剧场 + + + 我的天呀 + + + 这事可能吗 + + + 有一说一 + + + 女人故事 + + + 我的选择 + + + 我是大医生(重播) + + + 我的天呀 + + + 金星秀(重播) + + + 下午剧场 + + + 有一说一 + + + 哎呀妈呀你来了 + + + 我的天呀 + + + 金星秀(重播) + + + 凌晨剧场 + + + 吉视综艺文化 + + + 凌晨剧场 + + + 最7天 + + + 7天说 + + + 乐7天 + + + 更吉林 + + + 上午剧场 + + + 更吉林 + + + 欢乐喜剧人 + + + 更吉林 + + + 7天说 + + + 下午剧场 + + + 乐7天 + + + 欢乐喜剧人 + + + 聊聊天 + + + 最7天 + + + 聊聊天 + + + 黄金剧场 + + + 最7天 + + + 乐7天 + + + 笑傲江湖 + + + 吉视都市 + + + 凌晨剧场 + + + 吉林新闻联播 + + + 都市生活圈 + + + 健康大赢家 + + + 守望都市早间版 + + + 上午剧场 + + + 都市大明星 + + + 都市朋友圈 + + + 守望都市午间版 + + + 都市生活圈 + + + 下午剧场 + + + 健康大赢家 + + + 都市名医堂 + + + 都市朋友圈 + + + 守望都市晚间版 + + + 黄金剧场 + + + 都市生活圈 + + + 都市名医堂 + + + 吴江新闻综合 + + + 吴江新闻 + + + 我爱我家 + + + 法治吴江 + + + 健康吴江 + + + 乐居吴江 + + + 娱乐现场 + + + 剧场 + + + 财富吴江 + + + 生活新天地 + + + 剧场 + + + 万亚新周刊 + + + 我爱我家 + + + 剧场 + + + 财富吴江 + + + 我爱我家 + + + 九龙健康家园 + + + 法治吴江 + + + 吴江新闻 + + + 转播中央台新闻联播 + + + 剧场 + + + 健康吴江 + + + 吴江新闻 + + + 生活新天地 + + + 法治吴江 + + + 万亚新周刊 + + + 剧场 + + + 呼和浩特影视 + + + 奇趣大自然 + + + 人文中国 + + + 艺览青城 + + + 电视剧 + + + 周末大舞台 + + + 奇趣大自然 + + + 电视剧 + + + 青城艺百汇 + + + 人文中国 + + + 首府商讯 + + + 青城流韵 + + + 奇趣大自然 + + + 政在关注 + + + 首府商讯 + + + 电视剧 + + + 奇趣大自然 + + + 呼和浩特综合 + + + 青城眼 + + + 青城警务 + + + 政在关注 + + + 蒙古语会话 + + + 直通首府 + + + 电视剧 + + + 政在关注 + + + 直通首府 + + + 新闻(9+1) + + + 青城警务 + + + 首府商讯 + + + 青城眼 + + + 直通首府 + + + 蒙古语会话 + + + 人文中国 + + + 我是共产党员 + + + 奇趣大自然 + + + 新闻9+1 + + + 电视剧 + + + 政在关注 + + + 青城眼 + + + 动画片 + + + 青城警务 + + + 内蒙古新闻(转播) + + + 新闻联播(转播) + + + 呼和浩特新闻(一版) + + + 青城眼 + + + 政在关注 + + + 首府商讯 + + + 新闻(9+1) + + + 直通首府 + + + 晚间新闻 + + + 呼和浩特都市 + + + 蒙古语会话 + + + 政在关注 + + + 青城警务 + + + 奇趣大自然 + + + 电视剧 + + + 青城艺百汇 + + + 蒙中医说病 + + + 我是共产党员 + + + 校园 + + + 吃了么 + + + 咪咕NBA-1 + + + 我是大美人 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 平民英雄 + + + 新闻大求真 + + + 新闻大求真 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 我的纪录片 + + + 中华人民共和国国歌 + + + 湖南新闻联播 + + + 偶像独播剧场:情谜睡美人(76) + + + 动画片剧场 + + + 偶像独播剧场:情谜睡美人(77) + + + 偶像独播剧场:情谜睡美人(78) + + + 偶像独播剧场:情谜睡美人(79) + + + 偶像独播剧场:情谜睡美人(80) + + + 咪咕综合体育 + + + 英超赛场-24/25赛季英超 第13轮 利物浦-曼城 直播 + + + 频道宣传 + + + 国球荣耀-WTT中国大满贯 女双 决赛 + + + 欧陆足球版图 + + + 足球世界-24/25赛季意甲 第14轮 莱切-尤文图斯 直播 + + + 频道宣传 + + + 足球世界-24/25赛季意甲 第13轮 AC米兰-尤文图斯 + + + 咪咕体育日报 + + + 频道宣传 + + + 欧陆足球版图 + + + 国球荣耀-WTT法兰克福冠军赛 女单 半决赛 + + + 国球荣耀-WTT法兰克福冠军赛 女单 决赛 + + + 欧陆足球版图 + + + 频道宣传 + + + 足球世界-24/25赛季西甲 第13轮 皇家马略卡-马德里竞技 + + + 频道宣传 + + + 足球世界-24/25赛季意甲 第12轮 尤文图斯-都灵 + + + 纪录片-阿尔塞纳b7温格:不败之师 + + + 频道宣传 + + + UFC第303期主赛 + + + 咪咕足球 + + + 村BA + + + 频道宣传 + + + 超级三对三-2024超三联赛 + + + 频道宣传 + + + 2024NBL季后赛总决赛G4 香港金牛-安徽文一 + + + 村BA + + + 一球一城 巴黎 + + + 超级三对三-2024超三联赛 + + + 当燃CBA 24/25俱乐部杯小组赛 北京北汽-辽宁本钢 + + + 村BA + + + 频道宣传 + + + 我爱女篮 WCBA常规赛 上海浦发银行-东莞新彤盛 + + + 超级三对三-2024超三联赛 + + + 频道宣传 + + + 村BA + + + 篮球:为爱而生07 飞人乔丹 + + + 当燃CBA 24/25常规赛 深圳马可波罗-新疆伊力特 + + + 哈哈炫动 + + + 动画片剧场 + + + 动画片剧场 + + + 动画片剧场 + + + 炫动酷地带 + + + 欢乐蹦蹦跳 + + + 动画片剧场 + + + 炫动酷地带 + + + 新闻同学 + + + 动画片剧场 + + + 动画片剧场 + + + 动画片剧场 + + + 动画片剧场 + + + 动画片剧场 + + + 新闻同学 + + + 荧星梦工厂 + + + 动画片剧场 + + + 动画片剧场 + + + 动画片剧场 + + + 新闻同学 + + + 动画片剧场 + + + 哒啵电竞 + + + 精彩呈现 + + + 2023PEL-S1赛季【和平精英】 + + + 哒啵-海上扫描室【深海迷航】 + + + 哒啵-暗星冒险2【元梦之星】 + + + 小鬼头-宅宅保卫战2【植物大战僵尸】 + + + 游小浪-变形记2【方舟生存进化】 + + + 豆豆小师弟-魔法枪生存【迷你世界】 + + + 克里思D囻-柠檬茶生存4【我的世界】 + + + 浪哥-默契闯关4【蛋仔派对】 + + + 哒啵-星宝落地4【元梦之星】 + + + 天成-幽默之路【和平精英】 + + + 君君-花园突击【植物大战僵尸】 + + + 血舞-挑战群岛【我的世界】 + + + 小兔-保卫家园【迷你世界】 + + + 万花-后排高光时刻【王者荣耀】 + + + 小函-精彩实况【英雄联盟手游】 + + + 豆豆小师弟-神盾生存【迷你世界】 + + + 豆豆小师弟-神矛生存【迷你世界】 + + + 哒啵赛事 + + + 精彩呈现 + + + 2023PEL春季赛W1D4 + + + 2023PEL春季赛W2D1 + + + 2023PEL春季赛W2D2 + + + 哒啵-极速狂飙【极品飞车集结】 + + + 哒啵-杂交版实况2【植物大战僵尸】 + + + 嘉游-最强对战【蛋仔派对】 + + + 狄克海威-逃离废弃工厂2【罗布乐思】 + + + 豆豆小师弟-炸药桶生存【迷你世界】 + + + 哒啵-雪地生存【我的世界】 + + + 哒啵-大王别抓我【元梦之星】 + + + 阿福-丛林仙境【方舟生存进化】 + + + 小米米沙-矿洞收集【星露谷物语】 + + + 哒啵-空降奇兵【猛兽派对】 + + + 桃子姐姐-狙神出战2【和平精英】 + + + 真人版迷斯拉-勇闯金字塔【迷你世界】 + + + 克里思-柠檬茶生存【我的世界】 + + + 无颜牛哥-竞速之战4【逃跑吧少年】 + + + 哒啵-夜闯巢穴【深海迷航】 + + + 布布-解密新世界【明日之后】 + + + 云天河-大神花木兰【王者荣耀】 + + + 嘉佳卡通 + + + 喜羊羊与灰太狼之勇闯四季城(1) + + + 喜羊羊与灰太狼之勇闯四季城(2) + + + 喜羊羊与灰太狼之勇闯四季城(3) + + + 喜羊羊与灰太狼之勇闯四季城(4) + + + 喜羊羊与灰太狼之勇闯四季城(5) + + + 喜羊羊与灰太狼之勇闯四季城(6) + + + 喜羊羊与灰太狼之勇闯四季城(7) + + + 喜羊羊与灰太狼之勇闯四季城(8) + + + 喜羊羊与灰太狼之勇闯四季城(9) + + + 喜羊羊与灰太狼之勇闯四季城(10) + + + 喜羊羊与灰太狼之勇闯四季城(11) + + + 喜羊羊与灰太狼之勇闯四季城(12) + + + 喜羊羊与灰太狼之勇闯四季城(13) + + + 喜羊羊与灰太狼之勇闯四季城(14) + + + 喜羊羊与灰太狼之勇闯四季城(15) + + + 喜羊羊与灰太狼之勇闯四季城(16) + + + 喜羊羊与灰太狼之勇闯四季城(17) + + + 喜羊羊与灰太狼之勇闯四季城(18) + + + 喜羊羊与灰太狼之勇闯四季城(19) + + + 喜羊羊与灰太狼之勇闯四季城(20) + + + 喜羊羊与灰太狼之勇闯四季城(21) + + + 喜羊羊与灰太狼之勇闯四季城(22) + + + 喜羊羊与灰太狼之勇闯四季城(23) + + + 喜羊羊与灰太狼之勇闯四季城(24) + + + 喜羊羊与灰太狼之勇闯四季城(25) + + + 喜羊羊与灰太狼之勇闯四季城(26) + + + 喜羊羊与灰太狼之勇闯四季城(27) + + + 喜羊羊与灰太狼之勇闯四季城(28) + + + 喜羊羊与灰太狼之勇闯四季城(29) + + + 喜羊羊与灰太狼之勇闯四季城(30) + + + 喜羊羊与灰太狼之勇闯四季城(31) + + + 喜羊羊与灰太狼之勇闯四季城(32) + + + 奶龙与小七之大战暴暴龙(1) + + + 中华经典文化之成语故事Ⅰ(5) + + + 中华名人小课堂老子篇(1) + + + 疯狂小糖Ⅰ(26) + + + 疯狂小糖Ⅰ(27) + + + 疯狂小糖Ⅰ(28) + + + 疯狂小糖Ⅰ(29) + + + 疯狂小糖Ⅰ(30) + + + 疯狂小糖Ⅰ(31) + + + 疯狂小糖Ⅰ(32) + + + 疯狂小糖Ⅰ(33) + + + 疯狂小糖Ⅰ(34) + + + 疯狂小糖Ⅰ(34) + + + 疯狂小糖Ⅰ(35) + + + 熊出没之怪兽计划Ⅱ(11) + + + 熊出没之怪兽计划Ⅱ(12) + + + 熊出没之怪兽计划Ⅱ(13) + + + 熊出没之怪兽计划Ⅱ(14) + + + 熊出没之怪兽计划Ⅱ(15) + + + 熊出没之怪兽计划Ⅱ(16) + + + 熊出没之怪兽计划Ⅱ(17) + + + 熊出没之怪兽计划Ⅱ(18) + + + 熊出没之怪兽计划Ⅱ(19) + + + 熊出没之怪兽计划Ⅱ(20) + + + 熊出没之怪兽计划Ⅱ(21) + + + 熊出没之怪兽计划Ⅱ(22) + + + 熊出没之怪兽计划Ⅱ(23) + + + 熊出没之怪兽计划Ⅱ(24) + + + 熊出没之怪兽计划Ⅱ(25) + + + 奶龙与小七之大战暴暴龙(1) + + + 奶龙与小七之大战暴暴龙(2) + + + 奶龙与小七之大战暴暴龙(3) + + + 奶龙与小七之大战暴暴龙(4) + + + 奶龙与小七之大战暴暴龙(5) + + + 奶龙与小七之大战暴暴龙(6) + + + 奶龙与小七之大战暴暴龙(7) + + + 奶龙与小七之大战暴暴龙(8) + + + 奶龙与小七之大战暴暴龙(9) + + + 奶龙与小七之大战暴暴龙(10) + + + 奶龙与小七之大战暴暴龙(11) + + + 奶龙与小七之大战暴暴龙(12) + + + 奶龙与小七之大战暴暴龙(13) + + + 奶龙与小七之大战暴暴龙(14) + + + 奶龙与小七之大战暴暴龙(15) + + + 奶龙与小七之大战暴暴龙(16) + + + 奶龙与小七之大战暴暴龙(17) + + + 奶龙与小七之大战暴暴龙(18) + + + 奶龙与小七之大战暴暴龙(19) + + + 奶龙与小七之大战暴暴龙(20) + + + 奶龙与小七之大战暴暴龙(21) + + + 奶龙与小七之大战暴暴龙(22) + + + 奶龙与小七之大战暴暴龙(23) + + + 奶龙与小七之大战暴暴龙(24) + + + 奶龙与小七之大战暴暴龙(25) + + + 奶龙与小七之大战暴暴龙(26) + + + 熊出没之怪兽计划Ⅱ(42) + + + 熊出没之怪兽计划Ⅱ(43) + + + 熊出没之怪兽计划Ⅱ(44) + + + 熊出没之怪兽计划Ⅱ(45) + + + 熊出没之怪兽计划Ⅱ(46) + + + 熊出没之怪兽计划Ⅱ(47) + + + 熊出没之怪兽计划Ⅱ(48) + + + 熊出没之怪兽计划Ⅱ(49) + + + 熊出没之怪兽计划Ⅱ(50) + + + 熊出没之怪兽计划Ⅱ(51) + + + 熊出没之怪兽计划Ⅱ(52) + + + 熊出没之怪兽计划Ⅱ(31) + + + 熊出没之怪兽计划Ⅱ(32) + + + 熊出没之怪兽计划Ⅱ(33) + + + 熊出没之怪兽计划Ⅱ(34) + + + 熊出没之怪兽计划Ⅱ(35) + + + 熊出没之怪兽计划Ⅱ(36) + + + 熊出没之怪兽计划Ⅱ(37) + + + 熊出没之怪兽计划Ⅱ(38) + + + 熊出没之怪兽计划Ⅱ(39) + + + 熊出没之怪兽计划Ⅱ(40) + + + 熊出没之怪兽计划Ⅱ(41) + + + 熊出没之怪兽计划Ⅱ(42) + + + 超级飞侠ⅩⅦ(5) + + + 巴啦啦小魔仙之曜星守护者Ⅰ(18) + + + 超级飞侠ⅩⅦ(2) + + + 爆裂飞车之晶码迷踪(16) + + + 量子战队之恐龙守护Ⅱ(12) + + + 超级飞侠ⅩⅥ(17) + + + 超级飞侠ⅩⅥ(18) + + + 小特搜员(111) + + + 超星龙骑-元素战纪(11) + + + 疯狂小糖Ⅱ(38) + + + 疯狂小糖Ⅱ(39) + + + 疯狂小糖Ⅱ(40) + + + 疯狂小糖Ⅱ(41) + + + 疯狂小糖Ⅱ(42) + + + 麦晴天-渔歌子 + + + 疯狂小糖Ⅱ(43) + + + 疯狂小糖Ⅱ(44) + + + 疯狂小糖Ⅱ(45) + + + 疯狂小糖Ⅱ(46) + + + 疯狂小糖Ⅱ(47) + + + 疯狂小糖Ⅱ(48) + + + 疯狂小糖Ⅱ(49) + + + 疯狂小糖Ⅱ(50) + + + 疯狂小糖Ⅱ(51) + + + 疯狂小糖Ⅱ(52) + + + 猪猪侠之超星五灵侠Ⅴ(13) + + + 猪猪侠之超星五灵侠Ⅴ(14) + + + 猪猪侠之超星五灵侠Ⅴ(15) + + + 猪猪侠之超星五灵侠Ⅴ(16) + + + 猪猪侠之超星五灵侠Ⅴ(17) + + + 猪猪侠之超星五灵侠Ⅴ(18) + + + 猪猪侠之超星五灵侠Ⅴ(19) + + + 猪猪侠之超星五灵侠Ⅴ(20) + + + 喜羊羊与灰太狼之勇闯四季城(29) + + + 四川乡村 + + + 沸腾吧乡村 + + + 致富牛人 + + + 金字招牌 + + + 乡村大讲堂经典版 + + + 乡村故事 + + + 乡村故事 + + + 乡村故事 + + + 乡村故事 + + + 乡村会客厅/乡村大篷车 + + + 沸腾吧乡村 + + + 致富牛人 + + + 金字招牌 + + + 美丽乡村 + + + 乡村大讲堂经典版 + + + 金字招牌 + + + 乡村会客厅/乡村大篷车 + + + 沸腾吧乡村 + + + 乡村故事 + + + 乡村故事 + + + 夺粮剿匪记(4) + + + 夺粮剿匪记(5) + + + 乡村会客厅/乡村大篷车 + + + 沸腾吧乡村 + + + 夺粮剿匪记(6) + + + 夺粮剿匪记(7) + + + 夺粮剿匪记(8) + + + 夺粮剿匪记(9) + + + 乡村故事/健康四川 + + + 四川乡村新闻 + + + 沸腾吧乡村 + + + 家有大姐(6) + + + 家有大姐(7) + + + 家有大姐(8) + + + 乡村故事 + + + 四川乡村新闻 + + + 四川卫视 + + + 偶像剧场:扫黑风暴(19) + + + 偶像剧场:扫黑风暴(20) + + + 偶像剧场:扫黑风暴(21) + + + 记录时间 + + + 记录时间 + + + 偶像剧场:扫黑风暴(22) + + + 偶像剧场:扫黑风暴(23) + + + 偶像剧场:扫黑风暴(24) + + + 纪录片 + + + 早安四川 + + + 世界遗产5A旅游区气象信息 + + + 喜剧班的春天 + + + 动画片剧场 + + + 食心食意 + + + 真情剧场:五号特工组之偷天换月(2) + + + 真情剧场:五号特工组之偷天换月(3) + + + 真情剧场:五号特工组之偷天换月(4) + + + 真情剧场:五号特工组之偷天换月(5) + + + 午间气象播报 + + + 真情剧场:五号特工组之偷天换月(6) + + + 真情剧场:五号特工组之偷天换月(7) + + + 真情剧场:五号特工组之偷天换月(8) + + + 真情剧场:五号特工组之偷天换月(9) + + + 真情剧场:五号特工组之偷天换月(10) + + + 真情剧场:五号特工组之偷天换月(11) + + + 今日视点 + + + 四川新闻联播 + + + 四川天气预报 + + + 转播中央新闻联播 + + + 合家欢剧场:孤舟(23) + + + 合家欢剧场:孤舟(24) + + + 了不起的分享 + + + 四川新闻联播 + + + 等着我 + + + 旅游风景区天气预报 + + + 偶像剧场:扫黑风暴(25) + + + 四川妇女儿童 + + + 青少节目带 + + + 金熊猫说教育 + + + 节目循环滚动播出 + + + 节目循环滚动播出 + + + 节目循环滚动播出 + + + 美丽四川风光片、中国梦MV + + + 剧场 + + + 剧场 + + + 等着我 + + + 等着我 + + + 大英雄(37) + + + 大英雄(38) + + + 大英雄(39) + + + 大英雄(40) + + + 大英雄(41) + + + 卡通联播 + + + 青少节目带 + + + 等着我 + + + 破阵(16) + + + 破阵(17) + + + 破阵(18) + + + 四川影视文艺 + + + 冲破特训营(30) + + + 红岩下的追捕(23) + + + 红岩下的追捕(24) + + + 天怒1931(1) + + + 天怒1931(2) + + + 天怒1931(3) + + + 天怒1931(3) + + + 天怒1931(4) + + + 天怒1931(5) + + + 天怒1931(6) + + + 猎鹰1949(11) + + + 猎鹰1949(11) + + + 猎鹰1949(12) + + + 猎鹰1949(13) + + + 猎鹰1949(14) + + + 猎鹰1949(15) + + + 猎鹰1949(16) + + + 猎鹰1949(17) + + + 猎鹰1949(18) + + + 猎鹰1949(19) + + + 猎鹰1949(20) + + + 军统枪口下的女人之潜伏(7) + + + 军统枪口下的女人之潜伏(8) + + + 冲破特训营(30) + + + 冲破特训营(31) + + + 冲破特训营(32) + + + 冲破特训营(33) + + + 四川文化旅游 + + + 麻辣烫 + + + 文旅大视界 + + + 纪录之窗 + + + 安逸的旅途 + + + 地名天府Ⅳ + + + 好戏天天看 + + + 安逸的旅途 + + + 安逸的旅途 + + + 纪录之窗 + + + 地名天府Ⅳ + + + 麻辣烫 + + + 好戏天天看 + + + 运动+大时段 + + + 好戏天天看 + + + 好戏天天看 + + + 天天耍大牌 + + + 刀客家族的女人(43) + + + 刀客家族的女人(44) + + + 归途(1) + + + 归途(2) + + + 归途(3) + + + 归途(4) + + + 归途(5) + + + 归途(6) + + + 四川文旅报道 + + + 纪录之窗 + + + 熊猫观察 + + + 吃八方 + + + 麻辣烫 + + + 贤妻良母(18) + + + 贤妻良母(19) + + + 贤妻良母(20) + + + 麻辣烫 + + + 四川新闻 + + + 1800新闻现场 + + + 医生来了 + + + 晚报十点半 + + + 晚报十点半 + + + 1800新闻现场 + + + 黄金三十分 + + + 早安四川 + + + 商务节目 + + + 1800新闻现场 + + + 现场快报 + + + 商务节目 + + + 现场快报 + + + 黄金三十分 + + + 商务节目 + + + 1200新闻现场 + + + 商务节目 + + + 黄金三十分 + + + 现场快报 + + + 商务节目 + + + 现场快报 + + + 商务节目 + + + 全媒直播间 + + + 商务节目 + + + 现场快报 + + + 1800新闻现场 + + + 黄金三十分 + + + 全媒直播间 + + + 四川科教 + + + 天府视窗 + + + 天府视窗 + + + 天府视窗 + + + 天府视窗 + + + 四川教育新闻 + + + 高考360 + + + 校园全媒体 + + + 科教节目 + + + 夺金战(12) + + + 夺金战(13) + + + 夺金战(14) + + + 夺金战(15) + + + 夺金战(16) + + + 夺金战(17) + + + 夺金战(18) + + + 奇趣大自然 + + + 优秀动画片展播 + + + 转播中央台新闻联播 + + + 四川教育新闻 + + + 高考360 + + + 科教节目 + + + 魅力职教 + + + 四川教育新闻 + + + 高考360 + + + 铁道游击队(14) + + + 铁道游击队(15) + + + 四川经济 + + + 纪录之窗 + + + 消费新观察 + + + 小店故事 + + + 今日视点 + + + 财富故事会 + + + 消费新观察 + + + 安逸的旅途 + + + 小店故事 + + + 消费主张 + + + 消费主张 + + + 今日视点 + + + 天天耍大牌 + + + 消费新观察 + + + 小店故事 + + + 安逸的旅途 + + + 今日视点 + + + 消费主张 + + + 财富故事会 + + + 财富故事会 + + + 消费新观察 + + + 小店故事 + + + 金子(17) + + + 金子(18) + + + 金子(19) + + + 金子(20) + + + 金子(21) + + + 金子(22) + + + 金子(23) + + + 金子(24) + + + 隋唐英雄Ⅰ(14) + + + 隋唐英雄Ⅰ(15) + + + 消费新观察 + + + 瞧,桥 + + + 等着我 + + + 吃八方 + + + 天天耍大牌 + + + 今日视点 + + + 四海钓鱼 + + + 频道宣传 + + + 渔乐地图:红旗水库 + + + 展会进行时 + + + 钓界新声:小河大鲤鱼 + + + 频道宣传投稿 + + + 渔乐前沿:天津沙沙麦比赛 + + + 展会进行时 + + + 游钓中国 + + + 钓赛最前线:第五届华东钓王赛 + + + 钓赛最前线:第五届华东钓王赛 + + + 钓赛最前线:挑天杯直播 + + + 钓赛最前线:挑天杯直播 + + + 钓赛最前线:挑天杯直播 + + + 钓赛最前线:天翼杯直播 + + + 频道宣传 + + + 渔乐地图:红旗水库 + + + 钓赛最前线:温宿钓赛CAA + + + 钓赛最前线:黄桥钓赛CAA + + + 钓赛最前线:疏勒钓赛CAA + + + 频道宣传 + + + 钓赛最前线:紫蒙湖杯 + + + 渔乐地图:红旗水库 + + + 展会进行时 + + + 频道宣传投稿 + + + 展会进行时 + + + 钓界新声:路亚鰤鱼 + + + 钓赛最前线:升钟湖钓赛 + + + 频道宣传 + + + 渔乐前沿:天津沙沙麦比赛 + + + 渔乐地图:红旗水库 + + + 展会进行时 + + + 恩施宣传片 + + + 钓赛最前线:紫蒙湖杯 + + + 寻参记 + + + 频道宣传 + + + 钓赛最前线:托克托休闲垂钓大赛 + + + 渔乐地图:红旗水库 + + + 钓赛最前线:挑天杯直播 + + + 钓赛最前线:挑天杯直播 + + + 游钓中国 + + + 寻参记 + + + 钓赛最前线:挑天杯直播 + + + 寻参记 + + + 频道宣传 + + + 渔乐地图:红旗水库 + + + 钓赛最前线:全能王上海 + + + 钓赛最前线:青岛少海杯 + + + 恩施宣传片 + + + 展会进行时 + + + 钓赛最前线:紫蒙湖杯 + + + 钓赛最前线:升钟湖钓赛 + + + 寻参记 + + + 游钓中国 + + + 频道宣传 + + + 渔乐地图:红旗水库 + + + 恩施宣传片 + + + 钓赛最前线:紫蒙湖杯 + + + 频道宣传投稿 + + + 渔乐前沿:天津沙沙麦比赛 + + + 展会进行时 + + + 频道宣传 + + + 渔乐地图:红旗水库 + + + 钓赛最前线:洛南CAA + + + 钓界新声:我的中国钓鱼朋友 + + + 钓赛最前线:江苏太仓 + + + 频道宣传 + + + 国会频道1 + + + 經濟委員會 + + + 經濟委員會 + + + 黨團協商 + + + 週一會議預報 + + + 立法院會議直播 + + + 當日立法院會議轉播 + + + 国会频道2 + + + 教育及文化委員會 + + + 交通委員會 + + + 交通委員會 + + + 司法及法制委員會 + + + 週一會議預報 + + + 立法院會議直播 + + + 當日立法院會議轉播 + + + 国学 + + + 国学公开课-韩非子01 + + + 国学半小时-弟子规01 + + + 文化中国 + + + 岁月丹青-新01 + + + 论古今-用好周易01 + + + 书画大讲堂-方梅01 + + + 书画大讲堂-方梅02 + + + 诗情画意(二)01 + + + 国学公开课-韩非子01 + + + 国学半小时-弟子规01 + + + 文化中国 + + + 岁月丹青-新01 + + + 论古今-用好周易01 + + + 书画大讲堂-方梅01 + + + 书画大讲堂-方梅02 + + + 诗情画意(二)01 + + + 国学公开课-韩非子01 + + + 国学半小时-弟子规01 + + + 文化中国 + + + 国学半小时-插播20 + + + 论古今-用好周易01 + + + 国学半小时-插播30 + + + 书画大讲堂-方梅02 + + + 国风文脉-小课堂 + + + 国风文脉-小课堂 + + + 国学半小时-插播30 + + + 国风文脉-欣赏 + + + 国风文脉-欣赏 + + + 论古今-用好周易02 + + + 名家讲堂-历史人物01 + + + 名家讲堂-历史人物02 + + + 国风文脉-小课堂 + + + 国风文脉-小课堂 + + + 国画云课堂-崔晓东01 + + + 国学半小时-插播20 + + + 岁月丹青-新02 + + + 每日垫片 + + + 书画大讲堂-方梅02 + + + 国学半小时-插播(二) + + + 诗情画意(二)02 + + + 国学半小时-插播(二) + + + 国风文脉-欣赏 + + + 国学半小时-插播(二) + + + 国学公开课-韩非子01 + + + 名家讲堂-历史人物01 + + + 国风文脉-欣赏 + + + 国风文脉-欣赏 + + + 国家地理高清 + + + 猩猩成长记第1季第3集-成长之痛 + + + 深入澳大利亚第1季第1集-热带海岸 + + + 深入澳大利亚第1季第2集-冷水南岸 + + + 深入澳大利亚第1季第3集-狂野西澳 + + + 野性汪洋第1季第1集-科科岛 + + + 野性汪洋第1季第2集-索哥罗岛 + + + 动物小儿科第2季第1集-代父母 + + + 饥饿游戏:阿拉斯加的大熊挑战第1季第1集-欢迎来到苔原 + + + 饥饿游戏:阿拉斯加的大熊挑战第1季第2集-鲑鱼大战 + + + 美洲豹日志第1季第2集-守口如瓶 + + + 朝暮动物志第1季第1集-新世界的大热天 + + + 朝暮动物志第1季第2集-亚洲最长的一天 + + + 野小子第1季第1集-非洲野犬赖卡 + + + 动物知心友第1季第1集-莎米、罗斯与凯西 + + + 饥饿游戏:阿拉斯加的大熊挑战第1季第1集-欢迎来到苔原 + + + 饥饿游戏:阿拉斯加的大熊挑战第1季第2集-鲑鱼大战 + + + 猩猩成长记第1季第2集-信赖我 + + + 朝暮动物志第1季第1集-新世界的大热天 + + + 朝暮动物志第1季第2集-亚洲最长的一天 + + + 野小子第1季第1集-非洲野犬赖卡 + + + 饥饿游戏:阿拉斯加的大熊挑战第1季第1集-欢迎来到苔原 + + + 饥饿游戏:阿拉斯加的大熊挑战第1季第2集-鲑鱼大战 + + + 美洲豹日志第1季第2集-守口如瓶 + + + 朝暮动物志第1季第1集-新世界的大热天 + + + 朝暮动物志第1季第2集-亚洲最长的一天 + + + 饥饿游戏:阿拉斯加的大熊挑战第1季第1集-欢迎来到苔原 + + + 饥饿游戏:阿拉斯加的大熊挑战第1季第2集-鲑鱼大战 + + + 大湾区卫视 + + + 七十二家房客13(74) + + + 湾区文化坊:抉择(下) + + + 笑口组:公交电梯 + + + 我爱返寻味:东莞陈皮腊肠 + + + 湾区最新闻 + + + 七十二家房客13(75) + + + 七十二家房客13(76) + + + 七十二家房客13(77) + + + 七十二家房客13(78) + + + 七十二家房客13(79) + + + 七十二家房客13(80) + + + 七十二家房客13(81) + + + 七十二家房客13(82) + + + 七十二家房客13(83) + + + 笑口组:姐妹脱身手册 + + + 我爱返寻味:东莞陈皮腊肠 + + + 城事特搜 + + + 笑口组:公交电梯 + + + 七十二家房客13(88) + + + 每日运动派:拉伸真舒适(5) + + + 每日运动派:健身第一次(1) + + + 七十二家房客13(89) + + + 七十二家房客13(90) + + + 七十二家房客13(91) + + + 七十二家房客13(92) + + + 七十二家房客13(93) + + + 七十二家房客13(94) + + + 七十二家房客13(95) + + + 七十二家房客13(96) + + + 七十二家房客13(97) + + + 七十二家房客13(98) + + + 七十二家房客13(99) + + + 七十二家房客13(100) + + + 七十二家房客13(101) + + + 七十二家房客13(102) + + + 笑口组:避无可避 + + + 城事特搜 + + + 我爱返寻味:祺海水产 + + + 湾区最新闻 + + + 笑口组:避无可避 + + + 七十二家房客17:一笔私藏钱 + + + 七十二家房客17(94):炳的宴席 + + + 七十二家房客13(88) + + + 七十二家房客13(89) + + + 七十二家房客13(90) + + + 每日运动派:拉伸真舒适(5) + + + 每日运动派:健身第一次(1) + + + 纪录·在路上:广西旅行N次方(5) + + + 七十二家房客13(91) + + + 七十二家房客13(92) + + + 大湾区卫视海外版 + + + 湾区文化坊 + + + 我爱返寻味 + + + 湾区最新闻 + + + 午夜经典剧场 + + + 每日运动派 + + + 湾区文化坊 + + + 国歌 + + + 我爱返寻味 + + + 笑口组 + + + 城事特搜 + + + 经典剧场 + + + 笑口组 + + + 城事特搜 + + + 我爱返寻味 + + + 直播:湾区最新闻 + + + 晚间剧场 + + + 纪录中国 + + + 湾区生活带 + + + 老友剧场 + + + 大连文体 + + + 精彩呈现 + + + 重播步步为赢 + + + 重播文体连连看 + + + 重播滚子公开课 + + + 重播步步为赢 + + + 首播健康万家 + + + 重播文体连连看 + + + 重播滚子公开课 + + + 重播文体连连看 + + + 重播滚子公开课 + + + 重播步步为赢 + + + 首播健康万家 + + + 重播文体连连看 + + + 重播滚子公开课 + + + 首播健康万家 + + + 首播文体连连看 + + + 首播步步为赢 + + + 首播滚子公开课 + + + 重播文体连连看 + + + 重播步步为赢 + + + 大连新闻综合 + + + 精彩呈现 + + + 重播媒体经纬度 + + + 重播新闻背后 + + + 首播早安大连 + + + 首播健康魔方 + + + 首播健康魔方 + + + 首播健康对话 + + + 也平凡(18) + + + 首播健康对话 + + + 重播媒体经纬度 + + + 重播新闻背后 + + + 首播健康魔方 + + + 风吹半夏(2) + + + 风吹半夏(3) + + + 首播健康对话 + + + 风吹半夏(4) + + + 直播新闻晚高峰 + + + 转播辽宁新闻 + + + 转播中央台新闻联播 + + + 直播大连新闻 + + + 蓝焰突击(4) + + + 蓝焰突击(5) + + + 纪录片我是你的瓷儿(3) + + + 展播纪录片我的抗美援朝(1) + + + 重播新闻晚高峰 + + + 重播大连新闻 + + + 大连生活 + + + 精彩呈现 + + + 重播三创直播室 + + + 重播有医说医(周六版) + + + 重播大连好生活 + + + 重播卫民有医技 + + + 首播健康万家 + + + 重播小螺号 + + + 首播健康万家 + + + 麓山之歌(25) + + + 麓山之歌(26) + + + 首播健康万家 + + + 重播七月 + + + 重播有医说医(周五版) + + + 重播大连好生活 + + + 首播快乐驿站 + + + 重播有医说医(周五版) + + + 重播三创直播室 + + + 首播健康万家 + + + 重播大连好生活 + + + 海底小纵队在中国中国之旅(11-14) + + + 首播小螺号 + + + 首播民生大连 + + + 首播大连好生活 + + + 首播有医说医 + + + 麓山之歌(27) + + + 麓山之歌(28) + + + 重播民生大连 + + + 重播大连好生活 + + + 重播有医说医 + + + 重播大连新闻 + + + 天元围棋 + + + 棋局诊断室 + + + 赛事精选 + + + 赛事精选 + + + 测试卡 + + + 测试卡 + + + 测试卡 + + + 棋坛风云 + + + 打入与侵消 + + + 时局精解 + + + 新棋思妙想 + + + 棋坛风云 + + + 赛事精选 + + + 赛事精选 + + + 棋局诊断室 + + + 棋坛风云 + + + 围棋节目 + + + 棋坛风云 + + + 时局精解 + + + 赛事直播 + + + 赛事精选 + + + 赛事精选 + + + 围棋节目 + + + 棋局诊断室 + + + 打入与侵消 + + + 新棋思妙想 + + + 棋坛风云 + + + 时局精解 + + + 赛事精选 + + + 赛事精选 + + + 围棋节目 + + + 棋坛风云 + + + 天映CM+ + + + 不是你不爱你 + + + 梅兰芳 + + + 一代宗师 + + + 赌城风云 III + + + 无间一战 + + + 我和我的父辈 + + + 盗贼同盟 + + + 看不见的爱 + + + 阴目侦信 + + + B+侦探 + + + 赏金猎人 + + + 正义回廊 + + + 天映印度尼西亚 + + + 神探蒲松龄 + + + 第一炉香 + + + 恶战 + + + 逆向诱拐 + + + 莫斯科行动 + + + 金钱帝国 + + + 幻爱 + + + 头文字 D + + + 老狐狸 + + + ⿁地⽅ + + + 天映新加坡 + + + 珠光宝气 + + + 导火线 + + + 慌心假期 + + + 头文字 D + + + 女人心 + + + 赌侠2002 + + + 天官赐福 + + + 表错七日情 + + + 射鵰英雄传之东成西就 + + + 摩登仙履奇缘 + + + 文雀 + + + 鬼眼刑警 + + + 出埃及记 + + + 爱的世界 + + + 天映经典 + + + 火并 + + + 杨贵妃 + + + 江湖汉子 + + + 血符门 + + + 天涯明月刀 + + + 亚洲秘密警察 + + + 燕娘 + + + 人皮灯笼 + + + 新不了情 + + + 大军阀 + + + 少林子弟 + + + 花田错 + + + 游侠情 + + + 蝙蝠传奇 + + + 天映马来西亚 + + + 烂赌夫斗烂赌妻 + + + 金钱帝国: 追虎擒龙 + + + 靠近我一点. + + + 我要做特务 + + + 一秒钟 + + + 扫毒3:人在天涯 + + + 老狐狸 + + + 东邪西毒: 终极版 + + + 分手说爱你 + + + S风暴 + + + 深夜食堂 + + + 手捲烟 + + + 致命24小时 + + + 天津体育 + + + 体育赛事 + + + 体坛新视野 + + + 棒球周刊 + + + 旗开得胜 + + + 体育赛事 + + + 体育赛事 + + + 天视体育新闻 + + + 旗开得胜 + + + 拳力争胜 + + + 实况录像 + + + 体育赛事 + + + 体育赛事 + + + 旗开得胜 + + + 体坛新视野 + + + 权健时间 + + + 体育旅行家 + + + 健康走走走 + + + 中超集锦 + + + 科学健身一点通 + + + 一马当先 + + + 牌王争霸赛 + + + 英超精选 + + + 天津卫视 + + + 通宵剧场:哈尔滨一九四四(30) + + + 通宵剧场:哈尔滨一九四四(31) + + + 非你莫属 + + + 幸福来敲门 + + + 通宵剧场:哈尔滨一九四四(32) + + + 通宵剧场:哈尔滨一九四四(33) + + + 拾遗保护 + + + 纪录片 + + + 津晨播报 + + + 津晨天气 + + + 食来运转 + + + 动画片剧场 + + + 休闲剧场:父母爱情(6) + + + 休闲剧场:父母爱情(7) + + + 休闲剧场:父母爱情(8) + + + 12点报道 + + + 午间旅游气象 + + + 食来运转 + + + 休闲剧场:父母爱情(9) + + + 休闲剧场:父母爱情(10) + + + 休闲剧场:父母爱情(11) + + + 休闲剧场:父母爱情(12) + + + 休闲剧场:父母爱情(13) + + + 天津新闻 + + + 天津天气预报 + + + 转播中央电视台新闻联播 + + + 快乐生活剧场:南来北往(19) + + + 快乐生活剧场:南来北往(20) + + + 非你莫属 + + + 非你莫属 + + + 跨时代战书 + + + 财经视界 + + + 天津少儿 + + + 结束 + + + 多派玩儿动画 + + + 多派玩儿动画 + + + C炫风放映厅 + + + 哎呦妈呀 + + + 番茄生活王(重) + + + 多派玩儿动画 + + + 音乐大师课4 + + + 多派玩儿动画 + + + 糖心家族 + + + 多派玩儿动画 + + + C炫风旗舰店 + + + 多派玩儿动画 + + + C炫风放映厅 + + + C炫风旗舰店 + + + 多派玩儿动画 + + + 多派玩儿动画 + + + 番茄生活王 + + + 哎呦妈呀 + + + 锋狂实验室 + + + 多派玩儿动画 + + + 天津影视 + + + 傍晚剧场重播 + + + 晚八点剧场重播 + + + 上午剧场重播 + + + 上午剧场 + + + 中午剧场 + + + 午后剧场 + + + 傍晚剧场 + + + 晚八点剧场 + + + 晚间剧场 + + + 天津教育 + + + 寰宇地理 + + + 有一说一 + + + 新说法 + + + 真相 + + + 今日开庭 + + + 寰宇地理 + + + 传奇 + + + 有一说一 + + + 说一不二 + + + 寰宇地理 + + + 传奇 + + + 法治中国60分 + + + 今日开庭 + + + 寰宇地理 + + + 传奇 + + + 有一说一 + + + 真相 + + + 法治中国60分 + + + 法眼 + + + 今日开庭 + + + 警方报道 + + + 真相 + + + 寰宇地理 + + + 谜案100 + + + 有一说一 + + + 今日开庭 + + + 说一不二 + + + 新说法 + + + 法眼大律师 + + + 真相 + + + 科教新气象 + + + 有一说一 + + + 我爱我家 + + + 法治中国60分 + + + 科教新气象 + + + 说一不二 + + + 传奇 + + + 天津文艺 + + + 多彩剧场 + + + 京剧音配像 + + + 每日笑吧 + + + 每日笑吧 + + + 天津知多少 + + + 多彩剧场 + + + 每日笑吧 + + + 文化关注 + + + 专题 + + + 幸福剧场 + + + 相声大会 + + + 每日笑吧 + + + 文化关注 + + + 多彩剧场 + + + 天津知多少 + + + 脱口而出 + + + 档案 + + + 每日笑吧 + + + 天津新闻 + + + 第1观察 + + + 热播1小时 + + + 津晨播报 + + + 新闻早动员 + + + 新闻这1刻 + + + 12点报道 + + + 新拍客 + + + 警方报道 + + + 第1观察 + + + 先行1步 + + + 新闻这1刻 + + + 时代智商 + + + 新拍客 + + + 热播1小时 + + + 都市报道60分 + + + 第1观察 + + + 喜从天降 + + + 天津新闻 + + + 今日谈 + + + 网罗天下 + + + 喜从天降 + + + 新拍客 + + + 晚间新闻 + + + 都市报道60分 + + + 天津都市 + + + 午夜剧场 + + + 午夜剧场 + + + 家居大变身 + + + 艺品藏拍 + + + 美食新气象 + + + 我们都是消费者周末版 + + + 专题栏目 + + + 食全食美 + + + 生活大参考 + + + 情感面对面 + + + 知音人间 + + + 快乐生活一点通 + + + 专题栏目 + + + 我的选择 + + + 知音人间 + + + 都市正午剧场 + + + 专题栏目 + + + 都市正午剧场 + + + 美食新气象 + + + 快乐生活一点通 + + + 情感面对面 + + + 我们都是消费者周末版 + + + 生活大参考 + + + 我的选择 + + + 知音人间 + + + 情感面对面 + + + 食全食美 + + + 我们都是消费者 + + + 美食大搜索 + + + 快乐生活一点通 + + + 都市新气象 + + + 都市生活剧场 + + + 拾遗保护 + + + 美食大搜索 + + + 天龙八部集 + + + 女人不坏 + + + 盗皇陵(普通话) + + + 刺马 + + + 无双 + + + 少林寺 + + + 门徒 + + + 霸王别姬 + + + 垂帘听政 + + + 大红灯笼高高挂 + + + 龙门客栈 + + + 画皮 + + + 女人不坏 + + + 盗皇陵(普通话) + + + 刺马 + + + 太原影视 + + + 寰宇地理 + + + 健康之路 + + + 凌晨剧场 + + + 影视巨精彩 + + + 寰宇地理 + + + 健康之路 + + + 上午剧场 + + + 老梁说天下 + + + 影视巨精彩 + + + 下午剧场 + + + 健康之路 + + + 老梁说天下 + + + 传奇剧场一 + + + 影视巨精彩之巨有礼 + + + 传奇剧场 + + + 影视巨精彩 + + + 老梁说天下 + + + 太原教育 + + + 影视艺术赏析 + + + 大家学英语 + + + 高端培训 + + + 并州大课堂 + + + 亲子关系 + + + 车源俱乐部 + + + 食在龙城 + + + 卡通派 + + + 新闻直通车 + + + 影视艺术 + + + 前沿 + + + 健康时空 + + + 卡通派 + + + 名师讲坛 + + + 江南 + + + 品书论画 + + + 新闻直通车 + + + 财智人生 + + + 教育大家谈 + + + 青春红绿灯 + + + 小记者 + + + 食在龙城 + + + 影视艺术赏析 + + + 太原新闻综合 + + + 新闻对话 + + + 早间新闻 + + + 上午剧场 + + + 午间新闻 + + + 城市大通道 + + + 下午剧场 + + + 太原新闻 + + + 晚间剧场 + + + 新闻对话 + + + 太原百姓 + + + 生活新发现 + + + 养生堂 + + + 今日交通 + + + 我的选择 + + + 旅行者 + + + 生活新发现 + + + 快乐生活一点通 + + + 健康时间 + + + 综艺节目 + + + 健康时间 + + + 养生堂 + + + 生活新发现 + + + 综艺节目 + + + 生活享当当 + + + 健康时间 + + + 养生堂 + + + 快乐生活一点通 + + + 百姓故事会 + + + 生活新发现 + + + 今日交通 + + + 我的选择 + + + 太原新闻 + + + 人间春色 + + + 快乐生活一点通 + + + 第一房产 + + + 旅行者 + + + 太原社教法制 + + + 经济人物/龙城检察 + + + 法制凌晨专题一 + + + DISCOVERY + + + 法制凌晨专题二 + + + 案道 + + + 百姓说法 + + + 法制晨间专题 + + + 并州之剑 + + + 龙城哨位15 + + + 精品剧场 + + + 并州之剑 + + + 法制导视 + + + 法治中国60 + + + 百姓说法 + + + 案道 + + + 第一房产 + + + 龙城哨位15 + + + 经济人物/龙城检察 + + + 案道 + + + 法治中国60 + + + 并州之剑 + + + 百姓说法 + + + 有话好好说 + + + 法治中国60 + + + 并州之剑 + + + 央视台球 + + + 实况录像-2023/2024赛季世界斯诺克巡回赛威尔士公开赛 3 + + + 实况录像-2023/2024赛季世界斯诺克巡回赛威尔士公开赛 决赛 + + + 实况录像-2018年斯诺克王中王赛 塞尔比的147 + + + )实况录像-2012/2013赛季斯诺克威尔士公开赛精选1 + + + 实况录像-2015/2016赛季斯诺克威尔士公开赛 丁俊晖147 + + + 赛场直击-2023年中式台球大师赛-齐齐哈尔站 郑宇伯-赵汝亮-1 + + + 赛场直击-2023年中式台球大师赛-齐齐哈尔站 郑宇伯-赵汝亮-2 + + + 实况录像-2023年世界斯诺克巡回赛 国际锦标赛 张安达的147 + + + 实况录像-2023年世界斯诺克巡回赛 国际锦标赛 5 + + + 实况录像-2012/2013赛季斯诺克英国锦标赛精选1 + + + 实况录像-2015/2016赛季斯诺克威尔士公开赛 丁俊晖147 + + + 赛场直击-2022年世界斯诺克锦标赛半决赛第四阶段1 特鲁姆普-马克·威廉姆斯 + + + 赛场直击-2022年世界斯诺克锦标赛半决赛第四阶段2 特鲁姆普-马克·威廉姆斯 + + + 实况录像-2013/2014斯诺克威尔士公开赛精选2 + + + 实况录像-2019/2020赛季斯诺克英国锦标赛第四轮 丁俊晖-奥沙利文 + + + 实况录像-2023/2024赛季世界斯诺克巡回赛威尔士公开赛 3 + + + 实况录像-2023/2024赛季世界斯诺克巡回赛威尔士公开赛 决赛 + + + 实况录像-2022/2023赛季斯诺克英国锦标赛 1 + + + 实况录像-2023/2024赛季世界斯诺克大师赛 马克·艾伦的147 + + + 实况录像-2024/2025赛季斯诺克武汉公开赛 斯佳辉的147 + + + 赛场直击-2021年世界斯诺克英国锦标赛第四轮(1) 奥沙利文-桑坎姆 + + + 赛场直击-2021年世界斯诺克英国锦标赛第四轮(2) 奥沙利文-桑坎姆 + + + 央视文化精品 + + + 百家讲坛-2022-218 諲 + + + 探索·发现-2022-314 諲 + + + 回家吃饭-2023-67 + + + 健康之路-2023-10 + + + 视频2023-326 + + + 特别呈现2023-275 + + + 活力·源2023-284 + + + 探索·发现-2022-314 + + + 百家讲坛-2022-218 + + + 诗画中国-8 + + + 特别呈现2023-275 + + + 活力·源2023-284 + + + 探索·发现-2022-314 + + + 百家讲坛-2022-218 + + + 诗画中国-8 + + + 回家吃饭-2023-78 + + + 健康之路-2023-11 + + + 开讲啦-2023-45 + + + 视频2024-244 + + + 诗画中国-9 + + + 活力·源2023-121 + + + 百家讲坛-2022-219 + + + 视频2024-244 + + + 探索·发现-2022-241 + + + 健康之路-2023-11 + + + 百家讲坛-2022-219 + + + 央视精品 + + + 百家讲坛-2022-218 諲 + + + 探索·发现-2022-314 諲 + + + 回家吃饭-2023-67 + + + 健康之路-2023-10 + + + 视频2023-326 + + + 特别呈现2023-275 + + + 活力·源2023-284 + + + 探索·发现-2022-314 + + + 百家讲坛-2022-218 + + + 诗画中国-8 + + + 特别呈现2023-275 + + + 活力·源2023-284 + + + 探索·发现-2022-314 + + + 百家讲坛-2022-218 + + + 诗画中国-8 + + + 回家吃饭-2023-78 + + + 健康之路-2023-11 + + + 开讲啦-2023-45 + + + 视频2024-244 + + + 诗画中国-9 + + + 活力·源2023-121 + + + 百家讲坛-2022-219 + + + 视频2024-244 + + + 探索·发现-2022-241 + + + 健康之路-2023-11 + + + 百家讲坛-2022-219 + + + 女性时尚 + + + 健身动起来-2024-5 + + + 回家吃饭-2023-95 + + + 欢乐大猜想-2024-9 + + + 正大综艺-动物来啦2022-10 + + + 世界地理50’-动物园的秘密生活 第8集 + + + 绽放吧!妈妈-8 鴺 + + + 时尚科技秀-2024-249 鴺 + + + 健身动起来-2023-16 + + + 欢乐大猜想-2023-50 + + + 心理访谈-2024-32 + + + 回家吃饭-2023-97 + + + 欢乐大猜想-2024-8 + + + 021秘密大改造(第五季)-9 絺 + + + 回家吃饭-2023-105 絺 + + + 欢乐大猜想-2023-1 + + + 正大综艺-动物来啦2021-2 + + + 绽放吧!妈妈-1 羶 + + + 世界地理50’-动物园的秘密生活 第8集 羶 + + + )尚峰汇-新手妈妈的朋友圈-2024-1 + + + )尚峰汇-新手妈妈的朋友圈-2024-2 + + + 时尚科技秀-2024-215 + + + 健身动起来-2023-17 涺 + + + 世界地理50’-动物园的秘密生活 第1集 涺 + + + 心理访谈-2023-42 + + + !2021秘密大改造(第五季)-10 + + + 回家吃饭-2023-107 + + + 宁夏公共 + + + 医生到你身边 + + + 平安119 + + + 每日文娱播报 + + + 测试卡开始曲 + + + 宁夏新闻联播 + + + 天气预报 + + + 直播60分 + + + 经典剧场 + + + 医生到你身边 + + + 午间新闻 + + + 直播60分 + + + 阳光汇 + + + 每日文娱播报 + + + 情感剧场:潜伏在黎明之前 + + + 阳光汇 + + + 法治中国60分 + + + 直播60分 + + + 哈喜喜扯磨 + + + 宁夏新闻联播 + + + 新闻话题 + + + 天气预报 + + + 黄金剧场 + + + 不忘初心 继续前进 + + + 今晚播报 + + + 阳光汇 + + + 天气预报 + + + 宁夏新闻联播 + + + 直播60分 + + + 宁夏卫视 + + + 鸡毛飞上天(23) + + + 鸡毛飞上天(24) + + + 记住乡愁8 + + + 百年巨匠2:文学篇-季羡林 + + + 品牌宁夏 + + + 两晒一促4,乡村的叙述 + + + 乡村的叙述 + + + 李卫当官2(18) + + + 李卫当官2(19) + + + 李卫当官2(20) + + + 百年巨匠:美术篇-齐白石 + + + 中华人民共和国国歌 + + + 宁夏新闻联播 + + + 新闻早点到 + + + 品牌宁夏 + + + 天下剧场:闯关东(67) + + + 天下剧场:闯关东(68) + + + 天下剧场:闯关东(69) + + + 天下剧场:闯关东(70) + + + 真相百分百 + + + 品牌宁夏 + + + 新闻正点击 + + + 温情剧场:闯关东(71) + + + 温情剧场:闯关东(72) + + + 温情剧场:闯关东(73) + + + 温情剧场:闯关东(74) + + + 温情剧场:闯关东(75) + + + 萌马吼吼(15) + + + 冰雪守护者2(4) + + + 冰雪守护者2(5) + + + 品牌宁夏 + + + 宁夏天气预报 + + + 宁夏新闻联播 + + + 转播中央台新闻联播 + + + 品牌宁夏 + + + 家和剧场:于成龙(1) + + + 家和剧场:于成龙(2) + + + 宁夏新闻联播 + + + 天气预报 + + + 百家新说 + + + 新闻话题 + + + 鸡毛飞上天(25) + + + 鸡毛飞上天(26) + + + 宁夏少儿 + + + 青春剧场 + + + 动画连连看 + + + 传奇 + + + 成长帮帮堂 + + + PK先锋551 + + + 电视剧剧场 + + + 欢乐影院 + + + 动画片剧场 + + + 成长帮帮堂 + + + PK先锋 + + + 丁点真相 + + + 欢乐影院 + + + 青春剧场 + + + 宁夏教育 + + + 中国旅游 + + + 一周要闻 + + + 创未来 + + + 健康之路 + + + 传奇 + + + 电视剧剧场 + + + 人文中国 + + + 动画片 + + + 一周要闻 + + + 创未来 + + + 品质 + + + 寰宇地理 + + + 奇趣大自然 + + + 看中国 + + + 影视界 + + + 中国旅游 + + + 人文中国 + + + 传奇 + + + 动画片 + + + 中国教育报道 + + + 中央台新闻联播 + + + 看中国 + + + 宁夏教育新闻 + + + 教育时空 + + + 品质 + + + 健康之路 + + + 奇趣大自然 + + + 电视剧场 + + + 老电影 + + + 宁夏文旅 + + + 星空影院 + + + 检修 + + + 欢乐集结号 + + + 过把瘾剧场 + + + 欢乐集结号 + + + 过把瘾剧场 + + + 1818影院 + + + 家家剧场 + + + 欢乐集结号 + + + 快乐向前冲 + + + 灵与肉台前幕后6 + + + 天天旅行汇 + + + 星空影院 + + + 宁夏经济 + + + 都市经典剧场 + + + 结束曲 + + + 都市阳光 + + + 都市晨风剧场 + + + 都市阳光 + + + 财富故事 + + + 都市阳光剧场 + + + 都市阳光 + + + 都市黄金剧场 + + + 宁夏经济报道 + + + 都市阳光 + + + 都市经典剧场 + + + 安多卫视 + + + 精彩呈现 + + + 放眼看世界 + + + 节目结束 + + + 节目结束 + + + 重播中央台新闻联播 + + + 知识园地 + + + 剧场 + + + 剧场 + + + 剧场 + + + 剧场 + + + 剧场 + + + 青海新闻联播 + + + 放眼看世界 + + + 剧场 + + + 剧场 + + + 剧场 + + + 剧场 + + + 剧场 + + + 健康指南 + + + 动画片 + + + 江河浪花 + + + 剧场 + + + 剧场 + + + 青海新闻联播 + + + 天气预报 + + + 纵览艺术 + + + 写真 + + + 剧场 + + + 剧场 + + + 重播中央台新闻联播 + + + 剧场 + + + 青海新闻联播 + + + 安徽公共 + + + 新闻故事会 + + + 节目结束 + + + 测试图 + + + 晨曲 + + + 真实事件 + + + 点击天气 + + + 超级新闻场 + + + 生活服务 + + + 新闻故事会 + + + 生活这一刻 + + + 生活服务 + + + 安徽报道 + + + 一周新闻榜 + + + 天天315 + + + 生活服务 + + + 法治中国60分 + + + 第一现场 + + + 新闻午班车 + + + 点击天气 + + + 真实事件 + + + 天天315 + + + 新闻午班车 + + + 生活服务 + + + 真实事件 + + + 生活服务 + + + 生活这一刻 + + + 生活服务 + + + 真情调解 + + + 第一现场 + + + 新闻第一线 + + + 点击天气 + + + 新闻故事会 + + + 夜线60分 + + + 真实事件 + + + 法眼看真情 + + + 安徽新闻联播 + + + 新闻画中话 + + + 读书的力量 + + + 新闻第一线 + + + 结束 + + + 安徽农业科教 + + + 非童凡响 + + + 节目结束 + + + 测试图 + + + 生活e点通 + + + 剧场 + + + 真情说法 + + + 生活e点通 + + + 法治时空 + + + 拍案惊奇 + + + 语众不同 + + + 剧场 + + + 七彩剧场 + + + 生活e点通 + + + 法治时空 + + + 真情说法 + + + 拍案惊奇 + + + 语众不同 + + + 剧场 + + + 法治时空 + + + 结束 + + + 安徽卫视 + + + 技能湖北:技能大师柳兆林 + + + 凡人歌(27) + + + 凡人歌(28) + + + 男生女生向前冲16 + + + 健康大问诊 + + + 每日新闻报 + + + 超级新闻场 + + + 超级新闻场 + + + 超级新闻场 + + + 安徽新闻联播 + + + 美食每刻 + + + 萌宝战警之远古巨兽(14):失落的世界 + + + 萌宝战警之远古巨兽(15):冲吧萌宝战队 + + + 萌宝战警之远古巨兽(16):史前霸主变萌宠 + + + 海豚万家剧场:飞哥战队 + + + 海豚万家剧场:飞哥战队 + + + 海豚万家剧场:飞哥战队 + + + 2024男生女生向前冲(150) + + + 美食每刻(956) + + + 真情剧场:大宅门 + + + 真情剧场:大宅门 + + + 真情剧场:大宅门 + + + 真情剧场:大宅门 + + + 每日新闻报 + + + 安徽新闻联播 + + + 安徽天气预报 + + + 转播中央台新闻联播 + + + 海豚第一剧场:凡人歌(29) + + + 海豚第一剧场:凡人歌(30) + + + 健康大问诊(888) + + + 农家女婿与千金媳妇 + + + 新安夜空 + + + 农家女婿与千金媳妇 + + + 旅游天气预报 + + + 东向大海(3) + + + 安徽国际 + + + 安徽新闻联播 + + + 男生女生向前冲 + + + 美食每刻 + + + 梅花儿香 + + + 梅花儿香 + + + 梅花儿香 + + + 梅花儿香 + + + 梅花儿香 + + + 每日新闻报 + + + 安徽新闻联播 + + + 健康大问诊 + + + 看安徽 + + + 超级新闻场 + + + 新居之约 + + + 新居之约 + + + 新居之约 + + + 新居之约 + + + 新居之约 + + + 美食来了 + + + 超级新闻场 + + + 男生女生向前冲 + + + 梅花儿香 + + + 梅花儿香 + + + 梅花儿香 + + + 男生女生向前冲 + + + 看安徽 + + + 新居之约 + + + 新居之约 + + + 新居之约 + + + 超级新闻场 + + + 诗中国 + + + 每日新闻报 + + + 安徽影视 + + + 剧场 + + + 静屏 + + + 电视台无节目 + + + 剧场 + + + 剧场 + + + 剧场 + + + 安徽科教 + + + 非童凡响 + + + 节目结束 + + + 测试图 + + + 生活e点通 + + + 剧场 + + + 真情说法 + + + 生活e点通 + + + 法治时空 + + + 拍案惊奇 + + + 语众不同 + + + 剧场 + + + 七彩剧场 + + + 生活e点通 + + + 法治时空 + + + 真情说法 + + + 拍案惊奇 + + + 语众不同 + + + 剧场 + + + 法治时空 + + + 结束 + + + 安徽经济生活 + + + 帮女郎帮你忙 + + + 第一时间 + + + 晚间看天气 + + + 节目结束 + + + 帮女郎帮你忙 + + + 第一时间 + + + 专题 + + + 剧场 + + + 专题 + + + 经视1时间 + + + 经视说法 + + + 团购节目 + + + 剧场 + + + 团购节目 + + + 健康行天下 + + + 帮女郎帮你忙 + + + 第一时间 + + + 剧场 + + + 新闻延长线 + + + 经视说法 + + + 帮女郎帮你忙 + + + 结束 + + + 安徽经视 + + + 帮女郎帮你忙 + + + 第一时间 + + + 晚间看天气 + + + 节目结束 + + + 帮女郎帮你忙 + + + 第一时间 + + + 专题 + + + 剧场 + + + 专题 + + + 经视1时间 + + + 经视说法 + + + 团购节目 + + + 剧场 + + + 团购节目 + + + 健康行天下 + + + 帮女郎帮你忙 + + + 第一时间 + + + 剧场 + + + 新闻延长线 + + + 经视说法 + + + 帮女郎帮你忙 + + + 结束 + + + 安徽综艺 + + + 节目结束 + + + 测试图 + + + 相约花戏楼 + + + 家有好大事 + + + 来吧掼军 + + + 快乐无敌大PK + + + 我爱诗书画 + + + 动画片 + + + 家有好大事 + + + 快乐无敌大PK + + + 中国原产递 + + + 小孩很忙 + + + 美食来了 + + + 家有好大事 + + + 全民大舞台 + + + 天气预报 + + + 来吧掼军 + + + 快乐无敌大PK + + + 美食来了 + + + 中国原产递 + + + 全民大舞台 + + + 节目结束 + + + 安徽综艺体育 + + + 节目结束 + + + 测试图 + + + 相约花戏楼 + + + 家有好大事 + + + 来吧掼军 + + + 快乐无敌大PK + + + 我爱诗书画 + + + 动画片 + + + 家有好大事 + + + 快乐无敌大PK + + + 中国原产递 + + + 小孩很忙 + + + 美食来了 + + + 家有好大事 + + + 全民大舞台 + + + 天气预报 + + + 来吧掼军 + + + 快乐无敌大PK + + + 美食来了 + + + 中国原产递 + + + 全民大舞台 + + + 节目结束 + + + 宜宾新闻综合 + + + 时尚汇(重播) + + + 时尚汇(重播) + + + 时尚汇(重播) + + + 美丽中国 + + + 翠屏新闻(重播) + + + 上午剧场 + + + 草本新说 + + + 宜宾新闻(重播) + + + 魅力区县(重播) + + + 下午剧场 + + + 宜宾教育(首播) + + + 翠屏新闻(首播) + + + 天气预报 + + + 新闻联播 + + + 宜宾新闻(首播) + + + 魅力区县(首播) + + + 晚间剧场 + + + 魅力区县(重播) + + + 宜宾新闻(重播) + + + 翠屏新闻(重播) + + + 宜春新闻综合 + + + 民生直通车(重播) + + + 黄金剧场(重播) + + + 宜春新闻(重播) + + + 动画片(重播) + + + 宜春新闻(重播) + + + 宜春故事(重播) + + + 午后剧场 + + + 1套看房产(重播) + + + 乐乐逛街 车行天下(重播) + + + 乡土乡情(重播) + + + 民生直通车 + + + 转中央台新闻联播 + + + 宜春新闻 + + + 天气预报 + + + 明月访谈 + + + 游我做主 + + + 黄金剧场 + + + 1套看房产 + + + 民生直通车(重播) + + + 小电影 + + + 客家生活 + + + 维权820 + + + 财富屋家 + + + 围龙故事 + + + 电视剧 + + + 维权820 + + + 财富屋家 + + + 事事关心 + + + 电视剧 + + + 家庭剧场 + + + 精彩呈现 + + + 儿女情更长(第36集) + + + 儿女情更长(第37集) + + + 儿女情更长(第38集) + + + 儿女情更长(第39集) + + + 我的爱对你说(第01集) + + + 我的爱对你说(第02集) + + + 我的爱对你说(第03集) + + + 我的爱对你说(第04集) + + + 都市外乡人(第21集) + + + 都市外乡人(第22集) + + + 都市外乡人(第23集) + + + 大都市小爱情(第01集) + + + 德国卡赫纯钛RO反渗透净水器-渠道(右) + + + 真情给你(第09集) + + + 真情给你(第10集) + + + 真情给你(第11集) + + + 英国奥戈那折叠式取暖器-渠道(右) + + + 真情给你(第12集) + + + 高兴的酸甜苦辣(第11集) + + + 德国米技炉周年庆超值惠选装-渠道(右) + + + 高兴的酸甜苦辣(第12集) + + + 美康利健激光前列腺治疗仪-渠道(右) + + + 高兴的酸甜苦辣(第13集) + + + 高兴的酸甜苦辣(第14集) + + + 《时尚小咖秀》 + + + 真情到永远(第09集) + + + 《八段锦》推荐第9期 + + + 真情到永远(第10集) + + + 真情到永远(第11集) + + + 真情到永远(第12集) + + + 真情到永远(第13集) + + + 少儿动漫 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + 山东体育 + + + 超级赛场精编版 + + + 体育新闻 + + + 翡翠奇缘 + + + 韵动至尚 + + + 山东旅游 + + + 我是掼军 + + + 韵动至尚 + + + 齐鲁体育文化记忆 + + + 体育新闻 + + + 天天耍大牌 + + + 联邦大作战 + + + 山东旅游 + + + 光明新路 + + + 激情岁月 + + + 中医之本 + + + 绿茵剧场:秘密特工(26) + + + 真相百分百 + + + 名医课堂 + + + 酷体育 + + + 淄博体育 + + + 山东体坛纵览 + + + 说中医话健康 + + + 韵动至尚 + + + 中医之本 + + + 绿茵剧场:秘密特工(25) + + + 仁心说医事 + + + 绿茵剧场:秘密特工(24) + + + 仁心说医事 + + + 激情冲击播之one集锦 + + + 真相百分百 + + + 天天耍大牌 + + + 巅峰赛事 + + + 酷体育 + + + 山东体坛纵览 + + + 激情岁月 + + + 巅峰赛事 + + + 超级赛场精编版 + + + 体育新闻 + + + 山东体育休闲 + + + 超级赛场精编版 + + + 体育新闻 + + + 翡翠奇缘 + + + 韵动至尚 + + + 山东旅游 + + + 我是掼军 + + + 韵动至尚 + + + 齐鲁体育文化记忆 + + + 体育新闻 + + + 天天耍大牌 + + + 联邦大作战 + + + 山东旅游 + + + 光明新路 + + + 激情岁月 + + + 中医之本 + + + 绿茵剧场:秘密特工(26) + + + 真相百分百 + + + 名医课堂 + + + 酷体育 + + + 淄博体育 + + + 山东体坛纵览 + + + 说中医话健康 + + + 韵动至尚 + + + 中医之本 + + + 绿茵剧场:秘密特工(25) + + + 仁心说医事 + + + 绿茵剧场:秘密特工(24) + + + 仁心说医事 + + + 激情冲击播之one集锦 + + + 真相百分百 + + + 天天耍大牌 + + + 巅峰赛事 + + + 酷体育 + + + 山东体坛纵览 + + + 激情岁月 + + + 巅峰赛事 + + + 超级赛场精编版 + + + 体育新闻 + + + 山东公共 + + + 健康山东 + + + 大抗战 + + + 大抗战 + + + 齐鲁先锋 + + + 体育新闻 + + + 我们的山东-直通荣成 + + + 山东新闻联播 + + + 山东广电纪录片——陪伴你何止十二时辰 + + + 新国动新视界 + + + 走进深蓝 + + + 诗画山东 四季泰山 + + + 晚间新闻 + + + 山东省海洋预报 + + + 齐鲁先锋 + + + 理响中国 + + + 闪电大视野 + + + 记住乡愁 + + + 山东新闻联播 + + + 健康山东 + + + 共产党员 + + + 五洲四海山东人 + + + 记住乡愁 + + + 齐鲁先锋 + + + 健康山东 + + + 市场监管在线 + + + 专题节目 + + + 闪电直播间 + + + 光耀齐鲁 + + + 专题节目 + + + 体育新闻 + + + 大抗战 + + + 大抗战 + + + 记住乡愁 + + + 山东省海洋预报 + + + 新闻午班车 + + + 我们的山东-直通荣成 + + + 体育新闻 + + + 健康山东 + + + 闪电直播间 + + + 齐鲁先锋 + + + 闪电大视野 + + + 专题节目 + + + 山东新闻联播 + + + 早安山东 + + + 早安山东 + + + 健康山东 + + + 齐鲁先锋 + + + 闪电大视野 + + + 体育新闻 + + + 大美山东 + + + 闪电大视野 + + + 体育新闻 + + + 理响中国 + + + 健康山东 + + + 闪电大视野 + + + 体育新闻 + + + 理响中国 + + + 健康山东 + + + 齐鲁先锋 + + + 闪电大视野 + + + 体育新闻 + + + 理响中国 + + + 山东农科 + + + 农产之美 + + + 育种人生 + + + 超级语文课 + + + 中国原产递 + + + 翡翠奇缘 + + + 山东三农新闻联播 + + + 乐拍 + + + 乡村季风+种地宝典 + + + 育种人生 + + + 农产之美 + + + 中国原产递 + + + 农事气象站 + + + 山东三农新闻联播 + + + 农事气象站 + + + 专题 + + + 乡村季风+种地宝典 + + + 专题 + + + 刀锋战士 + + + 专题 + + + 刀锋战士 + + + 乐拍 + + + 跟总书记学方法 + + + 山东三农新闻联播 + + + 好品山东一线助农 + + + 农产之美 + + + 专题 + + + 乡村季风+种地宝典 + + + 殊死七日 + + + 专题 + + + 殊死七日 + + + 专题 + + + 殊死七日 + + + 乐拍 + + + 专题 + + + 农事气象站 + + + 乡村季风+种地宝典 + + + 育种人生 + + + 农产之美 + + + 山东三农新闻联播 + + + 农事气象站 + + + 农产之美 + + + 育种人生 + + + 超级语文课 + + + 中国原产递 + + + 山东三农新闻联播 + + + 乡村季风+种地宝典 + + + 超级语文课 + + + 中国原产递 + + + 农产之美 + + + 育种人生 + + + 山东三农新闻联播 + + + 乡村季风+种地宝典 + + + 山东卫视 + + + 行进中国黄河篇 + + + 风雪大别山 + + + 记住乡愁 + + + 早安山东 + + + 中华人民共和国国歌 + + + 早安山东 + + + 乐享食光 + + + 父母爱情(32) + + + 父母爱情(33) + + + 大医本草堂 + + + 父母爱情(34) + + + 父母爱情(35) + + + 父母爱情(36) + + + 父母爱情(37) + + + 父母爱情(38) + + + 父母爱情(39) + + + 父母爱情(40) + + + 父母爱情(41) + + + 父母爱情(42) + + + 乐享食光 + + + 齐鲁先锋 + + + 山东新闻联播 + + + 转播中央台新闻联播 + + + 冰雨火(30) + + + 冰雨火(31) + + + 晚间新闻 + + + 此时此刻 + + + 山东新闻联播 + + + 中国式离婚(21) + + + 企业风云路 + + + 中国式离婚(22) + + + 山东少儿 + + + 动画片:《猪猪侠竞速小英雄4》 + + + 动画片 + + + 节目:《超级语文课》第三季 + + + 节目:《少年向前冲》 + + + 动画片:《喜羊羊与灰太狼羊村守护者7遨游神秘洋》 + + + 动画片:《喵能战士2》 + + + 动画片:《超级飞侠16》 + + + 动画片:《喜羊羊与灰太狼羊村守护者8心世界奇遇》 + + + 节目:《少年向前冲》 + + + 节目:科普总动员 + + + 动画片:《熊熊帮帮团》 + + + 节目:《国学小名士》精彩片段 + + + 动画片:《猪猪侠之超星五灵侠6》 + + + 动画片:《猪猪侠之超星五灵侠5》 + + + 节目:《国学小名士》精彩片段 + + + 动画片:《喜羊羊与灰太狼羊村守护者7遨游神秘洋》 + + + 动画片:《熊出没夏日连连看》 + + + 节目:《国学小名士》精彩片段 + + + 动画片:《熊出没夏日连连看》 + + + 动画片:《喜羊羊与灰太狼羊村守护者8心世界奇遇》 + + + 节目:《国学小名士》精彩片段 + + + 动画片:《喜羊羊与灰太狼羊村守护者7遨游神秘洋》 + + + 动画片:《熊出没夏日连连看》 + + + 动画片:《熊出没春日对对碰》 + + + 动画片:《喜羊羊与灰太狼之嘻哈闯世界3奇幻天空岛》 + + + 动画片:《熊熊乐园1》 + + + 结束 + + + 动画片:《喜羊羊与灰太狼羊村守护者1》 + + + 山东影视 + + + 小麦进城 + + + 乐拍电视购物 + + + 超级音浪音乐会 + + + 翡翠奇缘 + + + 晚间美妆 + + + 继母后妈 + + + 继母后妈 + + + 家有藏宝周末精编版 + + + 关爱未来 + + + 山东文旅报道 + + + 爱情悠悠药草香 + + + 爱情悠悠药草香 + + + 爱情悠悠药草香 + + + 爱情悠悠药草香 + + + 周末美妆30分钟 + + + 超级音浪音乐会精编版 + + + 仁心说医事 + + + 山东文旅报道白天10分钟版 + + + 说中医话健康 + + + 等着我下午版 + + + 中医之本 + + + 非童寻常 + + + 名医课堂 + + + 等着我中午版 + + + 电商帮中午20分钟版 + + + 中医之本 + + + 等着我上午版 + + + 仁心说医事 + + + 宰相刘罗锅 + + + 说中医话健康 + + + 宰相刘罗锅 + + + 电商帮早间版 + + + 宰相刘罗锅 + + + 乐拍购物 + + + 大河之洲 + + + 戏宇宙第二季 + + + 超级语文课第三季 + + + 国学小名士第六季 + + + 乐拍电视购物 + + + 小麦进城 + + + 山东教育 + + + 等着我 + + + 红色影像馆 + + + 师者说 + + + 青少节目 + + + 校园新力量 + + + 校园新力量 + + + 新课堂·健康校园 + + + 好家长新课堂 + + + 孔子大学堂 + + + 等着我 + + + 教育新闻 + + + 新课堂·健康校园 + + + 等着我 + + + 真相百分百 + + + 真相百分百 + + + 飞哥大英雄 + + + 飞哥大英雄 + + + 飞哥大英雄 + + + 等着我 + + + 等着我 + + + 真相百分百 + + + 等着我 + + + 校园新播报 + + + 等着我 + + + 真相百分百 + + + 教育新闻 + + + 转播中央台新闻联播 + + + 格致论道 + + + 小手大滋味 + + + 等着我 + + + 真相百分百 + + + 等着我 + + + 孔子大学堂 + + + 等着我 + + + 真相百分百 + + + 山东教育卫视 + + + 电视剧 + + + 电视剧 + + + 乐龄学院 + + + 校园艺术节 + + + 高考直通车 + + + 青少节目 + + + 乐龄学院 + + + 孔子大学堂 + + + 欢乐喜剧人(重播) + + + 教育新闻 + + + 校园星播报 + + + 新闻早敲门 + + + 乐龄学院 + + + 新课堂 + + + 电视剧 + + + 电视剧 + + + 电视剧 + + + 乐龄学院 + + + 电视剧 + + + 欢乐喜剧人(重播) + + + 益呼百应 + + + 高考直通车 + + + 教育新闻 + + + 转播中央台新闻联播 + + + 新课堂 + + + 校园星播报 + + + 乐龄学院 + + + 2019少儿春节联欢晚会 + + + 孔子大学堂 + + + 新闻早敲门 + + + 山东文旅 + + + 小麦进城 + + + 乐拍电视购物 + + + 超级音浪音乐会 + + + 翡翠奇缘 + + + 晚间美妆 + + + 继母后妈 + + + 继母后妈 + + + 家有藏宝周末精编版 + + + 关爱未来 + + + 山东文旅报道 + + + 爱情悠悠药草香 + + + 爱情悠悠药草香 + + + 爱情悠悠药草香 + + + 爱情悠悠药草香 + + + 周末美妆30分钟 + + + 超级音浪音乐会精编版 + + + 仁心说医事 + + + 山东文旅报道白天10分钟版 + + + 说中医话健康 + + + 等着我下午版 + + + 中医之本 + + + 非童寻常 + + + 名医课堂 + + + 等着我中午版 + + + 电商帮中午20分钟版 + + + 中医之本 + + + 等着我上午版 + + + 仁心说医事 + + + 宰相刘罗锅 + + + 说中医话健康 + + + 宰相刘罗锅 + + + 电商帮早间版 + + + 宰相刘罗锅 + + + 乐拍购物 + + + 大河之洲 + + + 戏宇宙第二季 + + + 超级语文课第三季 + + + 国学小名士第六季 + + + 乐拍电视购物 + + + 小麦进城 + + + 山东新闻 + + + 健康山东 + + + 大抗战 + + + 大抗战 + + + 齐鲁先锋 + + + 体育新闻 + + + 我们的山东-直通荣成 + + + 山东新闻联播 + + + 山东广电纪录片——陪伴你何止十二时辰 + + + 新国动新视界 + + + 走进深蓝 + + + 诗画山东 四季泰山 + + + 晚间新闻 + + + 山东省海洋预报 + + + 齐鲁先锋 + + + 理响中国 + + + 闪电大视野 + + + 记住乡愁 + + + 山东新闻联播 + + + 健康山东 + + + 共产党员 + + + 五洲四海山东人 + + + 记住乡愁 + + + 齐鲁先锋 + + + 健康山东 + + + 市场监管在线 + + + 专题节目 + + + 闪电直播间 + + + 光耀齐鲁 + + + 专题节目 + + + 体育新闻 + + + 大抗战 + + + 大抗战 + + + 记住乡愁 + + + 山东省海洋预报 + + + 新闻午班车 + + + 我们的山东-直通荣成 + + + 体育新闻 + + + 健康山东 + + + 闪电直播间 + + + 齐鲁先锋 + + + 闪电大视野 + + + 专题节目 + + + 山东新闻联播 + + + 早安山东 + + + 早安山东 + + + 健康山东 + + + 齐鲁先锋 + + + 闪电大视野 + + + 体育新闻 + + + 大美山东 + + + 闪电大视野 + + + 体育新闻 + + + 理响中国 + + + 健康山东 + + + 闪电大视野 + + + 体育新闻 + + + 理响中国 + + + 健康山东 + + + 齐鲁先锋 + + + 闪电大视野 + + + 体育新闻 + + + 理响中国 + + + 山东生活 + + + 中国原产递 + + + 生活帮 + + + 爱拼才会赢 + + + 生活大赢家 + + + 翡翠奇缘 + + + 专题 + + + 名医话健康 + + + 生活大赢家 + + + 生活帮 + + + 跟总书记学方法 + + + 专题 + + + 生活大赢家 + + + 专题 + + + 英雄戟 + + + 专题 + + + 英雄戟 + + + 乐享银龄 + + + 专题 + + + 生活帮 + + + 专题 + + + 生活大赢家 + + + 专题 + + + 谍血玫瑰 + + + 专题 + + + 谍血玫瑰 + + + 专题 + + + 谍血玫瑰 + + + 专题 + + + 生活帮 + + + 中国原产递 + + + 好品山东 + + + 乐享银龄 + + + 生活帮 + + + 好品山东 + + + 乐享银龄 + + + 中国原产递 + + + 生活大赢家 + + + 山东综艺 + + + 快乐大赢家 + + + 快乐大赢家(运动版) + + + 快乐向前冲 + + + 快乐好品家 + + + 快乐大赢家 + + + 快乐向前冲 + + + 快乐大赢家(运动版) + + + 快乐好品家 + + + 专题节目 + + + 综艺星时刻 + + + 快乐好品家 + + + 专题节目 + + + 综艺星时刻 + + + 专题节目 + + + 快乐向前冲 + + + 专题节目 + + + 唱响你的歌 + + + 专题节目 + + + 电视剧场-哥哥姐姐的花样年华21 + + + 快乐好品家 + + + 专题节目 + + + 电视剧场-哥哥姐姐的花样年华20 + + + 专题节目 + + + 电视剧场-哥哥姐姐的花样年华19 + + + 专题节目 + + + 唱响你的歌 + + + 快乐向前冲 + + + 快乐大赢家(运动版) + + + 快乐向前冲 + + + 唱响你的歌 + + + 快乐大赢家(运动版) + + + 快乐向前冲 + + + 山东齐鲁 + + + 走近健康 + + + 深夜剧场 + + + 深夜剧场 + + + 深夜剧场 + + + 深夜剧场 + + + 医海寻真 + + + 深夜剧场 + + + 拉呱 + + + 每日新闻 + + + 走近健康 + + + 百岁有道 + + + 医海寻真 + + + 剧场 + + + 等着我(重播) + + + 拉呱 + + + 正午新闻圈 + + + 小溪办事 + + + 下午剧场 + + + 5点大不同 + + + 拉呱 + + + 小溪办事 + + + 每日新闻 + + + 黄金剧场 + + + 等着我(重播) + + + 情感漩涡 + + + 情感漩涡 + + + 深夜剧场 + + + 山西公共 + + + 门当户对 + + + 歌从黄河来 + + + 王牌高手 + + + 百年巨匠 + + + 梨园记忆 + + + 短秀新生活 + + + 百家戏苑 重播 + + + 健康朋友圈 + + + 王牌高手 重播 + + + 百家戏苑 + + + 上午剧场 神秘人质(10) + + + 上午剧场 神秘人质(11) + + + 王牌高手 重播 + + + 下午剧场 尖刀战士(22) + + + 下午剧场 尖刀战士(23) + + + 下午剧场 尖刀战士(24) + + + 短秀新生活 + + + 门当户对 + + + 欢乐送 + + + 健康朋友圈 + + + 黄金剧场 渗透(33) + + + 黄金剧场 渗透(34) + + + 王牌高手 + + + 山西卫视 + + + 热血剧场:侦察英雄 + + + 黎明剧场 + + + 黎明剧场 + + + 黎明剧场 + + + 黎明剧场 + + + 黎明剧场 + + + 清晨剧场 + + + 清晨剧场 + + + 清晨剧场 + + + 记住乡愁2 + + + 山西新闻联播 + + + 山西天气预报 + + + 等着我 + + + 动画片剧场 + + + 经典老电影 + + + 经典老电影 + + + 新闻午报 + + + 山西天气预报 + + + 下午剧场:西游记 + + + 下午剧场:西游记 + + + 下午剧场:西游记 + + + 下午剧场:西游记 + + + 下午剧场:西游记 + + + 山西新闻联播 + + + 山西天气预报 + + + 转播中央新闻联播 + + + 黄金剧场 + + + 黄金剧场 + + + 奋进赶考路 + + + 发现山西 + + + 晚间新闻 + + + 热血剧场:侦察英雄 + + + 热血剧场:侦察英雄 + + + 热血剧场:侦察英雄 + + + 山西影视 + + + 地雷英雄传(20) + + + 秋蝉(23) + + + 秋蝉(24) + + + 秋蝉(25) + + + 秋蝉(26) + + + 破晓(26) + + + 破晓(27) + + + 我的选择 + + + 虎胆神鹰(25) + + + 虎胆神鹰(26) + + + 虎胆神鹰(27) + + + 我的选择 + + + 影迷来了 + + + 地道女英雄(43) + + + 地道女英雄(44) + + + 地道女英雄(45) + + + 地道女英雄(46) + + + 狼牙英雄(19) + + + 狼牙英雄(20) + + + 狼牙英雄(21) + + + 狼牙英雄(22) + + + 狼牙英雄(23) + + + 狼牙英雄(24) + + + 地雷英雄传(21) + + + 地雷英雄传(22) + + + 山西文体生活 + + + 门当户对 + + + 歌从黄河来 + + + 王牌高手 + + + 百年巨匠 + + + 梨园记忆 + + + 短秀新生活 + + + 百家戏苑 重播 + + + 健康朋友圈 + + + 王牌高手 重播 + + + 百家戏苑 + + + 上午剧场 神秘人质(10) + + + 上午剧场 神秘人质(11) + + + 王牌高手 重播 + + + 下午剧场 尖刀战士(22) + + + 下午剧场 尖刀战士(23) + + + 下午剧场 尖刀战士(24) + + + 短秀新生活 + + + 门当户对 + + + 欢乐送 + + + 健康朋友圈 + + + 黄金剧场 渗透(33) + + + 黄金剧场 渗透(34) + + + 王牌高手 + + + 山西社会与法治 + + + 第三调解室(重播) + + + 那年花开月正圆(61) + + + 那年花开月正圆(62) + + + 那年花开月正圆(63) + + + 那年花开月正圆(64) + + + 那年花开月正圆(65) + + + 伪装者(40) + + + 伪装者(41) + + + 秋蝉(1) + + + 秋蝉(2) + + + 都市110(重播) + + + 第三调解室(重播) + + + 桃花朵朵开 + + + 梦华录(29) + + + 梦华录(30) + + + 都市110(首播) + + + 法在身边(首播) + + + 小郭跑腿(首播) + + + 薄冰(23) + + + 薄冰(24) + + + 桃花朵朵开 + + + 山西经济 + + + 生命缘(重播) + + + 深夜剧场:黎明破晓前(28集) + + + 深夜剧场:黎明破晓前(29集) + + + 深夜剧场:黎明破晓前(30集) + + + 深夜剧场:黎明破晓前(31集) + + + 经济30分(重播) + + + 经济30分之看天下(重播) + + + 蜜蜂计划(首播) + + + 科技苑(重播) + + + 科学动物园(首播) + + + 经济30分(重播) + + + 经济30分之看天下(重播) + + + 投资山西(重播) + + + 一起健康吧(重播) + + + 致富经(首播) + + + 养生 + + + 上午剧场:隐形将军(13集) + + + 养生 + + + 上午剧场:隐形将军(14集) + + + 养生 + + + 上午剧场:隐形将军(15集) + + + 养生 + + + 暖暖的味道(首播) + + + 科技苑(首播) + + + 生命缘(首播) + + + 投资山西(重播) + + + 生活119(重播) + + + 发现山西(首播) + + + 理论天天学(首播) + + + 下午剧场:我要当八路(14集) + + + 养生 + + + 下午剧场:我要当八路(15集) + + + 下午剧场:我要当八路(16集) + + + 养生 + + + 下午剧场:我要当八路(17集) + + + 养生 + + + 暖暖的味道(重播) + + + 科技苑(首播) + + + 生命缘(重播) + + + 一起健康吧(首播) + + + 经济30分(首播) + + + 经济30分之看天下(首播) + + + 山西新闻联播(首播) + + + 晚间剧场:红高粱(7集) + + + 晚间剧场:红高粱(8集) + + + 养生 + + + 生命缘(重播) + + + 山西经济与科技 + + + 生命缘(重播) + + + 深夜剧场:黎明破晓前(28集) + + + 深夜剧场:黎明破晓前(29集) + + + 深夜剧场:黎明破晓前(30集) + + + 深夜剧场:黎明破晓前(31集) + + + 经济30分(重播) + + + 经济30分之看天下(重播) + + + 蜜蜂计划(首播) + + + 科技苑(重播) + + + 科学动物园(首播) + + + 经济30分(重播) + + + 经济30分之看天下(重播) + + + 投资山西(重播) + + + 一起健康吧(重播) + + + 致富经(首播) + + + 养生 + + + 上午剧场:隐形将军(13集) + + + 养生 + + + 上午剧场:隐形将军(14集) + + + 养生 + + + 上午剧场:隐形将军(15集) + + + 养生 + + + 暖暖的味道(首播) + + + 科技苑(首播) + + + 生命缘(首播) + + + 投资山西(重播) + + + 生活119(重播) + + + 发现山西(首播) + + + 理论天天学(首播) + + + 下午剧场:我要当八路(14集) + + + 养生 + + + 下午剧场:我要当八路(15集) + + + 下午剧场:我要当八路(16集) + + + 养生 + + + 下午剧场:我要当八路(17集) + + + 养生 + + + 暖暖的味道(重播) + + + 科技苑(首播) + + + 生命缘(重播) + + + 一起健康吧(首播) + + + 经济30分(首播) + + + 经济30分之看天下(首播) + + + 山西新闻联播(首播) + + + 晚间剧场:红高粱(7集) + + + 晚间剧场:红高粱(8集) + + + 养生 + + + 生命缘(重播) + + + 岭南戏曲 + + + 粤剧有我地第三季:文慧 + + + 剧场连线:南宋孤鸿(2) + + + 戏人戏语(393) + + + 岭南大舞台:资讯(673) + + + 趣谈广州话(2232) + + + 风雅潮韵:《宝莲灯》名段精选(1) + + + 高手在民间:月擂主争霸赛(19) + + + 剧场连线:南宋孤鸿(2) + + + 戏人戏语(393) + + + 岭南大舞台:资讯(673) + + + 趣谈广州话(2232) + + + 老倌学堂:彭炽权《仕林祭塔》 + + + 红梅飘香:张页川 + + + 戏人戏语(393) + + + 岭南大舞台:资讯(673) + + + 趣谈广州话(2232) + + + 剧场连线:南宋孤鸿(2) + + + 戏人戏语(393) + + + 岭南大舞台:资讯(673) + + + 趣谈广州话(2232) + + + 高手在民间:月擂主争霸赛(20) + + + 老倌学堂:彭炽权《仕林祭塔》 + + + 风雅潮韵:《宝莲灯》名段精选(2) + + + 戏人戏语(393) + + + 岭南大舞台:资讯(673) + + + 趣谈广州话(2232) + + + 剧场连线:皇帝与村姑(1) + + + 戏人戏语(393) + + + 岭南大舞台:资讯(673) + + + 趣谈广州话(2232) + + + 锦绣梨园:首届粤港澳(第十一届广东)中青年戏剧演艺大赛(粤剧赛区11) + + + 岭南大舞台:资讯(673) + + + 趣谈广州话(2232) + + + 老倌学堂:彭炽权《仕林祭塔》 + + + 峨嵋电影 + + + 影响 + + + 子夜影院 + + + 请等待 + + + 经典电影 + + + 早间剧场一 + + + 商务栏目 + + + 早间剧场二 + + + 早间电影 + + + 影响 + + + 商务栏目 + + + 午后电影赏析 + + + 天天有礼 + + + 影响 + + + 水晶之夜 + + + 娱乐公社 + + + 峨眉电影 + + + 影响 + + + 子夜影院 + + + 请等待 + + + 经典电影 + + + 早间剧场一 + + + 商务栏目 + + + 早间剧场二 + + + 早间电影 + + + 影响 + + + 商务栏目 + + + 午后电影赏析 + + + 天天有礼 + + + 影响 + + + 水晶之夜 + + + 娱乐公社 + + + 常州公共 + + + 下一站,远方 + + + 常州高新区新闻 + + + 公共剧场(1) + + + 公共剧场(2) + + + 公共剧场(3) + + + 公共剧场(4) + + + 传奇 + + + 健康小剧场 + + + 公共剧场(1) + + + 公共剧场(2) + + + 公共剧场(3) + + + 公共剧场(4) + + + 健康小剧场 + + + 十一代中医 + + + 欢乐英雄 + + + 生活369 + + + 奇趣大自然 + + + 人文中国 + + + 传奇 + + + 经济新壹周(次日) + + + 联播常州(次日) + + + 常州新闻(重播) + + + 常州高新区新闻(重播) + + + 社会写真(重播) + + + 精品剧场(1) + + + 精品剧场(2) + + + 结束 + + + 常州新闻 + + + 节目预告 + + + 国歌 + + + 常州新闻 + + + 经济新壹周 + + + 健康小剧场 + + + 下一站,远方 + + + 生活369 + + + 健康小剧场 + + + 广告专题 + + + 社会写真 + + + 广告专题 + + + 联播常州 + + + 健康百分百 + + + 常州新闻 + + + 健康小剧场 + + + 午间剧场1 + + + 午间剧场2 + + + 广告专题 + + + 动画片 + + + 新华纵横 + + + 常州高新区新闻 + + + 龙城少儿风采 + + + 人文中国(次日) + + + 常州新闻(首播) + + + 央视新闻联播 + + + 天气预报 + + + 黄金剧场(1) + + + 黄金剧场(2) + + + 常州新闻(重播) + + + 常州高新区新闻(首播) + + + 联播常州(首播) + + + 新华纵横(重播) + + + 社会写真(重播) + + + 广告专题 + + + 结束 + + + 常州生活 + + + 节目预告 + + + 欢乐英雄 + + + 生活369 + + + 人文中国 + + + 健康百分百 + + + 广告专题 + + + 寻味龙城 + + + 养生堂 + + + 广告专题 + + + 生活剧场(1) + + + 生活剧场(2) + + + 生活剧场(3) + + + 生活剧场(4) + + + 广告专题 + + + 龙城少儿风采 + + + 动画片 + + + 新华纵横(首播) + + + 社会写真(次日) + + + 生活369(次日) + + + 寻味龙城 + + + 健康百分百 + + + 下一站,远方 + + + 龙城俏佳人 + + + 情感剧场(1) + + + 情感剧场(2) + + + 情感剧场(3) + + + 广告专题 + + + 结束 + + + 常州综合 + + + 精彩呈现 + + + 节目预告 + + + 国歌 + + + 常州新闻 + + + 经济新壹周 + + + 健康小剧场 + + + 下一站,远方 + + + 生活369 + + + 健康小剧场 + + + 广告专题 + + + 社会写真 + + + 广告专题 + + + 联播常州 + + + 健康百分百 + + + 常州新闻 + + + 健康小剧场 + + + 午间剧场1 + + + 午间剧场2 + + + 广告专题 + + + 动画片 + + + 新华纵横 + + + 常州高新区新闻 + + + 龙城少儿风采 + + + 人文中国(次日) + + + 常州新闻(首播) + + + 央视新闻联播 + + + 天气预报 + + + 黄金剧场(1) + + + 黄金剧场(2) + + + 常州新闻(重播) + + + 常州高新区新闻(首播) + + + 联播常州(首播) + + + 新华纵横(重播) + + + 社会写真(重播) + + + 广告专题 + + + 结束 + + + 常州都市 + + + 节目预告 + + + 人文中国 + + + 奇趣大自然 + + + 龙城俏佳人 + + + 健康小剧场 + + + 健康剧场(1) + + + 健康剧场(2) + + + 健康剧场(3) + + + 广告专题 + + + 经济新壹周 + + + 广告专题 + + + 欢乐英雄 + + + 健康小剧场 + + + 龙城少儿风采 + + + 社会写真 + + + 广告专题 + + + 养生堂 + + + 传奇(重播) + + + 社会写真(首播) + + + 生活369(首播) + + + 人文中国(重播) + + + 常州高新区新闻(重播) + + + 欢乐英雄 + + + 都市剧场(1) + + + 都市剧场(2) + + + 结束 + + + 幼儿教育 + + + 动画天地 + + + 聪明大发现 + + + 动画乐园 + + + 功夫看看 + + + 卡通欢乐世界 + + + 积木宝贝 + + + 我爱饭米粒 + + + 妈妈宝宝 + + + 聪明大发现 + + + 动画天地 + + + 挑战奇罗星 + + + 动画乐园 + + + 功夫看看 + + + 我爱饭米粒 + + + 妈妈宝宝 + + + 挑战奇罗星 + + + 动画乐园 + + + 动画天地 + + + 功夫看看 + + + 卡通欢乐世界 + + + 积木宝贝 + + + 我爱饭米粒 + + + 妈妈宝宝 + + + 聪明大发现 + + + 弟子规 + + + 结束 + + + 广东体育 + + + 重播(可删减长度)十分好球(24-25赛季CBA版1119) + + + 重播(可删减长度)十分好球(24-25赛季CBA版1105) + + + 重播 致敬每一份拼搏 + + + 重播 奥运赛场:2024年巴黎奥运会赛场(0822)之一 拳击 女子50公斤级 吴愉 + + + 重播 奥运赛场:2024年巴黎奥运会赛场(0822)之二 拳击 女子75公斤级 李倩 + + + 重播 奥运赛场:2024年巴黎奥运会赛场(0910)之二 羽毛球男双1/4决赛(梁伟铿/王昶vs阿尔菲安/阿迪安托) + + + 重播 奥运赛场:2024年巴黎奥运会赛场(0910)之三 羽毛球女双1/4决赛(陈清晨/贾一凡vs加夫列拉/斯蒂法尼) + + + 重播(可删减长度)十分好球(24-25赛季CBA版1022)3&#039; + + + 重播(可删减长度)十分好球(德甲干净版0924)(24-25赛季) + + + 重播 24-25CBA赛场第8轮 广东东阳光vs四川丰谷酒业 + + + 重播 体育魂 爱国心:荣耀之巅(1) + + + 重播 全运回眸(10)十四运田径项目比赛 + + + 重播 奥运赛场:2024年巴黎奥运会赛场(0814)之二 举重 女子81公斤级 李雯雯、花样游泳 双人自由自选 + + + 重播(可删减长度)十分好球(24-25赛季CBA版1119) + + + 重播 全运回眸(11)十四运游泳项目精选 + + + 重播 体育魂 爱国心:金辉璀璨(4) + + + 重播 全运回眸(7)十四运男子水球决赛 广东vs上海 + + + 重播 2024中甲第10轮精编版 广州队vs青岛红狮 + + + 重播 德甲精选(242510) + + + 重播 出奇智胜(539) + + + 重播 全运回眸(9)十四运男子曲棍球决赛 内蒙古vs广东 + + + 重播(可删减长度)十分好球(24-25赛季CBA版1105) + + + 重播(可删减长度)十分好球(24-25赛季CBA版1119) + + + 重播 24-25CBA赛场第11轮 浙江方兴渡vs广东东阳光 + + + 重播 第一届CBA俱乐部杯小组赛 宁波町渥vs深圳马可波罗 + + + 重播 2024中甲第11轮精选版 广西平果哈嘹vs广州队 + + + 重播 体育魂 爱国心:粤将之光(4)羽毛球女双决赛 + + + 直播 体育世界 20&#039; + + + 直播 2024-2025CBA中国男子篮球职业联赛常规赛第12轮(19:35广州朗肽海本vs北京北汽) + + + 直播 晚间体育新闻 + + + 首播 出奇智胜(541)br / + + + 首播 24-25CBA赛场第12轮 四川丰谷酒业vs广东东阳光 + + + 广东公共 + + + 国歌 + + + DV现场 + + + 风味人间 + + + 宜居大湾区 + + + 桃花朵朵开 + + + 最紧要健康 + + + DV现场 + + + 风味人间 + + + 今日有段古-狄青 + + + 最紧要健康 + + + 全民帮帮忙 + + + 宜居大湾区 + + + 桃花朵朵开 + + + 民生休闲剧场:小敏家(25) + + + 民生休闲剧场:小敏家(26) + + + DV现场(4904) + + + 全民帮帮忙(902) + + + 最紧要健康(1700) + + + 桃花朵朵开(356) + + + 热搜榜中榜(290) + + + 小敏家(25-26) + + + DV现场 + + + 广东卫视 + + + 地雷战 + + + 重播节目、纪录片 + + + 血战松毛岭(1) + + + 血战松毛岭(2) + + + 早间天气预报 + + + 广东新闻联播重播 + + + 大西南剿匪记(12) + + + 大西南剿匪记(13) + + + 大西南剿匪记(14) + + + 大西南剿匪记(15) + + + 大西南剿匪记(16) + + + 老广的味道 + + + 五号特工组之偷天换月(18) + + + 五号特工组之偷天换月(19) + + + 五号特工组之偷天换月(20) + + + 五号特工组之偷天换月(21) + + + 五号特工组之偷天换月(22) + + + 五号特工组之偷天换月(23) + + + 五号特工组之偷天换月(24) + + + 广东新闻联播 + + + 天气预报 + + + 转播中央台新闻联播 + + + 孤舟(23) + + + 孤舟(24) + + + 湾区新财经 + + + 晚间新闻 + + + 风吹半夏(5) + + + 风吹半夏(6) + + + 广东国际 + + + 中华经典文化之成语故事一 + + + 中华名人小课堂老子篇 + + + 疯狂小糖一 + + + 熊出没之怪兽计划二 + + + 奶龙与小七之大战暴暴龙 + + + 熊出没之怪兽计划二 + + + 贝肯熊八 + + + 熊出没之怪兽计划二 + + + 超级飞侠十七 + + + 巴啦啦小魔仙之矅星守护者一 + + + 超级飞侠十七 + + + 爆裂飞车之晶码迷踪 + + + 量子战队恐龙守护二 + + + 超级飞侠十六 + + + 大玩家特搜队-小小特搜员 + + + 超星龙骑元素战纪 + + + 疯狂小糖二 + + + 《嗨!小喇叭》宝贝视界行制片采访 + + + 疯狂小糖二 + + + 猪猪侠之超星五灵侠五 + + + 广东少儿 + + + 午夜剧场 + + + 早间卡通剧场《百变校巴》 + + + 《重返南霞》 + + + 《超级飞侠》 + + + 《熊出没》 + + + 《猪猪侠》 + + + 《航海少年团》 + + + 《南方小记者》 + + + 《羊村守护者》 + + + 广东影视 + + + 剧无霸经典剧场 + + + 午夜剧场 + + + 早晨剧场:短剧 + + + 醒晨剧场 + + + 午间大强档 + + + 剧无霸前战剧场 + + + 有请大医生 + + + 剧无霸剧场 + + + 广东电影报道+有请大医生 + + + 剧无霸经典剧场 + + + 广东新闻 + + + 专题 + + + 今日焦点 + + + 今日一线 + + + 文明观察 + + + 老广的味道 + + + 今日关注 + + + 权威访谈 + + + 大湾区经济新闻 + + + 新闻大视野 + + + 今日关注 + + + 新闻大视野 + + + 广东新闻联播 + + + 专题 + + + 今日一线 + + + 老广的味道 + + + 正点播报 + + + 专题 + + + 正点播报 + + + 专题 + + + 午间30分 + + + 专题 + + + 正点播报 + + + 专题 + + + 正点播报 + + + 老广的味道 + + + 正点播报 + + + 老广的味道 + + + 正点播报 + + + 新闻大视野 + + + 正点播报 + + + 专题 + + + 正点播报 + + + 专题 + + + 正点播报 + + + 天气预报 + + + 广东新闻联播 + + + 直播广东 + + + 今日焦点 + + + 社会纵横 + + + 新闻故事 + + + 今日一线 + + + 社会纵横 + + + 新闻夜线 + + + 今日关注 + + + 广东民生 + + + 国歌 + + + DV现场 + + + 风味人间 + + + 宜居大湾区 + + + 桃花朵朵开 + + + 最紧要健康 + + + DV现场 + + + 风味人间 + + + 今日有段古-狄青 + + + 最紧要健康 + + + 全民帮帮忙 + + + 宜居大湾区 + + + 桃花朵朵开 + + + 民生休闲剧场:小敏家(25) + + + 民生休闲剧场:小敏家(26) + + + DV现场(4904) + + + 全民帮帮忙(902) + + + 最紧要健康(1700) + + + 桃花朵朵开(356) + + + 热搜榜中榜(290) + + + 小敏家(25-26) + + + DV现场 + + + 广东现代教育 + + + 智动画片、纪录片三档滚动(重播) + + + 益智动画片、纪录片三档(首播) + + + 广东教育 + + + 纪录片三档(重播) + + + 广东珠江 + + + 今日关注(重播) + + + 电视剧:绝地枪王 + + + 今日关注(重播) + + + 电视剧:孤岛飞鹰 + + + 电视剧:爱闪亮 + + + 今日财经 + + + 摇钱树 + + + 珠江新闻 + + + 珠江剧场:风华往事24 + + + 珠江剧场:风华往事25 + + + 今日关注 + + + 文化珠江 + + + 王牌剧场:一代匠师1、2 + + + 广东移动 + + + 超级食材 + + + 岭南博物 + + + 瞰见 + + + 国乐大师 + + + 瞰见 + + + 文化能人的小康故事 + + + 不辞长作岭南人 + + + 国乐大师 + + + 韩愈来了 + + + 瞰见 + + + 幸福落地 + + + 瞰见 + + + 卢作孚 + + + 超级食材 + + + 岭南博物 + + + 指尖上的岭南 + + + 文化能人的小康故事 + + + 超级食材 + + + 银发元学堂 + + + 南岭物语 + + + 瞰见 + + + 时尚放送 + + + 不辞长作岭南人 + + + 国乐大师 + + + 韩愈来了 + + + 指尖上的岭南 + + + 幸福落地 + + + 超级食材 + + + 追梦者联盟 + + + 不辞长作岭南人 + + + 岭南博物 + + + 指尖上的岭南 + + + 瞰见 + + + 超级食材 + + + 瞰见 + + + 文化能人的小康故事 + + + 人参 + + + 瞰见 + + + 文化能人的小康故事 + + + 不辞长作岭南人 + + + 瞰见 + + + 南岭物语 + + + 不辞长作岭南人 + + + 韩愈来了 + + + 指尖上的岭南 + + + 卢作孚 + + + 超级食材 + + + 人参 + + + 瞰见 + + + 马王堆·岁月不朽 + + + 追梦者联盟 + + + 不辞长作岭南人 + + + 岭南博物 + + + 指尖上的岭南 + + + 人参 + + + 幸福落地 + + + 广东经济科教 + + + Discovery探索br / + + + 专题 + + + 观点财经 + + + 南方财经报道 + + + 经视一线 + + + Discovery探索 + + + 观点财经 + + + 大揭秘 + + + 真实故事 + + + 宣传片 + + + 南方财经报道 + + + 益安宁丸杯老年大学才艺大赛 + + + 上午剧场:浴血红颜 + + + 专题 + + + 岭南大医生 + + + 经视一线 + + + 南方财经报道 + + + 专题 + + + 岭南大医生 + + + 专题 + + + 下午剧场:最后征战 + + + 专题 + + + 资讯专题 + + + 下午剧场:最后征战 + + + 科教专题 + + + 第一剧场(两集连播):特战英雄榜(10-11) + + + 南方财经报道 + + + 经视一线 + + + 岭南大医生 + + + 黄金剧场(两集连播):女子特战队(32-33) + + + 专题br / + + + 大揭秘br / + + + 经视一线br / + + + 广东综艺 + + + 律师有嘢讲 + + + 4K经典剧场 + + + 我爱返寻味 + + + 举案说法 + + + 晨早剧场 + + + 不可思议的中国 + + + 律师有嘢讲 + + + 爱宠笑园 + + + 我爱返寻味 + + + 举案说法 + + + 下午茶剧场 + + + 我爱返寻味 + + + 最紧要健康 + + + 一起开心吧 + + + 4K经典剧场 + + + 从农场到餐桌 + + + 律师有嘢讲 + + + 纪录片 + + + 深夜剧场 + + + 广州影视 + + + 大侠霍元甲(45) + + + 熟年(4) + + + 熟年(5) + + + 熟年(6) + + + 一路朝阳(28) + + + 一路朝阳(29) + + + 一路朝阳(30) + + + 一路朝阳(31) + + + 大侠霍元甲(43) + + + 大侠霍元甲(44) + + + 大侠霍元甲(45) + + + 看片吧 + + + 大侠霍元甲(44) + + + 大侠霍元甲(45) + + + 熟年(6) + + + 熟年(7) + + + 熟年(8) + + + 我叹我世界(2632) + + + 人间故事(2503) + + + 一路朝阳(28) + + + 一路朝阳(29) + + + 一路朝阳(30) + + + 一路朝阳(31) + + + 看片吧 + + + 知否知否应是绿肥红瘦(1) + + + 知否知否应是绿肥红瘦(2) + + + 我叹我世界(2633) + + + 一路朝阳(32) + + + 一路朝阳(33) + + + 一路朝阳(34) + + + 我叹我世界(2633) + + + 人间故事(2504) + + + 看片吧 + + + 知否知否应是绿肥红瘦(1) + + + 知否知否应是绿肥红瘦(2) + + + 广州新闻 + + + 广视新闻 + + + 城市话题 + + + 中国城市报道 + + + G4出动 + + + 民族同心圆 + + + 警视 + + + 广视新闻 + + + G4出动 + + + 广视新闻 + + + 警视 + + + G4出动 + + + 警视 + + + 民族同心圆 + + + 中国城市报道 + + + G4出动 + + + 城市话题 + + + 中国城市报道 + + + 警视 + + + 广视新闻 + + + 广州新闻联播 + + + G4出动 + + + 城市话题 + + + 中国城市报道 + + + 警视 + + + 民族同心圆 + + + 城市话题 + + + 中国城市报道 + + + 警视 + + + 广州新闻联播 + + + 广视新闻 + + + 城市话题 + + + G4出动 + + + 警视 + + + 城市话题 + + + 湾区全媒睇 + + + G4出动 + + + 警视 + + + 中国城市报道 + + + 湾区全媒睇 + + + 爱上纪录片 + + + 中国城市报道 + + + G4出动 + + + 湾区全媒睇 + + + 警视 + + + 广州法治 + + + 情与法 + + + 法治中国60分 + + + 科普大咖,公益,收台1 + + + 科普大咖,公益,收台2 + + + 开台,法治中国60分 + + + 府前直通车 + + + 说法 + + + 脱身(16) + + + 脱身(17) + + + 脱身(18) + + + 说法 + + + 情与法 + + + 府前直通车 + + + 说法 + + + 法治中国60分 + + + 府前直通车 + + + 说法 + + + 情与法 + + + 法治中国60分 + + + 府前直通车 + + + 情与法 + + + 说法 + + + 法治中国60分 + + + 金穗杯工作创新大赛 + + + 府前直通车 + + + 说法 + + + 情与法 + + + 脱身(19) + + + 脱身(20) + + + 脱身(21) + + + 府前直通车 + + + 说法 + + + 广州竞赛 + + + ONE周刊 + + + 体育赛事 + + + 体育节目 + + + 体育赛事 + + + 体育节目 + + + 体育赛事 + + + 体育节目 + + + 体育赛事 + + + 体育节目 + + + ONE周刊 + + + 体育赛事 + + + 体育节目 + + + 体育赛事 + + + 广西卫视 + + + 传奇剧场32集:神枪(17) + + + 重播:《菲阅——马伯庸谈史》 + + + 重播:百寿探秘(精编版) + + + 重播:自办节目 + + + 纪录中国故事 + + + 经典电影:智取华山 + + + 重播:壮语新闻 + + + 重播:海丝路 + + + 中华人民共和国国歌 + + + 重播:广西新闻 + + + 广西旅游天气预报 + + + 广西海洋天气预报 + + + 纪录中国故事 + + + 动画剧场 + + + 阳光剧场:苍狼 + + + 经典剧场39集:飞虎队(22) + + + 经典剧场39集:飞虎队(23) + + + 经典剧场39集:飞虎队(24) + + + 经典剧场39集:飞虎队(25) + + + 经典剧场39集:飞虎队(26) + + + 经典剧场39集:飞虎队(27) + + + 首播:海丝路 + + + 直播:广西新闻 + + + 广西天气预报 + + + 转播:新闻联播 + + + 美丽剧场40集:光荣与梦想(9) + + + 广西海洋天气预报 + + + 美丽剧场40集:光荣与梦想(10) + + + 首播:遇见好书 + + + 首播:百寿探秘(精编版) + + + 传奇剧场32集:神枪(18) + + + 传奇剧场32集:神枪(19) + + + 广西国际 + + + 经典剧场:40集:大山的女儿 23-24 + + + 大美广西 + + + 广西故事 + + + 时光剧场:40集:少年派2 11-13 + + + 书记县长当导游 + + + 天下剧场:16集:消失的孩子 2-4 + + + 中外纪录片展播 + + + 经典剧场:40集:大山的女儿 25-26 + + + 广西新闻 + + + 海丝路 + + + 时光剧场:40集:少年派2 14-16 + + + 天下剧场:16集:消失的孩子 5-7 + + + 广西新闻 + + + 海丝路 + + + 经典剧场:40集:大山的女儿 27-28 + + + 时光剧场:40集:少年派2 17-19 + + + 时尚中国 + + + 天下剧场:16集:消失的孩子 8-10 + + + 广西影视 + + + 老友一家亲(精选) + + + 午夜剧场 + + + 早安剧场 电视剧 + + + 早安剧场 电视剧 + + + 早安剧场 电视剧 + + + 高明养生堂 + + + 阳光剧场 36集 孤胆女英雄(21) + + + 阳光剧场 36集 孤胆女英雄(22) + + + 阳光剧场 36集 孤胆女英雄(23) + + + 阳光剧场 44集 黎明前的较量(24) + + + 轻松剧场 44集 黎明前的较量(25) + + + 轻松剧场 44集 黎明前的较量(26) + + + 轻松剧场 50集 浴血战狼(22) + + + 中华食医 + + + 轻松剧场 50集 浴血战狼(23) + + + 高明养生堂 + + + 活力剧场 44集 黎明前的较量(26) + + + 活力剧场 44集 黎明前的较量(27) + + + 活力剧场 44集 黎明前的较量(28) + + + 活力剧场 44集 黎明前的较量(29) + + + 温馨剧场 43集 深入敌后(1) + + + 温馨剧场 43集 深入敌后(2) + + + 专题 + + + 健康老友道 + + + 广西新闻 + + + 大美广西(重播) + + + 准点直播间(重播) + + + 海丝路(重播) + + + 在线大搜索(重播) + + + 新闻在线(重播) + + + 经济新观察(重播) + + + 纪录广西(重播) + + + 新闻在线(重播) + + + 在线大搜索(重播) + + + 准点直播间(重播) + + + 广西新闻(重播) + + + 经济新观察(重播) + + + 准点直播间(重播) + + + 新闻在线(重播) + + + 在线大搜索(重播) + + + 壮语新闻(重播) + + + 海丝路(重播) + + + 养生节目 + + + 在线大搜索(重播) + + + 正午播报(直播) + + + 在线大搜索(重播) + + + 广西新闻(重播) + + + 新闻在线(重播) + + + 正午播报(重播) + + + 在线大搜索(重播) + + + 养生节目 + + + 壮语新闻(重播) + + + 正午播报(重播) + + + 准点直播间(直播) + + + 在线大搜索(直播) + + + 新闻在线(直播) + + + 广西新闻 + + + 经济新观察 + + + 在线大搜索(重播) + + + 新闻在线(重播) + + + 广西新闻(重播) + + + 广西综艺旅游 + + + 法治最前线(12月1日) + + + 大家说法(12月1日) + + + 综艺旅游节目精编版 + + + 综艺旅游节目精编版 + + + 综艺旅游节目精编版 + + + 综艺旅游节目精编版 + + + 综艺旅游节目精编版 + + + 综艺旅游节目精编版 + + + 综艺旅游节目精编版 + + + 法治最前线(12月1日) + + + 大家说法 (12月1日) + + + 一键游广西(12月2日) + + + 中华食医 + + + 上午剧场:35集电视剧:决胜孤岛(19-20) + + + 高明健康课 + + + 法治最前线(12月1日) + + + 大家说法 (12月1日) + + + 下午剧场:31集电视剧:抗战娘子军(12-13) + + + 寻源探本 + + + 下午剧场:31集电视剧:抗战娘子军(14) + + + 高明健康课 + + + 下午剧场:31集电视剧:抗战娘子军(15-16) + + + 法治最前线(12月2日) + + + 畅游天气(12月2日) + + + 第一剧场:42集电视剧:谍影(5-7) + + + 魅力之旅—纪录广西(12月2日) + + + 经典剧场:27集电视剧:枪神崔铁飞(25-27) + + + 广西都市 + + + 重播:八桂之窗 + + + 重播:遇见好书 + + + 寰宇地理 + + + 重播:广西教育周刊 + + + 通宵剧场:45集电视剧:小娘惹(45) + + + 通宵剧场:36集电视剧:新京城四少(1-4) + + + 重播:遇见好书 + + + 重播:广西教育周刊 + + + 重播:健康广西 + + + 健康早班车 + + + 阳光剧场:36集电视剧:新京城四少(2-3) + + + 健康早班车 + + + 阳光剧场:36集电视剧:新京城四少(4-5) + + + 重播:广西教育周刊 + + + 午间剧场:40集电视剧:情定三生(21-23) + + + 重播:都市情缘 + + + 健康一点通 + + + 生活剧场:38集电视剧:绣娘无暇(27-29) + + + 一起向未来 + + + 重播:遇见好书 + + + 天气,点点看 + + + 情感剧场:38集电视剧:绣娘无暇(30-32) + + + 重播:天气,点点看 + + + 幸福剧场:40集电视剧:幺妹传奇(22) + + + 幸福剧场:40集电视剧:幺妹传奇(23) + + + 幸福剧场:40集电视剧:幺妹传奇(24) + + + 康巴卫视 + + + 康巴卫视新闻·(藏语)重播 + + + 康巴剧场 + + + 康巴欢乐汇英文版 + + + 启米时间(双语) + + + 频道主题曲.(汉语) + + + 央视新闻联播·(藏语)重播 + + + 康巴卫视新闻·(藏语)重播 + + + 拉姆报天气白天版 + + + 科普文化专题.藏语重播 + + + 主题MV展播 + + + 雪域高原(双语) + + + 康巴剧场(藏语汉文影视剧) + + + 科普文化专题 + + + 拉姆报天气白天版 + + + 康巴欢乐汇(汉语)重播 + + + 频道主题曲(藏语) + + + 央视新闻联播摘要(重播) + + + 康巴卫视新闻(重播) + + + 拉姆报天气白天版 + + + 动画城重播.(藏语)重播 + + + 康巴剧场(上午) + + + 快乐汉藏语重播 + + + 雪域高原(藏语汉文) + + + 周末大舞台(重播) + + + 藏歌金曲.(藏语)重播 + + + 央视新闻联播.(藏语)重播 + + + 康巴卫视新闻.(藏语)重播 + + + 康巴欢乐汇(藏语版).重播 + + + 康巴剧场(下午) + + + 启米时间(双语) + + + 科普文化专题.双语首播 + + + 动画城.藏语 + + + 拉姆报天气·首播 + + + 康巴欢乐汇(藏语)首播 + + + 快乐汉藏语·首播 + + + 藏歌金曲·首播 + + + 康巴剧场.藏语汉文 + + + 央视新闻联播·(藏语)首播 + + + 康巴卫视新闻·(藏语)首播 + + + 拉姆报天气·(藏语)重播 + + + 康巴讲坛(首播藏语汉文) + + + 康巴欢乐汇(汉语)首播 + + + 拉姆报天气·(藏语)重播 + + + 央视新闻联播·(藏语)重播 + + + 延边1台 + + + 译制之窗 + + + 每周一歌 + + + 一周要闻(汉) + + + 故乡之晨 + + + 点播舞台 + + + 早间剧场 + + + 上午剧场 + + + 一周要闻(朝) + + + 下午剧场 + + + 影视纪 + + + 动画片 + + + 我们的花园 + + + 每周一歌 + + + 延边新闻(朝) + + + 黄金剧场 + + + 故乡之晨 + + + 延边新闻(汉) + + + 电视剧场 + + + 延边新闻(朝) + + + 新闻联播(朝) + + + 专题片 + + + 延边2台 + + + 早间专题 + + + 新地产 + + + 天南地北延边人 + + + 延边形象片 + + + 天气预报白天 + + + 理财新时尚 + + + 剧场 + + + 专题 + + + 综艺一 + + + 剧场 + + + 专题 + + + 综艺二 + + + 专题一 + + + 风采车族 + + + 生活与法 + + + 身边 + + + 关注 + + + 剧场 + + + 身边 + + + 关注 + + + 延边新闻 + + + 理财新时尚 + + + 生活与法 + + + 天气预报晚间 + + + 新地产 + + + 延边卫视 + + + 译制剧 + + + 汉字宫 + + + 看神州 + + + 每周一歌 + + + 延边卫视新闻(朝) + + + 阿里郎剧场 + + + 钓鱼系列专题 + + + 译制剧 + + + 今日世界(朝) + + + 韩国料理教室 + + + 下午剧场:伪装者 + + + 动画片 + + + 中国朝鲜族歌谣百年史 + + + 新闻话题(朝) + + + 青春起跑线 + + + 点播舞台 + + + 延边卫视新闻(朝) + + + 看神州 + + + 中央电视台新闻联播(朝) + + + 晚间剧场 + + + 徐州文艺影视 + + + 第一消费 + + + 第一房产 + + + 上午剧场 + + + 第一消费 + + + 下午剧场 + + + 动画片 + + + 快乐成长 + + + 快乐剧场 + + + 徐州教育 + + + 快乐成长 + + + 精品影院 + + + 徐州新闻综合 + + + 开机宣传片 + + + 国歌 + + + 徐州新闻 + + + 家庭剧场 + + + 政风热线·督办榜 + + + 家庭剧场 + + + 直播徐州 + + + 徐州新闻 + + + 天气预报 + + + 中央新闻联播 + + + 情义剧场 + + + 天气预报 + + + 徐州夜新闻 + + + 徐州经济生活 + + + 开机宣传片 + + + 徐州梦想家 + + + 彭城和事佬 + + + 情感剧场 + + + 情感剧场 + + + 电视门诊 + + + 张慧帮你问 + + + 百姓剧场 + + + 天气预报 + + + 名医大课堂 + + + 第一房产 + + + 第一消费 + + + 徐州梦想家 + + + 快乐垂钓 + + + 2024王者之战:决赛第三天(下) + + + 第九届CCF总决赛明星荣耀赛 + + + 快乐垂钓商城会员日 + + + 2024王者之战:复赛第四天(上) + + + 快乐垂钓商城会员日 + + + 第二届黑坑拉力赛十六强晋级赛 + + + 金龙心选:自贡游钓鲢鳙攻略 + + + CFL常规赛上半程第五轮第五场 + + + CFL常规赛上半程第六轮第一场 + + + 钓赛大事件:快手钓贵州罗甸站(1) + + + 钓赛大事件:快手钓贵州罗甸站(2) + + + 快乐垂钓商城会员日 + + + 怀旧剧场 + + + 勿忘初心 27/32 + + + 勿忘初心 28/32 + + + 经典重温-中国电影 特快列车 + + + 勿忘初心 26/32 + + + 勿忘初心 27/32 + + + 勿忘初心 28/32 + + + 经典重温-中国电影 铁道卫士 + + + 北方大地 15/34 + + + 北方大地 16/34 + + + 北方大地 17/34 + + + 北方大地 18/34 + + + 神医喜来乐-5/31 嵺 + + + 神医喜来乐-6/31 + + + 神医喜来乐-7/31 桶 + + + 神医喜来乐-8/31 桶 + + + 经典重温-中国电影 花好月圆 + + + 大河儿女-(双语)-32/43 + + + 大河儿女-(双语)-33/43 + + + 勿忘初心 29/32 + + + 怡伴健康 + + + 精彩呈现 + + + 英国奥戈那折叠式取暖器-渠道(右) + + + 天涯浴血(第17集) + + + 天涯浴血(第18集) + + + 天涯浴血(第19集) + + + 重归故里(上) + + + 重归故里(下) + + + 琼剧《状元桥》 + + + 改善下垂 + + + 曲线美化 + + + 消除假胯 + + + 激活弹性 + + + 回家吃饭 + + + 李三枪(第22集) + + + 李三枪(第23集) + + + KGTOUE体感语音操控大吸力烟机-渠道(右) + + + 十四小时的营救 + + + 新边城浪子(第35集) + + + POKONDA智能四轮电动代步车-渠道(右) + + + 新边城浪子(第36集) + + + 侯宝林 郭启儒 + + + 孙怡 于雷 + + + 乌兰图雅 李寅飞 + + + 刘钊 孙超 杨议 + + + 姜昆 大兵 + + + 戴志诚 郑健 + + + 孩子谁该养 + + + KGTOUE体感语音操控大吸力烟机-渠道(右) + + + 难要的执行款 + + + 中秋(下) + + + POKONDA智能四轮电动代步车-渠道(右) + + + 第一场 山东青岛新兴vs河北巧战群雄 第6局 + + + 第一场 山东青岛新兴vs河北巧战群雄 第7局 + + + 第二场 重庆XTvs天津兄弟连 第1局 + + + 《时尚小咖秀》 + + + 第二场 重庆XTvs天津兄弟连 第2局 + + + 《八段锦》推荐第9期 + + + 第二场 重庆XTvs天津兄弟连 第3局 + + + 第二场 重庆XTvs天津兄弟连 第4局 + + + 《八段锦》推荐第9期 + + + 四平小伙的农场梦 + + + 惊悚悬疑 + + + KGTOUE体感语音操控大吸力烟机-渠道(右) + + + 侠义神捕之诡影 + + + 诡婳狐 + + + 致命玩家 + + + 公证人之大卫之死 + + + 检察风云 + + + 默杀 + + + POKONDA智能四轮电动代步车-渠道(右) + + + 伸冤人3 + + + 德国卡赫纯钛RO反渗透净水器-渠道(右) + + + 龙骨遗冢 + + + 英国奥戈那折叠式取暖器-渠道(右) + + + 狙击蜘蛛巢 + + + 成都公共 + + + 第一房产资讯 + + + 第一品牌 + + + 活到100岁 + + + 第一房产资讯 + + + 第一品牌 + + + 成都全接触 + + + 城市焦点报告 + + + 成都全接触 + + + 成视新闻 + + + 西望成都 + + + 5夜热视频 + + + 成都全接触 + + + 红绿灯 + + + 西望成都 + + + 成都全接触 + + + 娱情全接触 + + + 家装1000问 + + + 经典大剧场一 + + + 娱情全接触 + + + 经典大剧场二 + + + 第一家园 + + + 财经5频道 + + + 新闻冲击波 + + + 成都全接触 + + + 民生大剧场 + + + 娱情全接触 + + + 城市焦点报告 + + + 5夜热视频 + + + 大鑫请客 + + + 运动成都 + + + 第一房产资讯 + + + 第一品牌 + + + 成都少儿 + + + 第一品牌 + + + 第一房产-资讯 + + + 第一家居 + + + 第一健康 + + + 请等待 + + + 乐豆阳光剧场 + + + 第一家园(重播) + + + 第一品牌 + + + 快乐购房 + + + 乐豆亲子剧场(重播) + + + 寰宇地理 + + + 陈岳叔叔讲故事(重播) + + + 乐豆乐淘淘 + + + 乐豆逗斗堂之生日会(重播) + + + 乐豆乐淘淘 + + + 乐豆亲子剧场(重播) + + + 乐豆卡通剧场 + + + 小神龙俱乐部 + + + 优趣卡通 + + + 陈岳叔叔讲故事 + + + 乐豆逗斗堂 + + + 动画中国成长剧场 + + + 乐豆亲子剧场 + + + 第一家园 + + + 第一家居 + + + 第一房产 + + + 快乐购房 + + + 成都影视文艺 + + + 生活麻辣烫 + + + 热剧连播 + + + 夜猫子剧场 + + + 活到100岁 + + + 活到100岁.降糖乐园 + + + 生活麻辣烫 + + + 经典剧场 + + + 生活麻辣烫 + + + 经典剧场 + + + 夜猫子剧场 + + + 活到100岁 + + + 健康之门 + + + 精品剧场 + + + 凡人有事 + + + 生活麻辣烫 + + + 热剧连播 + + + 夜猫子剧场 + + + 成都新闻综合 + + + 第一房产.资讯 + + + 快乐购房 + + + 第一品牌 + + + 夜剧场 + + + 成视新闻 + + + 跟我去蹭饭 + + + 活到100岁 + + + 早间剧场 + + + 田园成都 + + + 快乐购房 + + + 成视午新闻 + + + 搏-天下 + + + 家装1000问 + + + 第一品牌 时尚健康 + + + 黄昏剧场 + + + 今晚8:00 + + + 天天橙掌柜 + + + 帮忙有一套 + + + 中央电视台新闻联播 + + + 天气预报 + + + 成视新闻 + + + 黄金剧场 + + + 今晚800 + + + 城视夜新闻 + + + 东周社 温故 + + + 帮忙有一套 + + + 成都经济资讯 + + + 欢乐家装 + + + 法治公开课 + + + 金沙讲坛 + + + 我是创客 + + + 经视盖碗茶 + + + 美丽人生 + + + 我是创客 + + + 欢乐家装 + + + 经视盖碗茶 + + + 美丽人生 + + + 美丽四川优秀作品展播 + + + 李伯清书场 + + + 百科全汇 + + + 李伯清书场 + + + 每日财经 + + + 李伯清书场 + + + 白天专题一 + + + 李伯清书场 + + + 白天专题二 + + + 百科全汇 + + + 每日财经 + + + 经视盖碗茶 + + + 欢乐家装 + + + 百科全汇 + + + 第一房产 + + + 李伯清书场 + + + 经视盖碗茶 + + + 美家美户 + + + 李伯清书场 + + + 经视盖碗茶 + + + 李伯清书场 + + + 欢乐家装 + + + 每日财经 + + + 李伯清书场 + + + 新闻故事汇 + + + 你好喜剧 + + + 第一房产快讯 + + + 深夜快递 + + + 美丽人生 + + + 美家美户 + + + 第一房产 + + + 成都都市生活 + + + 第一品牌 + + + 快乐购房 + + + 第一房产资讯 + + + 第一品牌 + + + 吃喝玩乐全接触 + + + 相亲进行时 + + + 开播 + + + 第一家园 + + + 第一房产 + + + 我是谁 + + + 幸福栏目剧 + + + 吃喝玩乐全接触 + + + 热线188 + + + 活到100岁 + + + 相亲进行时 + + + 920在行动 + + + 幸福栏目剧 + + + 食不可挡 + + + 快乐购房 + + + 红绿灯 + + + 有话好好说 + + + 养生龙门阵 + + + 红绿灯 + + + 热线188 + + + 920在行动 + + + 相亲进行时 + + + 食不可挡 + + + 真的有戏 + + + 第一品牌 + + + 成龙作品集 + + + 12th音乐盛典咪咕汇live 家家与萧秉治的歌曲串烧 + + + 第十届音乐盛典咪咕汇现场:吴奇个人歌曲串烧 + + + 动感地带芒果卡“无限X·青春派对”巡回演唱会(郑州站) + + + 动感地带芒果卡“无限X”巡回演唱会(成都站) + + + 神武4·动感地带第十四届音乐盛典咪咕汇 + + + 动感地带世界杯音乐盛典—动感·正当时(至臻盛典视角) + + + 主舞台:时代少年团用实力与态度碰撞经典,带动全场共鸣期待值拉满! + + + 第八届咪咕汇精编版,快来看看有没有你的爱豆?你的最爱? + + + 咪咕汇Jay第八届无线音乐盛典咪咕汇-哎哟,不错哦 + + + 火星大魔王惊艳开嗓!看华晨宇高能演唱《斗牛》丨咪咕汇 + + + 薛之谦《违背的青春》全是道不尽的故事,他的忧伤你懂吗丨咪咕汇 + + + 铁肺女神彭佳慧深情演唱《鹿港小镇》,全场都不安静了丨咪咕汇 + + + 第九届音乐盛典咪咕汇live《我爱他》 + + + 第九届音乐盛典咪咕汇live《你不是真正的快乐》 + + + 张惠妹《连名带姓》,是一首超好听的情歌,值得收藏聆听丨咪咕汇 + + + 第十届音乐盛典咪咕汇邓紫棋歌曲串烧 + + + 蔡依林-美人计+恋我癖+舞娘+Play(第十届音乐盛典咪咕汇现场高清) + + + 12th音乐盛典咪咕汇live 家家与萧秉治的歌曲串烧 + + + 第十届音乐盛典咪咕汇现场:吴奇个人歌曲串烧 + + + 动感地带芒果卡“无限X·青春派对”巡回演唱会(郑州站) + + + 动感地带芒果卡“无限X”巡回演唱会(成都站) + + + 神武4·动感地带第十四届音乐盛典咪咕汇 + + + 动感地带世界杯音乐盛典—动感·正当时(至臻盛典视角) + + + 主舞台:时代少年团用实力与态度碰撞经典,带动全场共鸣期待值拉满! + + + 第八届咪咕汇精编版,快来看看有没有你的爱豆?你的最爱? + + + 咪咕汇Jay第八届无线音乐盛典咪咕汇-哎哟,不错哦 + + + 火星大魔王惊艳开嗓!看华晨宇高能演唱《斗牛》丨咪咕汇 + + + 薛之谦《违背的青春》全是道不尽的故事,他的忧伤你懂吗丨咪咕汇 + + + 铁肺女神彭佳慧深情演唱《鹿港小镇》,全场都不安静了丨咪咕汇 + + + 第九届音乐盛典咪咕汇live《我爱他》 + + + 第九届音乐盛典咪咕汇live《你不是真正的快乐》 + + + 张惠妹《连名带姓》,是一首超好听的情歌,值得收藏聆听丨咪咕汇 + + + 第十届音乐盛典咪咕汇邓紫棋歌曲串烧 + + + 蔡依林-美人计+恋我癖+舞娘+Play(第十届音乐盛典咪咕汇现场高清) + + + 12th音乐盛典咪咕汇live 家家与萧秉治的歌曲串烧 + + + 第十届音乐盛典咪咕汇现场:吴奇个人歌曲串烧 + + + 动感地带芒果卡“无限X·青春派对”巡回演唱会(郑州站) + + + 揭阳生活 + + + 剧场 + + + 开台曲 + + + 揭阳新闻 + + + 剧场 + + + 民生热线 + + + 源味中国 + + + 乡里曲间 + + + 潮剧 + + + 动画片 + + + 民生热线 + + + 风味揭阳 + + + 乡里曲间 + + + 揭阳新闻 + + + 魅力榕城 + + + 爱健康 + + + 剧场 + + + 摄影 + + + 摄影课堂 + + + 摄影圈 + + + 玩转摄影 + + + 摄影作品展 + + + 摄影课堂 + + + 信息窗 + + + 器材点评堂 + + + 摄影圈 + + + 摄影课堂 + + + 摄影圈 + + + 玩转摄影 + + + 摄影作品展 + + + 摄影课堂 + + + 信息窗 + + + 器材点评堂 + + + 摄影圈 + + + 摄影课堂 + + + 摄影圈 + + + 玩转摄影 + + + 摄影作品展 + + + 摄影课堂 + + + 信息窗 + + + 器材点评堂 + + + 摄影圈 + + + 摄影课堂 + + + 摄影圈 + + + 玩转摄影 + + + 摄影作品展 + + + 摄影课堂 + + + 信息窗 + + + 器材点评堂 + + + 摄影圈 + + + 摄影课堂 + + + 摄影圈 + + + 玩转摄影 + + + 摄影作品展 + + + 摄影课堂 + + + 信息窗 + + + 器材点评堂 + + + 摄影圈 + + + 摄影课堂 + + + 摄影圈 + + + 玩转摄影 + + + 摄影作品展 + + + 摄影课堂 + + + 信息窗 + + + 器材点评堂 + + + 摄影圈 + + + 攀枝花新闻综合 + + + 《晚安》停播 + + + 精彩节目 + + + 东区播报 + + + 电视剧剧场 + + + 一周新闻综述 重播 + + + 西南大穿越 + + + 电视剧剧场 + + + 少儿节目 + + + 新闻天天看 + + + 全国新闻联播 转播 + + + 攀枝花新闻联播 + + + 天气预报 + + + 西区关注 + + + 现在开庭 + + + 真相30分 + + + 电视剧剧场 + + + 攀枝花新闻联播 重播 + + + 天气预报 + + + 收藏天下 + + + 翡翠奇缘(27) + + + 藏友三家谭济宁博物馆的火炮 + + + 藏友三家谭北齐崔芬墓壁画 + + + 收藏大讲堂文浩说玉(7) + + + 天下铜镜铜镜的溯源 + + + 天下铜镜春秋战国时期铜镜(上) + + + 天下铜镜春秋战国时期铜镜(下) + + + 藏友三家谭瓷片背后的故事 + + + 空中鉴宝(74) + + + 翡翠奇缘(27) + + + 藏友三家谭济宁博物馆的火炮 + + + 藏友三家谭北齐崔芬墓壁画 + + + 收藏大讲堂文浩说玉(7) + + + 天下铜镜铜镜的溯源 + + + 天下铜镜春秋战国时期铜镜(上) + + + 天下铜镜春秋战国时期铜镜(下) + + + 藏友三家谭瓷片背后的故事 + + + 空中鉴宝(74) + + + 翡翠奇缘(27) + + + 藏友三家谭济宁博物馆的火炮 + + + 藏友三家谭北齐崔芬墓壁画 + + + 收藏大讲堂文浩说玉(7) + + + 天下铜镜铜镜的溯源 + + + 天下铜镜春秋战国时期铜镜(上) + + + 天下铜镜春秋战国时期铜镜(下) + + + 藏友三家谭瓷片背后的故事 + + + 空中鉴宝(74) + + + 翡翠奇缘(27) + + + 藏友三家谭济宁博物馆的火炮 + + + 藏友三家谭北齐崔芬墓壁画 + + + 收藏大讲堂文浩说玉(7) + + + 天下铜镜铜镜的溯源 + + + 天下铜镜春秋战国时期铜镜(上) + + + 天下铜镜春秋战国时期铜镜(下) + + + 藏友三家谭瓷片背后的故事 + + + 空中鉴宝(74) + + + 翡翠奇缘(27) + + + 藏友三家谭济宁博物馆的火炮 + + + 藏友三家谭北齐崔芬墓壁画 + + + 收藏大讲堂文浩说玉(7) + + + 天下铜镜铜镜的溯源 + + + 天下铜镜春秋战国时期铜镜(上) + + + 天下铜镜春秋战国时期铜镜(下) + + + 藏友三家谭瓷片背后的故事 + + + 空中鉴宝(74) + + + 翡翠奇缘(27) + + + 藏友三家谭济宁博物馆的火炮 + + + 藏友三家谭北齐崔芬墓壁画 + + + 收藏大讲堂文浩说玉(7) + + + 天下铜镜铜镜的溯源 + + + 天下铜镜春秋战国时期铜镜(上) + + + 天下铜镜春秋战国时期铜镜(下) + + + 藏友三家谭瓷片背后的故事 + + + 空中鉴宝(74) + + + 节目结束 + + + 文物宝库 + + + 翡翠奇缘 + + + 老家的味道 + + + 白话文物 + + + 博物馆之夜 + + + 华豫之门 + + + 华豫鉴赏 + + + 考古进行时 + + + 华豫之门 + + + 国家宝藏 + + + 博物馆之夜 + + + 老家的味道 + + + 白话文物 + + + 博物馆之夜 + + + 华豫之门 + + + 华豫鉴赏 + + + 考古进行时 + + + 华豫之门 + + + 国家宝藏 + + + 翡翠奇缘 + + + 老家的味道 + + + 白话文物 + + + 博物馆之夜 + + + 华豫之门 + + + 华豫鉴赏 + + + 考古进行时 + + + 华豫之门 + + + 国家宝藏 + + + 华豫之门 + + + 铭鉴奇珍 + + + 白话文物 + + + 博物馆之夜 + + + 翡翠奇缘 + + + 华豫鉴赏 + + + 考古进行时 + + + 华豫之门 + + + 国家宝藏 + + + 新动漫 + + + 精彩呈现 + + + 动画剧场 + + + 动画片 + + + 动画剧场 + + + 动画片 + + + 动画剧场 + + + 动画片 + + + 动画剧场 + + + 动画片 + + + 动画剧场 + + + 动画片 + + + 动画剧场 + + + 动画片 + + + 动画剧场 + + + 动画片 + + + 动画剧场 + + + 动画片 + + + 动画剧场 + + + 动画片 + + + 动画剧场 + + + 动画片 + + + 动画剧场 + + + 动画片 + + + 动画剧场 + + + 动画片 + + + 动画剧场 + + + 动画片 + + + 动画剧场 + + + 动画片 + + + 动画剧场 + + + 动画片 + + + 动画剧场 + + + 新片放映厅 + + + 龙门飞雪:寻龙教 + + + 浴血阻击 + + + 大明监察御史 + + + 无名刀 + + + 烛影迷踪 + + + 缉仇 + + + 最后一次审判 + + + 密探之黑白局 + + + 密使 + + + 绝密追击 + + + 深海行动 + + + 突围 + + + 陀螺女孩 + + + 乌蒙奇缘 + + + 京都风云 + + + 醉剑侠 + + + 新疆体育健康 + + + 跟我耍大牌 + + + 巅峰赛事 + + + 巅峰赛事 + + + 体育赛事 + + + 养生堂 + + + 巅峰赛事 + + + 跟我耍大牌 + + + 养生堂 + + + 跟我耍大牌 + + + 养生堂 + + + 胜利之光 + + + 养生堂 + + + 奥运故事会 + + + 跟我耍大牌 + + + 巅峰赛事 + + + 新疆体育 + + + 跟我耍大牌 + + + 健康e生 + + + 巅峰赛事 + + + 新疆卫视 + + + 真实纪录 + + + 热播剧场 + + + 热播剧场 + + + 开心巴扎 + + + 青春激扬中国梦 + + + 星夜剧场 + + + 星夜剧场 + + + 经典·诵读 + + + 真实纪录 + + + 动画片剧场 + + + 新疆新闻联播 + + + 今日聚焦 + + + 红石榴剧场:知否知否应是绿肥红瘦(26) + + + 红石榴剧场:知否知否应是绿肥红瘦(27) + + + 红石榴剧场:知否知否应是绿肥红瘦(28) + + + 红石榴剧场:知否知否应是绿肥红瘦(29) + + + 红石榴剧场:知否知否应是绿肥红瘦(30) + + + 新闻午报 + + + 天山剧场 + + + 天山剧场 + + + 天山剧场 + + + 天山剧场 + + + 我们都是追梦人 + + + 转播中央台新闻联播 + + + 新疆新闻联播 + + + 今日聚焦 + + + 1001夜剧场:无间(11) + + + 1001夜剧场:无间(12) + + + 新疆天气预报 + + + 新疆新闻联播 + + + 我们都是追梦人 + + + 真实纪录 + + + 新闻夜班车 + + + 热播剧场 + + + 新疆少儿 + + + 雪莲花动漫剧场/汉 + + + 全天节目结束 + + + 版权页 + + + 动画片剧场/维 + + + 奇幻动漫剧场/汉 + + + 奇幻动漫剧场/汉 + + + 小小石榴籽 + + + 雪莲花 + + + 雪莲花动漫剧场/汉 + + + 雪莲花动漫剧场/汉 + + + 小小石榴籽 + + + 雪莲花动漫剧场/汉 + + + 雪莲花 + + + 雪莲花动漫剧场/汉 + + + 动画片剧场/哈 + + + 雪莲花动漫剧场/汉 + + + 新疆汉语影视 + + + 天气预报 + + + 经典影院 + + + 午夜影院 + + + 看电影 + + + 生活影院 + + + 新电影传奇 + + + 青春影院 + + + 新疆羊肉串百姓剧 + + + 动作影院 + + + 新电影传奇 + + + 看电影 + + + 新疆羊肉串百姓剧 + + + 钻石影院I + + + 钻石影院2 + + + 新疆汉语经济 + + + 民生剧场 + + + 新疆新闻联播 + + + 直播民生 + + + 田园剧场 + + + 直播民生 + + + 热播剧场 + + + 直播民生 + + + 健康公开课 + + + 致富田园 + + + 民生剧场 + + + 新疆汉语综艺 + + + 翡翠剧场:(43集):巡回检察组(29-31)不设置回看 + + + 行走山水间(58) + + + 真实纪录(2546) + + + 新疆味道(37) + + + 8集栏目:新民族舞大会(3) + + + 经典剧场:(48集):满仓进城(42-44)不设置回看 + + + 行走山水间(58) + + + 经典剧场:(48集):满仓进城(45-46)不设置回看 + + + 真实纪录(2547) + + + 传承经典感受魅力(186) + + + 每周金曲(155) + + + 8集栏目:馆长来了(2) + + + 10集栏目:楹联里的中国(2) + + + 翡翠剧场:(43集):巡回检察组(32-35)不设置回看 + + + 新视觉 + + + 英超第13轮:利物浦-曼城 + + + 乱世危情(49) + + + 萌宠特工队 + + + 乱世危情(48) + + + 乱世危情(49) + + + 萌宠特工队 + + + 乱世危情(48) + + + 乱世危情(49) + + + 英超第34轮:卢顿-布伦特福德 + + + 英超第34轮:埃弗顿-诺丁汉森林 + + + 寒战 + + + 雪鹰(1) + + + 雪鹰(2) + + + 2024-2025英超精华(11) + + + 2024-2025英超第1轮:阿森纳-狼队 + + + 英超第35轮:西汉姆联-利物浦 + + + 江南 + + + 雪鹰(3) + + + 雪鹰(4) + + + 江南 + + + 雪鹰(3) + + + 雪鹰(4) + + + 寒战 + + + 旅游卫视 + + + 纪录中国 + + + 凌晨剧场 + + + 全球国货之光 + + + 第1时尚 + + + 纪录中国 + + + 纪录中国 + + + 善行天下 + + + 动漫剧场 + + + 凌晨剧场 + + + 步步为营 + + + 大使家宴 + + + 海南新闻联播 + + + 阳光剧场 + + + 阳光剧场 + + + 阳光剧场 + + + 阳光剧场 + + + 阳光剧场 + + + 天气预报 + + + 海南新闻联播 + + + 转播中央台新闻联播 + + + 潮起海之南 + + + 视界 + + + 金椰剧场 + + + 星光剧场 + + + 风华正茂 + + + 无线新闻 + + + 深宵新闻报道 及 运动大本营 + + + 深宵新闻报道 及 三日天气预报 + + + 深宵新闻报道 及 寰宇掠影 + + + 深宵新闻报道 及 探古寻源 + + + 深宵新闻报道 及 三日天气预报 + + + 深宵新闻报道 及 中华掠影 + + + 深宵新闻报道 + + + 深宵新闻报道 + + + 深宵新闻报道 及 中华掠影 + + + 深宵新闻报道 及 三日天气预报 及 探古寻源 + + + 深宵新闻报道 及 寰宇掠影 + + + 深宵新闻报道 及 运动大本营 + + + 香港早晨 + + + 香港早晨 + + + 香港早晨 + + + 香港早晨 及 交通消息 + + + 香港早晨 及 交通消息 + + + 香港早晨 及 交通消息 + + + 新闻报道 及 中华掠影 + + + 开市第一击 及 新闻报道 及 三日天气预报 + + + 新闻报道 + + + 新闻报道 及 香港机遇新里程 及 港楼 . 讲楼 及 环球新闻档案 + + + 新闻报道 及 跨境理财新机遇 及 新闻档案 + + + 新闻报道 及 三日天气预报 及 时事通识 + + + 午间新闻 及 港楼 . 讲楼 + + + 午间新闻 + + + 新闻报道 及 中华掠影 及 时事通识 + + + 新闻报道 及 三日天气预报 及 香港机遇新里程 + + + 新闻报道 及 跨境理财新机遇 及 新闻档案 + + + 新闻报道 及 港楼 . 讲楼 + + + 新闻报道 及 深港沪快讯 及 环球新闻档案 + + + 新闻报道 及 三日天气预报 + + + 新闻报道 + + + 新闻报道 及 中华掠影 + + + 新闻报道 及 香港机遇新里程 及 港楼 . 讲楼 及 新闻档案 + + + 新闻报道 及 交通消息 及 三日天气预报 + + + 新闻报道 及 交通消息 及 时事通识 + + + 新闻报道 及 港楼 . 讲楼 + + + 新闻报道 + + + 无线7:30 一小时新闻 + + + 时事中国 及 香港机遇新里程 及 无线7:30 一小时新闻 及 天气报告 及 港楼 . 讲楼 + + + 新闻报道 及 世界观 及 跨境理财新机遇 + + + 新闻报道 及 大国外交 及 天气报告 及 新闻档案 + + + 时事多面睇 及 香港机遇新里程 + + + 新闻报道 及 环球新闻档案 + + + 新闻报道 及 大国外交 及 时事通识 + + + 新闻报道 及 世界观 及 财经多国度 及 三日天气预报 + + + 晚间新闻 及 大国外交 及 港楼 . 讲楼 + + + 晚间新闻 及 时事通识 + + + 无锡娱乐 + + + 悦谈 + + + 明珠戏苑 + + + 五星剧场:怒江之战(33-34) + + + 青春剧场:不惑之旅(33-34) + + + 童心童梦 + + + 娱乐院线 + + + 欢乐耍大牌 + + + 完美剧汇:我和我的三个姐姐(20-21) + + + 青春剧场:不惑之旅(35-36) + + + 无锡新闻综合 + + + 精彩呈现 + + + 芝麻胡同 + + + 请您欣赏 + + + 国歌 + + + 发现一本影集的背后 + + + 新居之约21集 + + + 新居之约22集 + + + 新居之约23集 + + + 觅江南-024 + + + 无锡一家人56拼车的缘分照 + + + 高清纪录片-送你一桌鲜(06-02) + + + 第一房产 + + + 第一看点 + + + 无锡警方 + + + 高清纪录片-吃在江苏(09-03) + + + 冷暖人生 + + + 觅江南-025 + + + 芝麻胡同 + + + 追风者 + + + 原味记忆-48 + + + 百家新说第01期少年不学鲁迅没有血性 + + + 请您欣赏(17:53:53:06结束) + + + 无锡生活 + + + 电视剧:铁马豪情的日子 7-8 + + + 扯扯老空 + + + 冷暖人生 + + + 健康好生活 + + + 冷暖人生 + + + 电视剧:假日暖洋洋 6-8 + + + 欢乐耍大牌 + + + 动画片:熊熊帮帮团II 48-49 + + + 电视剧:我最爱的家人 19-20 + + + 健康好生活 + + + 悦谈 + + + 第一看点 + + + 扯扯老空 + + + 冷暖人生 + + + 电视剧:杀尽财狼 20-21 + + + 记录片 + + + 无锡电视娱乐 + + + 精彩呈现 + + + 芳香之城传奇 + + + 请您欣赏 + + + 评弹-描金凤(18-2) + + + 锡剧-望岳情 + + + 中国通史-014 + + + 踏破硝烟 + + + 原味记忆-02 + + + 小敏家 + + + 中国通史-015 + + + LNRS冷暖人生2024年07月31日首播新 + + + 原味记忆-03 + + + 童心童梦 + + + 觅江南-019 + + + 请您欣赏 + + + 无锡电视生活 + + + 精彩呈现 + + + 请您欣赏 + + + 铁马豪情的日子 + + + 觅江南-083 + + + 扯扯老空 + + + 原味记忆-07 + + + 发现一本影集的背后 + + + 冷暖人生 + + + 中国通史-049 + + + 健康好生活 + + + 纪录片-与丝路打交道的人03守护者 + + + 假日暖洋洋 + + + 第一房产 + + + 原味记忆-07 + + + 高清纪录片-万物滋养第一季(12-07) + + + 高清动画剧-少年苏东坡传奇(52-10) + + + 高清动画剧-少年苏东坡传奇(52-11) + + + 请您欣赏 + + + 无锡电视经济 + + + 精彩呈现 + + + 当前直播尹莉播 + + + 扯扯老空 + + + 第一房产 + + + 第一看点 + + + XQCLTHW锡企潮立太湖湾2024年07月12日首播 + + + 阿福聊斋 + + + 今晚60分 + + + 尹莉播 + + + 请您欣赏(白天6:50左右开机) + + + 八段锦养生操 + + + 扯扯老空 + + + 国史演义-9.3胜利日大阅兵-03 + + + 阿福聊斋 + + + 原味记忆-03 + + + 扯扯老空 + + + XQCLTHW锡企潮立太湖湾2024年07月12日首播 + + + 第一房产 + + + 无锡警方 + + + 阿喜帮忙321烟道改造味道大 + + + 今晚60分 + + + 尹莉播 + + + 健康好生活 + + + 第一看点 + + + 原味记忆-03 + + + 扯扯老空 + + + 第一房产 + + + XQCLTHW锡企潮立太湖湾2024年07月12日首播 + + + 第一看点 + + + 今晚60分 + + + 尹莉播 + + + 红房子 + + + 纪录片-香港我们的故事03海阔天空 + + + 第一房产 + + + XQCLTHW锡企潮立太湖湾2024年07月12日首播 + + + 请您欣赏(晚间17:59左右开机) + + + 无锡经济 + + + 养老保健操 + + + 扯扯老空 + + + 阿福聊斋 + + + 无锡财税 + + + 悦谈 + + + 第一房产 + + + 一访定心 + + + 阿喜帮忙 + + + 纪录片 + + + 健康好生活 + + + 第一看点 + + + 扯扯老空 + + + 第一房产 + + + 今晚60分 + + + 芳华剧场:红房子 15-16 + + + 锡企-潮立太湖 + + + 联播无锡 + + + 扯扯老空 + + + 第一看点 + + + 锡企·潮立太湖湾 + + + 联播无锡 + + + 非常剧场:铁血战狼 24-26 + + + 今晚60分 + + + 无锡都市资讯 + + + 精彩呈现 + + + 枪械师 + + + 阿福聊斋 + + + 请您欣赏 + + + 无锡新闻 + + + 今晚60分 + + + 尹莉播 + + + 枪械师 + + + 中国通史-083 + + + 第一看点 + + + 纪录片-香港我们的故事03海阔天空 + + + 阿福聊斋 + + + 国史演义-穿越明朝的魔咒-05 + + + 国史演义-穿越明朝的魔咒-06 + + + 阿喜帮忙331燃气管脱落隐患大 + + + 百家新说第34期杜甫之仁:无情未必真豪杰 + + + 生死黎平13集 + + + 生死黎平14集 + + + 中国通史-083 + + + WXYJR无锡一家人(捐款下) + + + 冷暖人生 + + + 正在热播都市枪械师30 + + + 请您欣赏 + + + 日照科教 + + + 大众健康 + + + 日照财经 + + + 阳光旅游 + + + 日照生活帮 + + + 剧场 + + + 大众健康 + + + 日照生活帮 + + + 阳光旅游 + + + 金融日照 + + + 今日楼市 + + + 设计家 + + + 吃在日照 + + + 爱上车生活 + + + 剧场 + + + 日照生活帮 + + + 金融日照 + + + 阳光旅游 + + + 剧场 + + + 今日楼市 + + + 设计家 + + + 吃在日照 + + + 爱上车生活 + + + 大众健康 + + + 日照生活帮 + + + 金融日照 + + + 剧场 + + + 大众健康 + + + 今日楼市 + + + 设计家 + + + 日照财经 + + + 阳光旅游 + + + 日照生活帮 + + + 日照财经 + + + 大众健康 + + + 天气预报 + + + 日照生活帮 + + + 阳光旅游 + + + 剧场 + + + 早期教育 + + + 萌宝战警之源途之战(5) + + + 猪猪侠之超星五灵侠英雄传(6) + + + 猪猪侠之超星五灵侠英雄传(7) + + + 猪猪侠之超星五灵侠英雄传(8) + + + 猪猪侠之超星五灵侠英雄传(9) + + + 猪猪侠之超星五灵侠英雄传(10) + + + 舒克贝塔212 + + + 开心超人联盟之超人计划2 + + + 海豚帮帮号74 + + + 海豚帮帮号75 + + + 家长朋友圈:让孩子们跑起来(7) + + + 音符环游记 + + + 成语魔方(4) + + + 神探艾小坡 + + + 家长朋友圈:让孩子们跑起来(8) + + + 小明的绘本时光之最美中国故事 + + + 动车侠之未来高铁城16 + + + 动车侠之未来高铁城17 + + + 动车侠之未来高铁城18 + + + 动车侠之未来高铁城19 + + + 动车侠之未来高铁城20 + + + 蹦蹦跳跳爱健康刘畊宏版(1) + + + 心奇爆龙战车之战龙合体2 + + + 心奇爆龙战车之战龙合体3 + + + 心奇爆龙战车之战龙合体4 + + + 心奇爆龙战车之战龙合体5 + + + 家长朋友圈:让孩子们跑起来(8) + + + 给孩子们的大师讲堂(21) + + + 蹦蹦跳跳爱健康刘畊宏版(1) + + + 神秘的牛奶瓶 + + + 渔夫和金鱼的故事 + + + 山羊不吃天堂草 + + + 小明的绘本时光之最美中国故事 + + + 海豚帮帮号76 + + + 海豚帮帮号77 + + + 猪猪侠之超星五灵侠英雄传(11) + + + 猪猪侠之超星五灵侠英雄传(12) + + + 猪猪侠之超星五灵侠英雄传(13) + + + 猪猪侠之超星五灵侠英雄传(14) + + + 猪猪侠之超星五灵侠英雄传(15) + + + 神秘的牛奶瓶 + + + 渔夫和金鱼的故事 + + + 山羊不吃天堂草 + + + 穿越云南三千年(8) + + + 舒克贝塔213 + + + 开心超人联盟之超人计划3 + + + 萌宝战警之源途之战(6) + + + 少年师爷之宋词小神童10 + + + 开心超人联盟之神奇实验室12 + + + 啦咘啦哆警长3(4) + + + 小明的绘本时光之最美中国故事 + + + 神秘的牛奶瓶 + + + 渔夫和金鱼的故事 + + + 山羊不吃天堂草 + + + 蹦蹦跳跳爱健康刘畊宏版(1) + + + 给孩子们的大师讲堂(21) + + + 家长朋友圈:让孩子们跑起来(8) + + + 海豚帮帮号76 + + + 海豚帮帮号77 + + + 穿越云南三千年(8) + + + 舒克贝塔213 + + + 开心超人联盟之超人计划3 + + + 蹦蹦跳跳爱健康刘畊宏版(1) + + + 给孩子们的大师讲堂(21) + + + 明星大片 + + + 双面疑云 + + + 喜剧大会 + + + 06_北国英雄 + + + 07_北国英雄 + + + 08_北国英雄 + + + 09_北国英雄 + + + 33_喜羊羊与灰太狼之嘻哈闯世界之三 + + + 34_喜羊羊与灰太狼之嘻哈闯世界之三 + + + 28_且试天下 + + + 英国奥戈那折叠式取暖器-渠道(右) + + + 29_且试天下 + + + 30_且试天下 + + + 31_且试天下 + + + 德国米技炉周年庆超值惠选装-渠道(右) + + + 人鱼江湖 + + + 06_间谍过家家第2季 + + + 美康利健激光前列腺治疗仪-渠道(右) + + + 07_间谍过家家第2季 + + + BEYONPAN钛锅升级款-渠道(右) + + + 22_故乡,别来无恙 + + + 23_故乡,别来无恙 + + + 24_故乡,别来无恙 + + + 明珠台 + + + 晚间新闻 + + + 动物天使 + + + 中国24小时 + + + 金融概要 + + + 祝君晚安 + + + 祝君晚安 + + + 祝君晚安 + + + 金融概要 + + + 新造电视 + + + NBC世界新闻 + + + 金融概要 + + + 金融行情 + + + 交易直播室 + + + 金融行情 + + + 财经快讯 + + + 金融行情 + + + 交易直播室 + + + 金融行情 + + + CGTN环球瞭望 + + + 金融行情 + + + 交易直播室 + + + 金融行情 + + + 财经快讯 + + + 金融行情 + + + 交易直播室 + + + 金融行情 + + + 普通话新闻报道 + + + 新造电视 + + + 芝麻街 + + + 搞鬼孖宝 + + + 笑笑小电影 + + + 世界真细小 + + + 手语新闻报道 + + + 七点半新闻报道 + + + 天气报告、财经消息 + + + 明珠杂志 + + + 我要做厨神:澳洲篇 + + + 拥抱美好时光 + + + 拥抱美好时光 + + + 晚间新闻 + + + 星光影院 + + + 经典影院 + + + 经典影院 + + + 经典影院 + + + 经典影院 + + + 经典影院 + + + 经典影院 + + + 经典影院 + + + 星空卫视 + + + 动画片 + + + 电影 + + + 电影 + + + 纪录中国 + + + 星空直播间 + + + 电影 + + + 电影 + + + 剧场 + + + 动画片 + + + 电影 + + + 纪录中国 + + + 星空直播间 + + + 电影 + + + 电影 + + + 剧场 + + + 动画片 + + + 了不起的长城 + + + 同一堂课 + + + 星空直播间 + + + 电影 + + + 剧场 + + + 星空购物 + + + 星空购物 + + + 星空购物 + + + 星空购物 + + + 星空购物 + + + 星空购物 + + + 星空购物 + + + 星空购物 + + + 星空购物 + + + 星空购物 + + + 曼联电视 + + + 佐治贝斯第1集 + + + 麦卡尼的故事第1集 + + + 史高斯:自我联赛第1集 + + + 躬身而退话碧咸第1集 + + + 爱尔兰红魔第1集 + + + 费SIR领导力第1集 + + + 曼联命脉第4集 + + + 青年军在香港第1集 + + + 曼联命脉短片第1集 + + + 欧霸杯第5集-曼联对博德基林 + + + 比赛日回顾第116集-曼联对爱华顿 + + + 躬身而退话碧咸第1集 + + + 英超24/25第13集-曼联对爱华顿 + + + 比赛日回顾第116集-曼联对爱华顿 + + + 曼联命脉短片第1集 + + + 英超24/25第13集-曼联对爱华顿 + + + 比赛日回顾第116集-曼联对爱华顿 + + + 英超24/25第13集-曼联对爱华顿 + + + 比赛日回顾第116集-曼联对爱华顿 + + + 英超24/25第13集-曼联对爱华顿 + + + 比赛日回顾第116集-曼联对爱华顿 + + + 英超精华第1集-曼联对富咸 + + + 英超精华第4集-修咸顿对曼联 + + + 联赛杯精华第1集-曼联对班士利 + + + 英超精华第5集-水晶宫对曼联 + + + 杭州导视 + + + 晚间剧场 + + + 晚间剧场 + + + 深夜剧场 + + + 深夜剧场 + + + 深夜剧场 + + + 蓝步海豚 + + + 凌晨剧场 + + + 凌晨剧场 + + + 凌晨剧场 + + + 上午剧场 + + + 上午剧场 + + + 上午剧场 + + + 上午剧场 + + + 午间剧场 + + + 午间剧场 + + + 午间剧场 + + + 下午剧场 + + + 下午剧场 + + + 下午剧场 + + + 休闲剧场 + + + 休闲剧场 + + + 休闲剧场 + + + 黄金剧场 + + + 黄金剧场 + + + 黄金剧场 + + + 晚间剧场 + + + 杭州影视 + + + 剧场 + + + 武林红毯秀 + + + 健康起义 + + + 剧场 + + + 大牌价到298 + + + 万有影力 + + + 剧场 + + + 大牌价到298 + + + i尚生活 + + + 宝贝星计划 + + + 剧场 + + + 未来之星 + + + 剧场 + + + 直播:精彩赛场 + + + 健康起义 + + + 平安365 + + + 影家龙之争霸 + + + 杭州房产 + + + 杭州房产报道 + + + 爱上家居 + + + 王牌设计师 + + + 房产开讲 + + + 杭州房产报道 + + + 66看房车 + + + 天生有我材 + + + 静屏 + + + 杭州房产报道 + + + 66看房车 + + + 房产开讲 + + + 由法来说房 + + + 爱尚家居 + + + 王牌设计师 + + + 杭州房产报道 + + + 爱上家居 + + + 由法来说房 + + + 杭州房产报道 + + + 装修深一度 + + + 杭州房产报道 + + + 66看房车 + + + 房产开讲 + + + 天生有我材 + + + 杭州房产报道 + + + 装修深一度 + + + 爱上家居 + + + 王牌设计师 + + + 装修深一度 + + + 天生有我材 + + + 杭州房产报道 + + + 由法来说房 + + + 房产开讲 + + + 杭州房产报道 + + + 爱上家居 + + + 王牌设计师 + + + 天生有我材 + + + 房产开讲 + + + 杭州房产报道 + + + 房产开讲 + + + 66看房车 + + + 由法来说房 + + + 装修深一度 + + + 杭州房产报道 + + + 66看房车 + + + 爱上家居 + + + 王牌设计师 + + + 房产开讲 + + + 66看房车 + + + 杭州房产报道 + + + 天生有我材 + + + 杭州房产报道 + + + 66看房车 + + + 房产开讲 + + + 由法来说房 + + + 爱上家居 + + + 房产开讲 + + + 66看房车 + + + 杭州文化 + + + 传奇 + + + 济公说故事 + + + 剧场 + + + 剧场 + + + 时尚风云榜 + + + 影视风云榜 + + + 娱乐现场 + + + 韩国反转剧 + + + 快乐厨房 + + + 娱乐现场 + + + 戏曲大舞台 + + + 莲花剧场 + + + 中国股市报道 + + + 电视剧 + + + 杭州生活 + + + 栏目 + + + 栏目 + + + 我和你说(重) + + + 栏目 + + + 《家装第一线》特约 + + + 家装第一线 + + + 栏目 + + + 栏目 + + + 开心大玩家(竞技版)重播 + + + 栏目 + + + 栏目 + + + 栏目 + + + 新农村气象 + + + 生活气象站 + + + 我是星主播第五场(上) + + + 我是星主播第五场(下) + + + 生活大参考 + + + 做给你看 + + + 我和你说 + + + 幸福空间 + + + 开心大玩家(竞技版) + + + 家装第一线 + + + 生活气象站 + + + 大家一起搨便宜 + + + Q汽车房产栏目前 + + + 今日汽车 + + + 房产零距离 + + + 杭州综合 + + + 投资艺术 + + + 我们圆桌会周日版 + + + 早间气象 + + + 健康生活早知道(上) + + + 早间气象 + + + 健康生活早知道(下) + + + 杭州新闻联播(重播版) + + + 新闻60分+民情观察室(重播版) + + + 走遍杭州 + + + 穿越经典 + + + 穿越经典 + + + 杭州党建 + + + 直播12345 + + + 我们圆桌会周日版 + + + 穿越经典 + + + 剧场 + + + 健康朋友圈 + + + 新闻60分 + + + 杭州气象 + + + 新闻联播 + + + 杭州新闻联播 + + + 今日关注 + + + 民情观察室 + + + 财经第一线 + + + 剧场 + + + 装修有一套 + + + 今日汽车 + + + 房产零距离 + + + 健康朋友圈 + + + 杭州西湖明珠 + + + 全城热恋之老妈来了 + + + 全城热恋之老妈来了 + + + 阿六头说新闻 + + + 和事佬 + + + 金刚说装修 + + + 剧场 + + + 剧场 + + + 气象 + + + 明珠新闻 + + + 和事佬 + + + 和事佬 + + + 开心茶馆 + + + 今日最大牌 + + + 阿六头说新闻 + + + 气象 + + + 夜游神 + + + 装修这点事 + + + 房产零距离 + + + 今日汽车 + + + 剧场 + + + 杭州青少体育 + + + 寰宇地理 + + + 熊猫和小跳羚(51) + + + 熊猫和小跳羚(52) + + + 爱上舞台 + + + 心世界奇遇(23) + + + 心世界奇遇(24) + + + 青少新闻周刊 + + + 健康运动家 + + + 寰宇地理 + + + 青少新闻周刊 + + + 健康运动家 + + + 寰宇地理 + + + 青少新闻周刊 + + + 环球运动汇 + + + 心世界奇遇(23) + + + 心世界奇遇(24) + + + 环球运动汇 + + + 青少新闻周刊 + + + 健康运动家 + + + 寰宇地理 + + + 青少新闻周刊 + + + 环球运动汇 + + + 爱上舞台 + + + 健康运动家 + + + 青少新闻周刊 + + + 熊猫和小跳羚(52) + + + 熊猫和小跳羚(1) + + + 熊猫和小跳羚(2) + + + 心世界奇遇(25) + + + 心世界奇遇(26) + + + 爱上舞台 + + + 体育超维度体坛快讯等 + + + 健康运动家 + + + 寰宇地理 + + + 环球运动汇 + + + 体育超维度体坛快讯等 + + + 爱上舞台 + + + 健康运动家 + + + 心世界奇遇(25) + + + 心世界奇遇(26) + + + 熊猫和小跳羚(1) + + + 熊猫和小跳羚(2) + + + 寰宇地理 + + + 柳州公共 + + + 女人故事 + + + 健康第一线 + + + 奇趣大自然 + + + 乐乐园 + + + 知音人间 + + + 记者再报告 + + + 夜栈 + + + 我是传奇 + + + 乐乐园 + + + 楼市 + + + 密探 + + + 方圆之间 + + + 健康人生 + + + 抢鲜放映 + + + 儿童剧场 + + + 歌曲 + + + 车之友 + + + 记者再报告 + + + 知音人间 + + + 夜栈 + + + 我是传奇 + + + 方圆之间 + + + 密探 + + + 柳州新闻 + + + 爱我生活 + + + 梅卿快车道 + + + 健康人生 + + + 楼市 + + + 柳州新闻综合 + + + 晨曲 + + + 柳州新闻(重播) + + + 纪录中国(重播) + + + 爱我生活(重播) + + + 健康人生(重播) + + + 记者再报告(重播) + + + 新闻夜视(重播) + + + 方圆之间(重播) + + + 新播报(重播) + + + 社会档案(重播) + + + 柳州新闻(重播) + + + 车之友(重播) + + + 楼市(重播) + + + 记者再报告(重播) + + + 经典剧场 + + + 传奇 + + + 纪录中国(重播) + + + 记者再报告 + + + 广西新闻 + + + 新闻联播 + + + 柳州新闻 + + + 方圆之间 + + + 社会档案 + + + 新闻夜市 + + + 纪录中国 + + + 柳州新闻(重播) + + + 新播报 + + + 柳州科教 + + + 健康柳州 + + + 惠生活 + + + 新播报 + + + 尚学堂 + + + 惠生活 + + + 新播报 + + + 健康柳州 + + + 惠生活 + + + 尚学堂 + + + 新播报 + + + 健康柳州 + + + 惠生活 + + + 新播报 + + + 健康柳州 + + + 尚学堂 + + + 走进梧州历史 + + + 尚学堂 + + + 惠生活 + + + 新播报 + + + 健康柳州 + + + 惠生活 + + + 尚学堂 + + + 新播报 + + + 梅州-1 + + + 梅州新闻联播 + + + 全省新闻联播 + + + 明晚节目预告 + + + 节目预告 + + + 梅州新闻联播 + + + 娱乐现场 + + + 今日梅州(普语) + + + 重播昨晚《财富》 + + + 重播《民生820》 + + + 中午天气预报 + + + 电视剧 + + + 动画片 + + + 今日梅州(普语) + + + 《财富》 + + + 天气预报 + + + 转播《中央台新闻联播》 + + + 天天读网 + + + 事事关心 + + + 梅州新闻联播 + + + 民生820 + + + 电视剧 + + + 事事关心 + + + 重播《民生820》,天气预报 + + + 梨园 + + + 曲艺 + + + 曲艺 + + + 吕剧 + + + 吕剧 + + + 吕剧 + + + 豫剧 + + + 豫剧 + + + 豫剧 + + + 梨园春 + + + 吕剧 + + + 梨园春 + + + 豫剧 + + + 豫剧 + + + 豫剧 + + + 曲艺 + + + 曲艺 + + + 河北梆子 + + + 欢乐剧场 + + + 海绵宝宝历险记 + + + 澳大利亚小兄妹钟情中国武术 小小年纪答题接球样样通 + + + 第3期:突发火情→消防新生体验真实出警 + + + 第3期加更:冲浪少年们的欢乐宿舍ktv + + + 完美伴侣(第11集) + + + 完美伴侣(第12集) + + + 完美伴侣(第13集) + + + 完美伴侣(第14集) + + + 完美伴侣(第15集) + + + 渠道(右) + + + 周深空灵嗓音诠释爱情名篇 许魏洲硬核摇滚演绎经典(第07集) + + + 我们的婚姻(第28集) + + + 我们的婚姻(第29集) + + + 我们的婚姻(第30集) + + + 渠道(右) + + + 我们的婚姻(第31集) + + + 我们的婚姻(第32集) + + + 【相声】张云雷助阵《说与唱》 + + + 渠道(右) + + + 【相声】台湾美女表演《唱给你听》 + + + 【相声】单口相声《路怒症》表演:周培岩 + + + 【相声】《那些年》表演:金霏、陈曦 + + + 【相声】《选择题》表演:孟鹤堂、周九良 + + + 【相声】《老赖》表演:孟鹤堂、周九良 + + + 快把我夫人带走(第23集) + + + 快把我夫人带走(第24集) + + + 快把我夫人带走(第25集) + + + 渠道(右) + + + 快把我夫人带走(第26集) + + + 快把我夫人带走(第27集) + + + 梦中的那片海(第25集) + + + 渠道(右) + + + 梦中的那片海(第26集) + + + 梦中的那片海(第27集) + + + 梦中的那片海(第28集) + + + “一馔千年”主厨刘强解锁古籍菜谱密码 复原宋代汴梁美味 + + + 欢笑剧场 + + + 国厨来了1(3):百味 + + + 国厨来了1(4):山珍 + + + 两个人的世界(5) + + + 两个人的世界(6) + + + 大耳朵图图之霸王龙在行动 + + + 一起烘焙吧1(3):梦龙卷 + + + 一起烘焙吧1(4):翻糖蛋糕 + + + 国厨来了1(3):百味 + + + 两个人的世界(7) + + + 两个人的世界(8) + + + 太空狗之月球大冒险 + + + 健身私享课2:下肢运动能力初级 + + + 健身私享课2:下肢运动能力进阶 + + + 两个人的世界(3) + + + 两个人的世界(4) + + + 艺术大厅 + + + 国厨来了1(3):百味 + + + 国厨来了1(4):山珍 + + + 两个人的世界(5) + + + 两个人的世界(6) + + + 大耳朵图图之霸王龙在行动 + + + 一起烘焙吧1(3):梦龙卷 + + + 一起烘焙吧1(4):翻糖蛋糕 + + + 两个人的世界(7) + + + 两个人的世界(8) + + + 太空狗之月球大冒险 + + + 巨兵长城传1(13) + + + 巨兵长城传1(14) + + + 巨兵长城传1(15) + + + 巨兵长城传1(16) + + + 以器之名1(2):瓷碎重圆 + + + 两个人的世界(9) + + + 两个人的世界(10) + + + 艺术大厅 + + + 国厨来了1(3):百味 + + + 一起烘焙吧1(3):梦龙卷 + + + 一起烘焙吧1(4):翻糖蛋糕 + + + 欧美影院 + + + 欧美影院 + + + 欧美影院 + + + 欧美影院 + + + 欧美影院 + + + 欧美影院 + + + 欧美影院 + + + 欧美影院 + + + 欧美影院 + + + 欧美影院 + + + 欧美影院 + + + 欧美影院 + + + 欧美影院 + + + 欧美影院 + + + 歌手2024 + + + 娱乐急先锋 + + + 剧场 + + + 娱乐急先锋 + + + 剧场 + + + 我是大赢家 + + + 321动起来 + + + 剧场 + + + 我是大赢家 + + + 娱乐急先锋 + + + 剧场 + + + 岁月如金 + + + 武术世界 + + + 巅峰擂台 + + + 以武会影 特别版 + + + 功夫课堂:少林连环拳 + + + 功夫课堂:太极缠丝功 + + + 功夫课堂:四势五行太极 + + + 功夫课堂:少林八段锦 + + + 以武会影 + + + 武林人物周刊:啸谈武林 + + + 武观天下:功夫少林 + + + 瑜伽课堂 + + + 巅峰擂台特约之:JCK战觉城 + + + 武观天下 + + + 武道健康特约之:健康小贴士 + + + 巅峰擂台特约之:ONE冠军赛 + + + 巅峰擂台 + + + 武林人物周刊:啸谈武林 + + + 武道健康特约之:健康小贴士 + + + 武观天下 + + + 武林风 + + + 武林笼中对 + + + 武观天下 + + + 巅峰擂台 + + + 武汉外语 + + + 静屏 + + + 城市的温度 + + + 奇趣大自然 + + + 武汉遇上法兰西 + + + 武汉新闻 + + + 全球瞭望 + + + 武汉遇上法兰西 + + + 奇趣大自然 + + + 全球瞭望 + + + 准时转播:CGTN + + + HanNews + + + 好说法 + + + 城市圈之声 + + + 全球瞭望 + + + 奇趣大自然 + + + 武汉少儿 + + + 动漫火车 + + + 快乐时光 + + + 动画魔匣 + + + 十分好玩 + + + 校园故事 + + + Happy Flash + + + 动漫火车 + + + 传奇 + + + 梦想花开 + + + 爆笑一班 + + + 神奇科学 + + + 动漫火车 + + + 爆笑一班 + + + 神奇科学 + + + 淘米梦想剧场 + + + 快乐时光 + + + 动画魔匣 + + + 小小视角 + + + 少儿戏曲广播操 + + + 幸福武汉 + + + 梦想花开 + + + 传奇 + + + 锋狂实验室 + + + 闲画部落 + + + 家风 + + + 小小视角 + + + 问津国学 + + + 平安辞典 + + + 鸟瞰武汉 + + + 结束 + + + 武汉教育 + + + 奇趣大自然 + + + 绿野中国 + + + 奇趣大自然 + + + 绿野中国 + + + 健身堂 + + + 行业影像志 + + + 戏曲大课堂 + + + 家长学堂 + + + 大思政-我是辅导员 + + + 家长学堂 + + + 教育视点 + + + 档案 + + + 精彩非洲 + + + 育人剧场 + + + 精品纪录片 + + + 人间世 + + + 转播全国教育新闻联播 + + + 转播新闻联播 + + + 教育新闻 + + + 如果国宝会说话 + + + 精品纪录片 + + + 育人剧场 + + + 档案 + + + 百家新说 + + + 武汉教育电视台 + + + 开始 + + + 绿野中国 + + + 奇趣大自然 + + + 奇趣大自然 + + + 绿野中国 + + + 养生堂 + + + 国史演义 + + + 戏曲大课堂 + + + 纪录片 + + + 家长学堂 + + + 教育视点 + + + 档案 + + + 国史演义 + + + 育人剧场 + + + 纪录片 + + + 全国教育新闻联播 + + + 转播中央台新闻联播 + + + 教育新闻 + + + 纪录片 + + + 档案 + + + 育人剧场 + + + 纪录片 + + + 博物馆之夜 + + + 结束 + + + 武汉文体 + + + 大武汉戏码头 + + + 综艺传真 + + + 静屏 + + + 动画魔匣 + + + 综艺传真 + + + 爆笑一班日播版 + + + 大武汉戏码头 + + + 文体在线 + + + 剧:底线 + + + 乐游武汉 + + + 文体在线 + + + 动画魔匣 + + + 十分好玩 + + + 新都市茶座 + + + 乐游武汉 + + + 文体在线 + + + 天天故事会 + + + 都市茶座之江城岔巴子 + + + 乐游武汉 + + + 文体在线 + + + 爆笑一班日播版 + + + 快乐时光 + + + 综艺传真 + + + HAPPYFLASH + + + 乐游武汉 + + + 文体在线 + + + 大武汉戏码头 + + + 小小视角 + + + 梦想花开 + + + 新都市茶座 + + + 快乐时光 + + + 文体在线 + + + 乐游武汉 + + + 剧:烽火抗大 + + + 武汉新闻综合 + + + 开始 + + + 一起回家 + + + 民生e线 + + + 剧场 + + + 民生e线 + + + 一起回家 + + + 武汉新闻 + + + 民生e线 + + + 民生e线 + + + 白金剧场 + + + 一起回家 + + + 江城警讯 + + + 映像武汉 + + + 中国时间 + + + 第一动力 + + + 武汉新闻 + + + 乐游武汉 + + + 文体在线 + + + 剧场 + + + 劳动者 + + + 江城警讯 + + + 天天故事会 + + + 民生e线 + + + 转播中央台新闻联播 + + + 武汉新闻 + + + 都市圈之声 + + + 都市气象 + + + 长江视点 + + + 武汉之眼 + + + 黄金剧场 + + + 映像武汉 + + + 黄金剧场 + + + 武汉新闻 + + + 都市圈之声 + + + 生活家 + + + 中国时间 + + + 结束 + + + 武汉电视剧 + + + 电视剧:无间 + + + 欢剧一堂 + + + 蓝宝石剧场:八零九零 + + + 欢剧一堂 + + + 红宝石剧场:打开生活的正确方式 + + + 欢剧一堂 + + + 经典大放送:心想事成 + + + 钻石剧场:面具背后 + + + 欢剧一堂 + + + 天天故事会 + + + 电视剧:平凡的荣耀 + + + 武汉科技生活 + + + 养生堂 + + + 生活全报道 + + + 武汉新闻 + + + 我的选择 + + + 静屏 + + + 暖暖的味道 + + + 舌尖上的武汉 + + + 我的选择 + + + 暖暖的味道 + + + 快乐生活一点通 + + + 都市茶座 + + + 暖暖的味道 + + + 天天故事会 + + + 暖暖的味道 + + + 电视剧:狂飙 + + + 我的选择 + + + 舌尖上的武汉 + + + 暖暖的味道 + + + 生活全报道 + + + 养生堂 + + + 暖暖的味道 + + + 健康武汉 + + + 生活全报道 + + + 我的选择 + + + 第一动力 + + + 养生堂 + + + 暖暖的味道 + + + 快乐生活一点通 + + + 我的选择 + + + 都市茶座 + + + 生活全报道 + + + 舌尖上的武汉 + + + 暖暖的味道 + + + 电视剧:狂飙 + + + 暖暖的味道 + + + 都市茶座 + + + 暖暖的味道 + + + 武汉科教生活 + + + 精彩节目 + + + 暖暖的味道 + + + 养生堂 + + + 生活全报道 + + + 武汉新闻 + + + 我的选择 + + + 暖暖的味道 + + + 舌尖上的武汉 + + + 我的选择 + + + 暖暖的味道 + + + 快乐生活一点通 + + + 都市茶座 + + + 暖暖的味道 + + + 天天故事会 + + + 暖暖的味道 + + + 电视剧 + + + 我的选择 + + + 舌尖上的武汉 + + + 暖暖的味道 + + + 生活全报道 + + + 养生堂 + + + 暖暖的味道 + + + 健康武汉 + + + 生活全报道 + + + 我的选择 + + + 第一动力 + + + 养生堂 + + + 快乐生活一点通 + + + 我的选择 + + + 都市茶座 + + + 生活全报道 + + + 舌尖上的武汉 + + + 天天家常菜 + + + 电视剧 + + + 都市茶座 + + + 暖暖的味道 + + + 武汉经济 + + + 江城尖板眼 + + + 江城岔巴子 + + + 剧场 + + + 第一直播室 + + + 剧场 + + + 江城岔巴子 + + + 江城尖板眼 + + + 爱尚家 + + + 剧场 + + + 江城微影院 + + + 爱尚家 + + + 江城岔巴子 + + + 你不知道的事 + + + 第一房产 + + + 爱尚家 + + + 江城女人花 + + + 江城微影院 + + + 幸福武汉 + + + 剧场 + + + 鸟瞰武汉 + + + 生活全报道 + + + 结束 + + + 民视 + + + 精彩呈现 + + + 台湾演义第709集 + + + 元气加油站第2616集 + + + 活力天天乐第1244集 + + + 消费高手第7805集 + + + 美凤有约第5036集 + + + 元气加油站第2570集 + + + 美凤有约第5067集 + + + 消费高手第7813集 + + + 民视六点晨间新闻 + + + 民视七点晨间新闻 + + + 元气加油站第2752集 + + + 美凤有约第4809集 + + + 元气加油站第2840集 + + + 健康面对面第35集 + + + 消费高手第7758集 + + + 活力天天乐第1264集 + + + 元气加油站第2864集 + + + 消费高手第7722集 + + + 民视无线午间新闻 + + + 美凤有约第5079集 + + + 爱的荣耀第283集 + + + 新歌介绍第93集 + + + 消费高手 + + + 消费高手第7816集 + + + 美凤有约第5037集 + + + 健康面对面第58集 + + + 快乐故事屋第1063集 + + + 美凤有约第5062集 + + + 民视晚间台语新闻 + + + 美食十一X厨第51集 + + + 民视晚间新闻 + + + 爱的荣耀第284集 + + + 医学大联盟第409集 + + + 爱的荣耀第284集 + + + 求索动物 + + + 兽医毕业班(4) + + + 野地造屋Ⅲ(3) + + + 落基山兽医杰夫Ⅱ(3) + + + 捕猎响尾蛇Ⅱ3 + + + 德州兽医三人组Ⅱ(5) + + + 动物一家亲1 + + + 拉美野生大地5 + + + 猫狗大战(1) + + + 兽医毕业班(1) + + + 再见灰熊(1) + + + 野地造屋Ⅲ(3) + + + 猫狗大战(2) + + + 我的动物家族(1) + + + 我的动物家族(2) + + + 落基山兽医杰夫Ⅱ(1) + + + 捕猎响尾蛇Ⅱ2 + + + 宠物淘气包Ⅲ1 + + + 动物一家亲1 + + + 救猫特攻队1 + + + 猫狗大战(1) + + + 兽医毕业班(1) + + + 再见灰熊(1) + + + 丛林动物之家Ⅱ1 + + + 金枪鱼大战1 + + + 落基山兽医杰夫Ⅱ(2) + + + 捕猎响尾蛇Ⅱ3 + + + 宠物淘气包Ⅲ2 + + + 动物一家亲2 + + + 救猫特攻队2 + + + 猫狗大战(2) + + + 兽医毕业班(2) + + + 陆行鲨之岛 + + + 求索生活 + + + 玩泥巴赚大钱Ⅱ(3) + + + 阿耶莎的家庭厨房Ⅱ(1) + + + 阿耶莎的家庭厨房Ⅱ(2) + + + 蛋糕天王(3) + + + 成为百万富翁发明家(4) + + + 珍品拍卖王(6) + + + 爸妈当红娘Ⅱ(1) + + + 深海捕鲍Ⅳ(1) + + + 同床异梦大装修(1) + + + 宣传片 + + + 不可思议旅馆Ⅲ(2) + + + 哈吉家的六个宝贝(3) + + + 婚纱二选一Ⅲ(4) + + + 旧货猎人(7) + + + 明星佳肴(3) + + + 明星佳肴(4) + + + 末代极圈居民(6) + + + 野地造屋Ⅲ(2) + + + 六千金在我家Ⅲ(1) + + + 宣传片 + + + 玩泥巴赚大钱Ⅱ(3) + + + 阿耶莎的家庭厨房Ⅱ(1) + + + 阿耶莎的家庭厨房Ⅱ(2) + + + 阿耶莎的家庭厨房Ⅱ(1) + + + 阿耶莎的家庭厨房Ⅱ(2) + + + 成为百万富翁发明家(4) + + + 珍品拍卖王(6) + + + 爸妈当红娘Ⅱ(1) + + + 深海捕鲍Ⅳ(1) + + + 同床异梦大装修(1) + + + 宣传片 + + + 玩泥巴赚大钱Ⅱ(5) + + + 特莉萨的南方厨房Ⅺ(1) + + + 特莉萨的南方厨房Ⅺ(2) + + + 星光熠熠交谊舞(6) + + + 野外筑营达人(6) + + + 珍品拍卖王(7) + + + 小家庭进行曲Ⅱ(2) + + + 深海捕鲍Ⅳ(2) + + + 顶级游泳胜地Ⅱ(1) + + + 宣传片 + + + 求索科学 + + + 纪录片 + + + 纪录栏目 + + + 纪录片 + + + 纪录栏目 + + + 纪录片 + + + 纪录栏目 + + + 纪录片 + + + 纪录栏目 + + + 纪录片 + + + 纪录栏目 + + + 纪录片 + + + 纪录栏目 + + + 纪录片 + + + 纪录栏目 + + + 纪录片 + + + 纪录栏目 + + + 纪录片 + + + 纪录栏目 + + + 纪录片 + + + 纪录栏目 + + + 纪录片 + + + 纪录栏目 + + + 纪录片 + + + 纪录栏目 + + + 纪录片 + + + 纪录栏目 + + + 纪录片 + + + 纪录栏目 + + + 求索纪录 + + + 超炫美式机车Ⅸ(5) + + + 美丽乡村在浙里(1) + + + 美丽乡村在浙里(2) + + + 不朽宣传片、不朽 + + + 共富看浙里:年轻的朋友来相会 + + + 共富看浙里Ⅱ + + + 我与大运河(1) + + + 我与大运河(2) + + + 我与大运河(2) + + + 我与大运河(3) + + + 我与大运河(4) + + + 我与大运河(5) + + + 我与大运河(6) + + + 流言终结者之最(2) + + + 宠物淘气包(4) + + + 爱在垦荒时(4) + + + 爱在垦荒时(4) + + + 科技玩物360Ⅳ(2) + + + 宵夜大比拼(5) + + + 绝境求生手册(5) + + + 超炫美式机车Ⅸ(5) + + + 冰湖浪人Ⅱ(6) + + + 麦基家的六胞胎(1) + + + 终极之旅2018 + + + 行行出状元Ⅱ(22) + + + 贴近埃及王图坦卡门(3) + + + 精品啤酒大师(1) + + + 阿拉斯加金矿的赌注Ⅴ(23) + + + 蛮野之家(1) + + + 网络它最红(1) + + + 过重家族(4) + + + 同心协力救地球(3) + + + 沉重人生现况追踪(2) + + + 探险寻宝(5) + + + 求索记录 + + + 超炫美式机车Ⅸ(5) + + + 美丽乡村在浙里(1) + + + 美丽乡村在浙里(2) + + + 不朽宣传片不朽 + + + 年轻的朋友来相会 + + + 共富看浙里Ⅱ + + + 我与大运河(1) + + + 我与大运河(2) + + + 我与大运河(2) + + + 我与大运河(3) + + + 我与大运河(4) + + + 我与大运河(5) + + + 我与大运河(6) + + + 流言终结者之最(2) + + + 宠物淘气包(4) + + + 爱在垦荒时(4) + + + 爱在垦荒时(4) + + + 科技玩物360Ⅳ(2) + + + 宵夜大比拼(5) + + + 绝境求生手册(5) + + + 超炫美式机车Ⅸ(5) + + + 冰湖浪人Ⅱ(6) + + + 麦基家的六胞胎(1) + + + 终极之旅2018 + + + 行行出状元Ⅱ(22) + + + 贴近埃及王图坦卡门(3) + + + 精品啤酒大师(1) + + + 阿拉斯加金矿的赌注Ⅴ(23) + + + 蛮野之家(1) + + + 网络它最红(1) + + + 过重家族(4) + + + 同心协力救地球(3) + + + 沉重人生现况追踪(2) + + + 探险寻宝(5) + + + 报废车的复活Ⅱ(9) + + + 汕头文旅体育 + + + 生活帮 + + + 重播潮汕风 + + + 重播养生有道 + + + 剧场 + + + 剧场 + + + 剧场 + + + 动画片 + + + 剧场 + + + 养生有道 + + + 剧场 + + + 养生有道 + + + 汕头新闻综合 + + + 精彩呈现 + + + 锦绣南歌(52) + + + 闭台曲1 + + + 闭台曲2 + + + 中华人民共和国国歌 + + + 汕头新闻 + + + 今日视线 + + + 广东卫视新闻 + + + 潮艺长廊(2) + + + 健康新生活 + + + 寻梦泡泡岛(11) + + + 寻梦泡泡岛(12) + + + 三体(11) + + + 三体(12) + + + 汕头新闻 + + + 汕头旧事 + + + 潮艺长廊(2) + + + 今日视线 + + + 潮剧:宇宙锋(下) + + + 超级飞侠ⅩⅣ(7) + + + 超级飞侠ⅩⅣ(8) + + + 广东卫视新闻 + + + 转播中央台新闻联播 + + + 汕头新闻 + + + 汕头旧事 + + + 聊猎外马路(4) + + + 破晓东方(3) + + + 今日视线 + + + 汕头新闻 + + + 我是姚璇秋(2) + + + 汕头经济生活 + + + 重播汕头新闻 + + + 天气预报 + + + 厝边头尾 + + + 剧场 + + + 潮剧:胭脂河 + + + 美食潮 + + + 天气预报 + + + 剧场 + + + 剧场 + + + 厝边头尾 + + + 美食潮 + + + 今日视线(潮语) + + + 天气预报 + + + 厝边头尾 + + + 双响炮 + + + 汕头新闻(潮语) + + + 天气预报 + + + 剧场 + + + 汕头综合 + + + 锦绣南歌(52) + + + 闭台曲1 + + + 闭台曲2 + + + 中华人民共和国国歌 + + + 汕头新闻 + + + 今日视线 + + + 广东卫视新闻 + + + 潮艺长廊(2) + + + 健康新生活 + + + 寻梦泡泡岛(11) + + + 寻梦泡泡岛(12) + + + 三体(11) + + + 三体(12) + + + 汕头新闻 + + + 汕头旧事 + + + 潮艺长廊(2) + + + 今日视线 + + + 潮剧:宇宙锋(下) + + + 超级飞侠14(7) + + + 超级飞侠14(8) + + + 广东卫视新闻 + + + 转播中央台新闻联播 + + + 汕头新闻 + + + 汕头旧事 + + + 聊猎外马路(4) + + + 破晓东方(3) + + + 今日视线 + + + 汕头新闻 + + + 我是姚璇秋(2) + + + 汕尾新闻综合 + + + 汕尾新闻 + + + 中国城市报道 + + + 电视剧 + + + 方言新闻 + + + 视点 + + + 前沿讲座 + + + 真情追踪 + + + 电视剧 + + + 动画片 + + + 中国城市报道 + + + 方言新闻 + + + 转CCTV1新闻联播 + + + 转广东卫视新闻 + + + 汕尾新闻 + + + 警声 + + + 真情追踪 + + + 电视剧 + + + 看粤东 + + + 江苏休闲体育 + + + 休闲物语 + + + 荔枝健身 + + + 巅峰赛事 + + + 超级战队 + + + 巅峰赛事 + + + 健康新7点 + + + 休闲物语 + + + 耍大牌 + + + 休闲物语 + + + 健康新7点 + + + 休闲物语 + + + 荔枝健身 + + + 天天体彩 + + + 挑战不可能(上)(重播) + + + 休闲物语 + + + 挑战不可能(下)(重播) + + + 休闲物语 + + + 勇往直前乐拍拍 + + + 休闲物语 + + + 民星斗地主 + + + 江苏体育 + + + 耍大牌 + + + 休闲物语 + + + 阳光少年 + + + 荔枝健身 + + + 勇往直前乐拍拍(上) + + + 休闲物语 + + + 荔枝健身 + + + 勇往直前乐拍拍(下) + + + 休闲物语 + + + 挑战不可能(重播) + + + 休闲物语 + + + 挑战不可能(重播) + + + 休闲物语 + + + 荔枝健身 + + + 耍大牌 + + + 江苏体育 + + + 荔枝健身 + + + 巅峰赛事 + + + 说走就走 + + + 江苏体育 + + + 天天体彩 + + + 民星斗地主 + + + 休闲物语 + + + 荔枝健身 + + + 超级战队 + + + 江苏优漫卡通 + + + 赛尔号1 + + + 赛尔号2 + + + 天眼归来 + + + 无敌鹿战队 + + + 熊出没之冬日乐翻天 + + + 超级飞侠 + + + 超级飞侠 + + + 优漫星未来 + + + 开心超人 + + + 海底小纵队 + + + 海底小纵队 + + + 来玩吧 + + + 开心超人 + + + 少年故事大会 + + + 猪猪侠之竞速小英雄 + + + 百变校巴 + + + 棉花糖和云朵妈妈之暖心回响 + + + 熊出没之冬日乐翻天 + + + 来玩吧 + + + 超级飞侠17 + + + 大脚丫恐龙家族 + + + 海底小纵队在中国 + + + 来玩吧 + + + 巴啦啦小魔仙之曜星守护者 + + + 炫卡斗士2 + + + 爆裂飞车之晶码迷踪 + + + 熊出没之冬日乐翻天 + + + 宠物旅店 + + + 赵琳的探险日记 + + + 冰雪之名 + + + 赛尔号1 + + + 江苏体育休闲 + + + 休闲物语 + + + 荔枝健身 + + + 巅峰赛事 + + + 超级战队 + + + 巅峰赛事 + + + 健康新7点 + + + 休闲物语 + + + 耍大牌 + + + 休闲物语 + + + 健康新7点 + + + 休闲物语 + + + 荔枝健身 + + + 天天体彩 + + + 挑战不可能(上)(重播) + + + 休闲物语 + + + 挑战不可能(下)(重播) + + + 休闲物语 + + + 勇往直前乐拍拍 + + + 休闲物语 + + + 民星斗地主 + + + 江苏体育 + + + 耍大牌 + + + 休闲物语 + + + 阳光少年 + + + 荔枝健身 + + + 勇往直前乐拍拍(上) + + + 休闲物语 + + + 荔枝健身 + + + 勇往直前乐拍拍(下) + + + 休闲物语 + + + 挑战不可能(重播) + + + 休闲物语 + + + 挑战不可能(重播) + + + 休闲物语 + + + 荔枝健身 + + + 耍大牌 + + + 江苏体育 + + + 荔枝健身 + + + 巅峰赛事 + + + 说走就走 + + + 江苏体育 + + + 天天体彩 + + + 民星斗地主 + + + 休闲物语 + + + 荔枝健身 + + + 超级战队 + + + 江苏卫视 + + + 晚间新闻 + + + 阅读阅美第二季 + + + 纪录片:诗画江南 + + + 纪录片:诗画江南 + + + 纪录片:诗画江南 + + + 纪录片 + + + 万家灯火 + + + 纪录片:江南文脉 + + + 江苏新时空 + + + 早间剧场 + + + 我爱古诗词 + + + 上午剧场:老农民 + + + 上午剧场:老农民 + + + 上午剧场:老农民 + + + 上午剧场:老农民 + + + 正午江苏 + + + 非诚勿扰 + + + 新相亲大会 + + + 下午剧场:人民警察 + + + 下午剧场:人民警察 + + + 新闻眼 + + + 江苏新时空 + + + 时空气象站 + + + 转播中央台新闻联播 + + + 幸福剧场:暗夜与黎明(7) + + + 幸福剧场:暗夜与黎明(8) + + + 一站到底 + + + 新相亲大会 + + + 晚间新闻 + + + 江苏国际 + + + 江苏新时空 + + + 纪录 + + + 快乐一家 + + + 走读江南 + + + 长江视野 + + + 走读江南 + + + 杨澜访谈录(重播) + + + 走读江南 + + + 快乐一家 + + + 经典剧场 + + + 快乐一家 + + + 人文剧场 + + + 快乐一家 + + + 你好,江苏 + + + 赚翻天 + + + 人文剧场 + + + 长江视野 + + + 赚翻天 + + + 快乐一家 + + + 经典剧场 + + + 长江视野 + + + 走读江南 + + + 长江剧场 + + + 你好,江苏 + + + 走读江南 + + + 杨澜访谈录(重播) + + + 纪录 + + + 长江剧场 + + + 江苏城市 + + + 纪录片 + + + 美好时代 + + + 人间真情 + + + 纪录片 + + + 约见名医 + + + 天气预报 + + + 零距离 + + + 天气预报 + + + 老开心啦 + + + 明理说法 + + + 剧场 + + + 天气预报 + + + 剧场 + + + 剧场 + + + 城市梦想家 + + + 天气预报 + + + 选择 + + + 约见名医 + + + 天气预报 + + + 城市梦想家 + + + 老开心啦 + + + 剧场 + + + 剧场 + + + 剧场 + + + 约见名医 + + + 明理说法 + + + 新城市资讯 + + + 食色生香 + + + 零距离 + + + 老开心啦 + + + 德行天下 + + + 明理说法 + + + 天气预报 + + + 城市第一剧场 + + + 城市第一剧场 + + + 天气预报 + + + 城市梦想家 + + + 人间真情 + + + 纪录片 + + + 江苏影视 + + + 电视剧 + + + 谢谢你来了(重播) + + + 谢谢你来了(重播) + + + 谢谢你来了(重播) + + + 电视剧 + + + 无声的功勋 + + + 电视剧 + + + 人间真情 + + + 荔枝小剧场 + + + 剧说那些事儿 + + + 电视剧 + + + 马兰花开 + + + 结束 + + + 江苏教育 + + + 奇趣大自然 + + + 江苏校园安全报告 + + + 一站到底(重播) + + + 江南文脉 + + + 教育周刊 + + + 奇趣大自然 + + + 微讲堂 + + + 传承人 + + + 一站到底(重播) + + + 重温经典 + + + 一站到底(重播) + + + 勇者大冲关 + + + 传承人 + + + 未来之星 + + + 凡事讲礼 + + + 爱国主义教育电视剧展播 + + + 奇趣大自然 + + + 传承人 + + + 重温经典 + + + 奇趣大自然 + + + 爱国主义教育电视剧展播 + + + 百炼成钢 + + + 奇趣大自然 + + + 教育周刊 + + + 今日科学 + + + 勇者大冲关 + + + 无声的功勋 + + + 江苏职教风采 + + + 开放大学 + + + 江苏校园安全报告 + + + 无声的功勋 + + + 创投合伙人 + + + 重温经典 + + + 一站到底(重播) + + + 江苏教育电视台 + + + 奇趣大自然 + + + 江苏校园安全报告 + + + 一站到底(重播) + + + 江南文脉 + + + 教育周刊 + + + 奇趣大自然 + + + 微讲堂 + + + 传承人 + + + 一站到底(重播) + + + 重温经典 + + + 一站到底(重播) + + + 勇者大冲关 + + + 传承人 + + + 未来之星 + + + 凡事讲礼 + + + 爱国主义教育电视剧展播 + + + 奇趣大自然 + + + 传承人 + + + 重温经典 + + + 奇趣大自然 + + + 爱国主义教育电视剧展播 + + + 百炼成钢 + + + 奇趣大自然 + + + 教育周刊 + + + 今日科学 + + + 勇者大冲关 + + + 无声的功勋 + + + 江苏职教风采 + + + 开放大学 + + + 江苏校园安全报告 + + + 无声的功勋 + + + 创投合伙人 + + + 重温经典 + + + 一站到底(重播) + + + 江苏新闻 + + + 时代问答 + + + 网罗天下 + + + 评新而论 + + + 网罗天下 + + + 新闻360 + + + 人文纪录 + + + 新闻360 + + + 评新而论 + + + 网罗天下 + + + 新闻360 + + + 你好江苏 + + + 早安江苏 + + + 网罗天下 + + + 新闻眼 + + + 政风热线:市长上线 + + + 晚霞 + + + 人文纪录 + + + 新闻空间站 + + + 新闻360 + + + 网罗天下 + + + 新闻空间站 + + + 人间真情 + + + 百炼成钢 + + + 看见中国 + + + 评新而论 + + + 新闻空间站 + + + 晚霞 + + + 人文纪录 + + + 百炼成钢 + + + 看见中国 + + + 网罗天下 + + + 新闻360 + + + 评新而论 + + + 百炼成钢 + + + 黄金时间 + + + 新闻眼 + + + 江苏新时空 + + + 评新而论 + + + 百炼成钢 + + + 网罗天下 + + + 看见中国 + + + 新闻眼 + + + 江苏综艺 + + + 综艺能量站 + + + 缘来不晚 + + + 情感驿站 + + + 白天剧场 + + + 综艺能量站 + + + 非常医道 + + + 综艺能量站 + + + 缘来不晚 + + + 综艺能量站 + + + 缘来不晚 + + + 美好生活荔枝帮 + + + 味道 + + + 为爱转身 + + + 味道 + + + 缘来不晚 + + + 味道 + + + 综艺能量站 + + + 非常医道 + + + 综艺能量站 + + + 精品剧场 + + + 精品剧场 + + + 江西公共农业 + + + 经典剧场 + + + 爱在旅途 + + + 好剧连连看 + + + 谈讬 + + + 新闻晚高峰 + + + 目击者 + + + 好剧直通车 + + + 夜来香 + + + 午夜剧场 + + + 江西卫视 + + + 我的铁血金戈梦(20) + + + 南来北往(35) + + + 南来北往(36) + + + 非遗美食 + + + 正者无敌(17) + + + 正者无敌(18) + + + 正者无敌(19) + + + 正者无敌(20) + + + 正者无敌(21) + + + 小豆的微观世界(16) + + + 中华人民共和国国歌 + + + 江西新闻联播 + + + 江西天气预报 + + + 金牌调解 + + + 美味人生 + + + 再造之恩(31) + + + 再造之恩(32) + + + 再造之恩(33) + + + 午间气象 + + + 经典传奇 + + + 食不相瞒 + + + 金牌调解 + + + 信者无敌(1) + + + 信者无敌(2) + + + 信者无敌(3) + + + 信者无敌 + + + 信者无敌(4) + + + 社会传真 + + + 江西新闻联播 + + + 江西天气预报 + + + 转播中央台新闻联播 + + + 信仰(11) + + + 信仰(12) + + + 传奇故事 + + + 金牌调解 + + + 新闻夜航 + + + 我的铁血金戈梦(21) + + + 江西少儿 + + + 缤纷剧场 + + + 动画片 + + + 哈尼动画 + + + 哈尼电影专场 + + + 童星梦工厂 + + + 动画片 + + + 动画片 + + + 动画片 + + + 哈尼亲子剧场 + + + 健康365 + + + 江西影视旅游 + + + 深夜剧场 + + + 剧场 + + + 经典剧场 + + + 养生专题栏目 + + + 好剧重播 + + + 欢乐四频道 + + + 娱评天下 + + + 黄金剧场 + + + 黄金剧场 + + + 江西新闻 + + + 票房影院 + + + 上午剧场 + + + 大幕追击 + + + 欢乐逗地主 + + + 下午剧场 + + + 经典影院 + + + 第一地产 + + + 黄金剧场 + + + 大幕追击 + + + 票房影院 + + + 经典影院 + + + 江西移动 + + + 剧场 + + + 剧场 + + + 剧场 + + + 剧场 + + + 剧场 + + + 我的天呐 + + + 赣闻周刊 + + + 专题节目 + + + 行走江西 + + + 早间剧场 + + + 早间剧场 + + + 医药探秘 + + + 传奇剧场 + + + 传奇剧场 + + + 传奇剧场 + + + 传奇剧场 + + + 医药探秘 + + + 经典永恒 + + + 专题节目 + + + 钻石剧场 + + + 钻石剧场 + + + 经典永恒 + + + 夜剧场 + + + 夜剧场 + + + 结束 + + + 江西经济生活 + + + 航拍江西 + + + 经典剧场 + + + 午间解盘 + + + 情感剧场 + + + 天天健康 + + + 经视播报 + + + 财富故事 + + + 航拍江西 + + + 热播剧场 + + + 纪录中国 + + + 尖峰剧场 + + + 江西都市 + + + 通宵剧场六集连播 + + + 《都市现场》60分钟精编版(重播) + + + 《快乐生活一点通》 + + + 《e早晨报》60分钟直播版块 + + + 精选剧场四集连播 + + + 《地宝当家》(重播) + + + 《都市60分》60分钟直播版块 + + + 《谁是赢家》 + + + 女性剧场三集连播 + + + 《快乐生活一点通》精编版 + + + 《地宝当家》 + + + 《都市现场》90分钟直播版块 + + + 《都市情缘》 + + + 《晚间800》 + + + 《都市剧场》黄金剧(第1集) + + + 《都市剧场》黄金剧(第2集) + + + 《拍案》 + + + 江西新闻联播(重播) + + + 都市晚剧场 + + + 江门侨乡生活 + + + 新闻共同睇 + + + 世界多美丽 + + + 江门新时空 + + + 剧场 + + + 剧场 + + + 诗书画 + + + 剧场 + + + 剧场 + + + 科普大篷车 + + + 诗书画 + + + 爱生活 + + + 圈中人 + + + 财经速递 + + + 新闻共同睇 + + + 江门新时空 + + + 专家话防疫 + + + 侨都气象 + + + 情感剧场 + + + 新闻共同睇 + + + 世界多美丽 + + + 江门综合 + + + 世界多美丽 + + + 剧场 + + + 江门新时空 + + + 科普大篷车 + + + 剧场 + + + 剧场 + + + 剧场 + + + 剧场 + + + 世界多美丽 + + + 转播中央新闻联播 + + + 合家欢剧场 + + + 新闻共同睇 + + + 江门新时空 + + + 侨都气象 + + + 科普大篷车 + + + 汽摩 + + + 开始 + + + 爱车具乐部 + + + GO时尚 + + + 名车欣赏 + + + 爱车具乐部 + + + 名车欣赏 + + + 关机版 + + + 汽摩竞技场 + + + 68号车探 + + + 名车欣赏 + + + GO时尚 + + + 爱车聊天室 + + + 爱车帮 + + + 名车欣赏 + + + 第1眼汽车 + + + 名车欣赏 + + + 爱车帮 + + + 爱车帮你问 + + + 越野路书 + + + 爱车具乐部 + + + 汽摩竞技场 + + + 爱车聊天室 + + + 名车欣赏 + + + 爱车具乐部 + + + 名车欣赏 + + + 68号车探 + + + 名车欣赏 + + + 第1眼汽车 + + + 名车欣赏 + + + 汽摩竞技场 + + + 名车欣赏 + + + 爱车帮 + + + 名车欣赏 + + + 第1眼汽车 + + + 名车欣赏 + + + 爱车帮 + + + 爱车聊天室 + + + 爱车具乐部 + + + 碰撞与洞察 + + + 越野路书 + + + 名车欣赏 + + + 爱车帮 + + + 名车欣赏 + + + GO时尚 + + + 名车欣赏 + + + 爱车帮你问 + + + 爱车帮 + + + 汽摩竞技场 + + + 名车欣赏 + + + 碰撞与洞察 + + + 名车欣赏 + + + 爱车具乐部 + + + 名车欣赏 + + + 爱车帮你问 + + + 爱车帮 + + + 68号车探 + + + 汽摩竞技场 + + + 爱车帮 + + + 爱车聊天室 + + + 爱车帮你问 + + + 越野路书 + + + 爱车帮 + + + 爱车聊天室 + + + 名车欣赏 + + + 爱车帮 + + + 名车欣赏 + + + 爱车帮 + + + 68号车探 + + + 名车欣赏 + + + 第1眼汽车 + + + 名车欣赏 + + + 爱车帮 + + + 爱车帮你问 + + + 爱车聊天室 + + + 名车欣赏 + + + 第1眼汽车 + + + 名车欣赏 + + + 68号车探 + + + 越野路书 + + + 名车欣赏 + + + 爱车具乐部 + + + GO时尚 + + + 汽摩竞技场 + + + 爱车帮 + + + 68号车探 + + + 爱车帮 + + + 爱车聊天室 + + + 名车欣赏 + + + 第1眼汽车 + + + 名车欣赏 + + + 结束 + + + 沈阳新闻 + + + 专题 + + + 亲爱的爸妈 + + + 喜乐汇 + + + 档案 + + + 看今天 + + + 档案 + + + 喜乐汇 + + + 亲爱的爸妈 + + + 专题 + + + 亲爱的爸妈 + + + 专题 + + + 北方名医 + + + 沈视早报 + + + 中华人民共和国国歌 + + + 沈视早报 + + + 沈阳新闻 + + + 沈阳区县新闻 + + + 前行者 + + + 专题 + + + 前行者 + + + 专题 + + + 前行者 + + + 专题 + + + 喜乐汇 + + + 专题 + + + 星光夜话 + + + 前行者 + + + 专题 + + + 前行者 + + + 新闻频道沈阳剧场导视 + + + 前行者 + + + 北方名医 + + + 第一现场 + + + 新闻综合频道项目推介 + + + 看今天 + + + 新闻综合频道项目推介 + + + 辽宁新闻 + + + 天气预报 + + + 转播中央台新闻联播 + + + 沈阳新闻 + + + 天气预报 + + + 沈阳区县新闻 + + + 亲爱的爸妈 + + + 新闻频道沈阳剧场导视 + + + 亲爱的爸妈 + + + 新闻综合频道项目推介 + + + 沈阳新闻 + + + 喜乐汇 + + + 星光夜话 + + + 专题 + + + 亲爱的爸妈 + + + 河北公共 + + + 纪录片 + + + 新闻6号线(重) + + + 手语新闻(重) + + + 美丽河北(直) + + + 剧场:大西北剿匪记 + + + 乐享河北(重) + + + 美丽河北(直) + + + 剧场:大西北剿匪记 + + + 新闻6号线(直) + + + 中央新闻联播 + + + 河北新闻联播(重) + + + 乐享河北(首) + + + 经典剧场:伪装者 + + + 你好京津冀(重) + + + 河北农民 + + + 走进美丽乡村 + + + 非常关注 + + + 健康类节目 + + + 热播剧场:红高粱 + + + 健康类节目 + + + 热播剧场:红高粱 + + + 热播剧场:红高粱 + + + 非常帮助 + + + 农博士在行动 + + + 健康类节目 + + + 热播剧场:红高粱 + + + 健康类节目 + + + 热播剧场:红高粱 + + + 健康类节目 + + + 村里这点事 + + + 非常关注 + + + 村花朵朵 + + + 幸福剧场:斗香(29) + + + 幸福剧场:斗香(30) + + + 村里这点事 + + + 非常帮助 + + + 非常关注 + + + 河北卫视 + + + 浴血青春(5) + + + 雪豹(29) + + + 雪豹(30) + + + 冀时全播报 + + + 中华人民共和国国歌 + + + 冀时全播报 + + + 美丽河北慢直播 + + + 食遍南北 + + + 经典剧场:康熙微服私访记4(20) + + + 经典剧场:康熙微服私访记4(21) + + + 经典剧场:康熙微服私访记4(22) + + + 经典剧场:康熙微服私访记4(23) + + + 经典剧场:康熙微服私访记4(24) + + + 情感剧场:康熙微服私访记4(25) + + + 情感剧场:康熙微服私访记4(26) + + + 情感剧场:康熙微服私访记4(27) + + + 情感剧场:康熙微服私访记4(28) + + + 情感剧场:康熙微服私访记4(29) + + + 家政女皇 + + + 河北新闻联播 + + + 河北天气预报 + + + 转播中央台新闻联播 + + + 民生剧场:孤战迷城(23) + + + 民生剧场:孤战迷城(24) + + + 中华好家风 + + + 美丽新风尚 + + + 纪录片 + + + 你好京津冀 + + + 浴血青春(6) + + + 河北少儿科教 + + + 家庭剧场 + + + 黄金剧场 + + + 动漫新鲜爆 + + + 校园新鲜爆 + + + 家庭剧场 + + + 漫游天下 + + + 经典剧场 + + + 生活剧场 + + + 动漫新鲜爆 + + + 小小百科侠 + + + 黄金剧场 + + + 动漫新鲜爆 + + + 河北影视 + + + 幸福剧场 + + + 影视欢乐送 + + + 有缘天空 + + + 欢乐剧场 + + + 为爱转身 + + + 精彩剧场 + + + 完美的你 + + + 精彩剧场 + + + 完美的你 + + + 电影 + + + 河北影视剧 + + + 幸福剧场 + + + 影视欢乐送 + + + 有缘天空 + + + 欢乐剧场 + + + 为爱转身 + + + 精彩剧场 + + + 完美的你 + + + 精彩剧场 + + + 完美的你 + + + 电影 + + + 河北文旅公共 + + + 纪录片 + + + 新闻6号线(重) + + + 手语新闻(重) + + + 美丽河北(直) + + + 剧场:大西北剿匪记 + + + 乐享河北(重) + + + 美丽河北(直) + + + 剧场:大西北剿匪记 + + + 新闻6号线(直) + + + 中央新闻联播 + + + 河北新闻联播(重) + + + 乐享河北(首) + + + 经典剧场:伪装者 + + + 你好京津冀(重) + + + 河北经济 + + + 乡里相亲(重) + + + 经典剧场 + + + 乡里相亲 + + + 健康节目 + + + 精品剧场 + + + 精品剧场 + + + 健康节目 + + + 精品剧场 + + + 健康节目 + + + 精品剧场 + + + 健康节目 + + + 精品剧场 + + + 健康节目 + + + 精品剧场 + + + 健康节目 + + + 精品剧场 + + + 健康节目 + + + 精品剧场 + + + 健康节目 + + + 今日资讯 + + + 小吴来帮忙 + + + 第一剧场 + + + 今日财经 + + + 今日资讯+小吴来帮忙(重) + + + 河北都市 + + + 重播栏目 + + + 电视剧: + + + 都市315 + + + 非常大牌午间版 + + + 电视剧: + + + 非常大牌精编版 + + + 电视剧:灵与肉10-12 + + + 名医来了 + + + 美丽新风尚 + + + 好运伴你行 + + + 非常大牌 + + + 名医来了(重) + + + 河南乡村 + + + 夺宝之王 + + + 穿越经典 + + + 东方电影报道 + + + 乡音剧场 + + + 乡音剧场 + + + 9号直播间 + + + 全省县市新闻联播 + + + 精彩剧场 + + + 电影 + + + 电影 + + + 河南公共 + + + 幸福密码凌晨版 + + + 一拍即合凌晨版 + + + 百姓调解凌晨版 + + + 百姓夜事凌晨版 + + + 一拍即合早间版 + + + 幸福密码凌晨版 + + + 健康家园 + + + 幸福密码凌晨版 + + + 健康家园 + + + 幸福密码凌晨版 + + + 健康家园 + + + 百姓调解早间版 + + + 健康家园 + + + 幸福密码上午版 + + + 健康家园 + + + 幸福密码上午版 + + + 健康家园 + + + 幸福密码上午版 + + + 百姓调解午间版 + + + 百姓问诊午间版 + + + 健康家园 + + + 幸福密码下午版 + + + 健康家园 + + + 幸福密码下午版 + + + 健康家园 + + + 幸福密码下午版 + + + 百姓问诊首播版 + + + 百姓调解首播版 + + + 百姓315首播版 + + + 一拍即合重播版 + + + 百姓夜事 + + + 健康家园 + + + 幸福密码晚间版 + + + 健康家园 + + + 河南卫视 + + + 栏目精编 + + + 午夜剧场:苍狼 + + + 河南新闻联播(重播) + + + 财经·象心力 + + + 梨园春天天看 + + + 动画剧场:新西游历险记 + + + 晨光剧场:济公 + + + 河南午间报道 + + + 大象健康 + + + 开箱!健康宝藏(重播) + + + 阳光剧场:济公 + + + 河南新闻联播(首播) + + + 央视新闻联播 + + + 出彩剧场:新生 + + + 艺路生花2 + + + 河南晚间报道 + + + 万象剧场:五号特工组 + + + 河南新农村 + + + 夺宝之王 + + + 穿越经典 + + + 东方电影报道 + + + 乡音剧场 + + + 乡音剧场 + + + 9号直播间 + + + 全省县市新闻联播 + + + 精彩剧场 + + + 电影 + + + 电影 + + + 河南新闻 + + + 梦里老家 大美中国 + + + 新闻进行时(下午档)重播 + + + 对话中原 + + + 河南新闻联播 + + + 新闻进行时(下午档)重播 + + + 河南午间报道 + + + 新闻进行时(上午档) + + + 对话中原 + + + 河南午间报道 + + + 新闻进行时(下午档)重播 + + + 河南新闻联播 + + + 新闻进行时(下午档) + + + 河南午间报道 + + + 新闻进行时(上午档)重播 + + + 嗨聊 + + + 劳模匠星耀中原 + + + 河南午间报道 + + + 新闻进行时(晚间档) + + + 河南文旅报道 + + + 对话民生 + + + 河南晚间报道 + + + 河南新闻联播 + + + 新闻进行时(下午档)重播 + + + 河南晚间报道 + + + 河南梨园 + + + 南腔北调 + + + 梨园荟萃 + + + 看大戏 + + + 梨园荟萃 + + + 戏说经典 + + + 看大戏 + + + 南腔北调 + + + 梨园荟萃 + + + 唱段欣赏 + + + 戏说经典 + + + 南腔北调 + + + 看大戏 + + + 戏说经典 + + + 梨园荟萃 + + + 河南民生 + + + 睡不着剧场:忠者无敌 + + + 小莉帮忙大参考(重播) + + + 上午剧场:双枪李向阳 + + + 乐淘天下 + + + 上午剧场:双枪李向阳 + + + 上午剧场:双枪李向阳 + + + 上午剧场:双枪李向阳 + + + 乐淘天下 + + + 大象直播间(午间) + + + 乐淘天下 + + + 下午剧场:母子连心 + + + 下午剧场:母子连心 + + + 下午剧场:母子连心 + + + 乐淘天下 + + + 下午剧场:母子连心 + + + 乐淘天下 + + + 大象直播间(下午) + + + 小莉帮忙大参考 + + + 香香美食 + + + 棋牌汇 + + + 乐淘天下 + + + 双升英雄会 + + + 棋牌汇扩大版 + + + 河南法治 + + + 好剧连连看 女人不哭 + + + 中原火焰蓝 + + + 拜托啦律师集锦版 + + + 法在身边 + + + 河南法治报道 + + + 拜托啦律师精编版重播 + + + 晓辉在路上精编版重播 + + + 经典剧场 人世间 + + + 晓辉在路上精编 + + + 拜托啦律师精编 + + + 河南法治报道 + + + 经典剧场 女人不哭 + + + 拜托啦律师精编 + + + 晓辉在路上精编 + + + 晓辉在路上 + + + 拜托啦律师 + + + 黄金剧场 春桃的战争 + + + 河南法治报道晚间版 + + + 晓辉在路上集锦版 + + + 拜托啦律师集锦版 + + + 河南电视剧 + + + 惊险剧场:忠者无敌 + + + 时光剧场:锻刀之绝地重生 + + + 等着我 + + + 浓情剧场:秋蝉 + + + 技能大本营 + + + 等着我 + + + 真好剧场:战火连天 + + + 大剧榜:勇士之城 + + + 河南都市 + + + 精彩剧场:双枪李向阳 + + + 河南新闻联播 + + + 精彩剧场:双枪李向阳 + + + 都市大医生 + + + 都市产经报道 + + + 精品剧场:家有爹娘2 + + + 都市报道 + + + 精选剧场:爱无悔 + + + 打鱼晒网 + + + 精选剧场:爱无悔 + + + 孟子约 + + + 都市报道 + + + 都市剧场:危情杜鹃 + + + 天天福彩 + + + 午夜剧场:养女 + + + 河源公共 + + + 动画片 + + + 上午剧场 + + + 看河源 + + + 人社在线 + + + 教育视线 + + + 河源消防 + + + 下午剧场 + + + 动画片 + + + 教育视线 + + + 晚间剧场 + + + 客家人 + + + 河源消防 + + + 县区新闻 + + + 教育视线 + + + 河源消防 + + + 河源新闻联播 + + + 午夜剧场 + + + 河源综合 + + + 我是大美人 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 平民英雄 + + + 新闻大求真 + + + 新闻大求真 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 我的纪录片 + + + 中华人民共和国国歌 + + + 湖南新闻联播 + + + 偶像独播剧场:情谜睡美人(76) + + + 动画片剧场 + + + 偶像独播剧场:情谜睡美人(77) + + + 偶像独播剧场:情谜睡美人(78) + + + 偶像独播剧场:情谜睡美人(79) + + + 偶像独播剧场:情谜睡美人(80) + + + 泉州新闻 + + + 新闻广角 + + + 天使爱美丽 + + + 泉州美食 + + + 养生之道 + + + 泉州讲古 + + + 咱厝戏台 + + + 新闻早报 + + + 天籁村 + + + 传奇 + + + 连续剧 + + + 法治连线 + + + 午间新闻网 + + + 午间天气预报 + + + 娱乐前沿 + + + 泉州财经报道 + + + 午间天气预报 + + + 咱厝戏台 + + + 新闻相拍报 + + + 养生之道 + + + 泉州美食 + + + 泉州讲古 + + + 刺桐花 + + + 泉州新闻联播 + + + 旅游天气 + + + 新闻联播 + + + 法治连线 + + + 泉州天气预报 + + + 新闻广角 + + + 连续剧 + + + 今晚播报 + + + 泉州天气预报 + + + 法治连线 + + + 连续剧 + + + 法治天地 + + + 和大律师面对面 + + + 失踪的520戒指 + + + 案件聚焦:守护公共安全 + + + 和大律师面对面 + + + 检察官说法 + + + 校媒联盟周刊 + + + 记者调查 + + + 法治新闻 + + + 检察官说法 + + + 校媒联盟周刊 + + + 记者调查 + + + 失踪的520戒指 + + + 案件聚焦:守护公共安全 + + + 和大律师面对面 + + + 检察官说法 + + + 校媒联盟周刊 + + + 和大律师面对面 + + + 法治新闻 + + + 法说百姓事 + + + 诉讼服务进行时2(1) + + + 校媒联盟周刊 + + + 检察官说法 + + + 和大律师面对面 + + + 案件聚焦:守护公共安全 + + + 检察官说法 + + + 和大律师面对面 + + + 诉讼服务进行时2(1) + + + 校媒联盟周刊 + + + 法治新闻 + + + 和大律师面对面 + + + 诉讼服务进行时2(1) + + + 法说百姓事 + + + 法治新闻 + + + 失踪的520戒指 + + + 案件聚焦:守护公共安全 + + + 和大律师面对面 + + + 诉讼服务进行时2(1) + + + 失踪的520戒指 + + + 案件聚焦:守护公共安全 + + + 律师界 + + + 检察官说法 + + + 和大律师面对面 + + + 法治新闻 + + + 给我一个家 + + + 法说百姓事 + + + 庭审一线(1) + + + 律师界 + + + 庭前庭后(3):奔波 + + + 法说百姓事 + + + 禁毒视窗 + + + 记者调查 + + + 和大律师面对面 + + + 法治新闻 + + + 律师界 + + + 济南综合 + + + 剧场 + + + 济南新闻 + + + 有么别有病 + + + 第一剧场 + + + 有么说么新闻大社区 + + + 有么故事会 + + + 新闻第一泉 + + + 有话好好说 + + + 今晚20分 + + + 今晚特别点击 + + + 热心姊妹花 + + + 今晚不关机 + + + 第一剧场 + + + 天天讲故事 + + + 有么别有病 + + + 有么说么新闻大社区 + + + 济南新闻 + + + 中央新闻联播 + + + 今晚剧场 + + + 今晚20分 + + + 今晚特别点击 + + + 热心姊妹花 + + + 今晚不关机 + + + 济南新闻 + + + 有么别有病 + + + 天天讲故事 + + + 浙江NEWS + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 浙江公共新闻 + + + 黄金时间2024-336 + + + 靓丽之窗2024-336 + + + 黄金时间2024-336 + + + 靓丽之窗2024-336 + + + 黄金时间2024-336 + + + 靓丽之窗2024-336 + + + 12.1新闻大直播重播版 + + + 养生大国医(技审)2024-048 + + + 增进人民福祉公益宣传片1.31止 + + + 12.1浙江警视 + + + 增进人民福祉公益宣传片1.31止 + + + 11.30小强热线 + + + 小强实验室2024-095 + + + 纪录片《江南》MV宣传片1.10止 + + + 法治中国60分2024-289 + + + 增进人民福祉公益宣传片1.31止 + + + 12.1新闻大直播重播版 + + + 12.1浙江警视 + + + 养生大国医(技审)2024-048 + + + 纪录片《江南》MV宣传片1.10止 + + + 法治中国60分2024-289 + + + 1.1白天广告1 + + + 哈喽,美好家2024-048 + + + 反腐前线(教育)2024-048 + + + 纪录片《江南》MV宣传片1.10止 + + + 1.1白天广告2 + + + 12.1浙江警视 + + + 文化浙江大讲堂2024-048(公共) + + + 12.1藏文堂 + + + 12.1新闻大直播重播版 + + + 增进人民福祉公益宣传片1.31止 + + + 11.14文化宣传片30秒 + + + 1.1白天广告3 + + + 养生大国医(技审)2024-048 + + + 11.14文化宣传片30秒 + + + 11.30小强热线 + + + 小强实验室2024-095 + + + 六步洗手法公益宣传片35秒 + + + 养生大国医(技审)2024-048 + + + 12.1藏文堂 + + + 1.1白天广告4 + + + 12.1小强热线 + + + 小强实验室2024-096 + + + 12.1藏文堂 + + + 法治中国60分2024-289 + + + 12.1藏文堂 + + + 敬老公益之老而不朽宣传片3.22起 + + + 乡村振兴浙江行2024-048 + + + 12.1藏文堂 + + + 此心安处是吾乡公益宣传片2.22起 + + + 1.1白天广告5 + + + 11.14文化宣传片30秒 + + + 12.1新闻大直播重播版 + + + 12.2海洋气象预报午间版 + + + 原产地商城2022-041 + + + 养生大国医(技审)2024-048 + + + 12.1藏文堂 + + + 哈喽,美好家2024-048 + + + 反腐前线(教育)2024-048 + + + 纪录片《江南》MV宣传片1.10止 + + + 敬老公益之老而不朽宣传片3.22起 + + + 11.29美好浙生活品牌推广按摩椅 + + + 文化浙江大讲堂2024-048(公共) + + + 原产地商城2022-041 + + + 敬老公益之老而不朽宣传片3.22起 + + + 1.1白天广告6 + + + 11.14文化宣传片30秒 + + + 养生大国医(技审)2024-048 + + + 12.1藏文堂 + + + 原产地商城2022-041 + + + 此心安处是吾乡公益宣传片2.22起 + + + 法治中国60分2024-289 + + + 12.1藏文堂 + + + 1.1白天广告7 + + + 哈喽,美好家2024-048 + + + 反腐前线(教育)2024-048 + + + 养生大国医(技审)2024-048 + + + 12.1藏文堂 + + + 斑马线公筷公益宣传片35秒 + + + 11.14文化宣传片30秒 + + + 斑马线公筷公益宣传片35秒 + + + 原产地商城2022-041 + + + 纪录片《江南》MV宣传片1.10止 + + + 11.14文化宣传片30秒 + + + 纪实2024-336 + + + 12.1藏文堂 + + + 12.1浙江警视 + + + 原产地商城2022-041 + + + 斑马线公筷公益宣传片35秒 + + + 3.1白天广告9 + + + 养生大国医2024-241 + + + 12.1藏文堂 + + + 原产地商城2022-041 + + + 纪实2024-336 + + + 12.1藏文堂 + + + 直播新闻大直播 + + + 11.14文化宣传片30秒 + + + 1.1公共晚间1 + + + 娘家姐妹花2024-289(重版) + + + 4.12公共晚间2 + + + 1.1公共晚间3 + + + 12.2海洋气象预报晚间版 + + + 敬老公益之养生之道宣传片3.22起 + + + 11.14文化宣传片30秒 + + + 12.2浙江警视 + + + 增进人民福祉公益宣传片1.31止 + + + 11.14文化宣传片30秒 + + + 12.2浙江地市头条 + + + 服务一老一小公益宣传片1.31止 + + + 1.1公共晚间4 + + + 11.14文化宣传片30秒 + + + 体育最前线(公共)2024-337 + + + 纪录片《江南》MV宣传片1.10止 + + + 法治中国60分2024-290 + + + 此心安处是吾乡公益宣传片2.22起 + + + 敬老公益之养生之道宣传片3.22起 + + + 11.14文化宣传片30秒 + + + 2.17公共晚间5 + + + 12.2浙江新闻联播 + + + 固定垫片5分钟 + + + 固定垫片2分钟 + + + 1.1公共晚间6 + + + 11.14文化宣传片30秒 + + + 12.2新闻大直播重播版 + + + 政策面对面2024-049 + + + 新闻频道形象宣传片 + + + 黄金时间2024-337 + + + 靓丽之窗2024-337 + + + 黄金时间2024-337 + + + 靓丽之窗2024-337 + + + 黄金时间2024-337 + + + 靓丽之窗2024-337 + + + 浙江卫视 + + + 1122Z视介会员+电影消费券打包40秒 + + + 1122Z视介会员+电影消费券打包40秒 + + + 1201串联6 + + + 向山海出发2(241129 第2季第8期)01 + + + 1122Z视介会员+电影消费券打包40秒 + + + 1122Z视介会员+电影消费券打包40秒 + + + 向山海出发2(241129 第2季第8期)02 + + + 1122Z视介会员+电影消费券打包40秒 + + + 241201气象 + + + 1122Z视介会员+电影消费券打包40秒 + + + 《美好中国》(第84批)Z视介-每个孩子都有航天梦28秒 + + + 《大运河》04水路是戏路 + + + 1122Z视介会员+电影消费券打包40秒 + + + 1122Z视介会员+电影消费券打包40秒 + + + 《大运河》05水脉是文脉V1 + + + 1122Z视介会员+电影消费券打包40秒 + + + 1122Z视介会员+电影消费券打包40秒 + + + 《大运河》06不朽的流传 + + + 1122Z视介会员+电影消费券打包40秒 + + + 1122Z视介会员+电影消费券打包40秒 + + + 1122Z视介会员+电影消费券打包40秒 + + + 《大运河》07大河波浪宽 + + + 1122Z视介会员+电影消费券打包40秒 + + + 1122Z视介会员+电影消费券打包40秒 + + + 专题片片尾(2023播出版) + + + 1122Z视介会员+电影消费券打包40秒 + + + 《美好中国》(第89批)电视艺术家协会-守护洁净40秒 + + + 良渚修改版01 + + + 1122Z视介会员+电影消费券打包40秒 + + + 专题片片尾(2023播出版) + + + 1122Z视介会员+电影消费券打包40秒 + + + 良渚修改版02 + + + 1122Z视介会员+电影消费券打包40秒 + + + 专题片片尾(2023播出版) + + + 1122Z视介会员+电影消费券打包40秒 + + + 良渚修改版03 + + + 1122Z视介会员+电影消费券打包40秒 + + + 专题片片尾(2023播出版) + + + 240618公益短片-老年人保健品推销陷阱二14秒 + + + 1122Z视介会员+电影消费券打包40秒 + + + 241202早间气象 + + + 240618公益短片-走进你的世界14秒 + + + 1122Z视介会员+电影消费券打包40秒 + + + 《国歌》2021年2月版本(白天剧场版)01 + + + 241201浙江新闻联播 + + + 包装备 + + + 1122Z视介会员+电影消费券打包40秒 + + + 经典剧场一还有诗和远方(220626 第3季第1期)02正片上 + + + 专题片片尾(2023播出版) + + + 1122Z视介会员+电影消费券打包40秒 + + + 海底小纵队第九季片头5秒 + + + 海底小纵队第九季(缩编版)10 + + + 海底小纵队第九季(缩编版)11 + + + 海底小纵队第九季(缩编版)12 + + + 海底小纵队第九季片尾5秒 + + + 1202包装1 + + + 刑警之海外行动(白天剧场版 片头)5秒 + + + 经典剧场二刑警之海外行动(白天剧场版)28 + + + 刑警之海外行动(白天剧场版 片尾)5秒 + + + 1202包装2 + + + 刑警之海外行动(白天剧场版 片头)5秒 + + + 经典剧场三刑警之海外行动(白天剧场版)29 + + + 刑警之海外行动(白天剧场版 片尾)5秒 + + + 1202包装3带导视 + + + 刑警之海外行动(白天剧场版 片头)5秒 + + + 经典剧场四刑警之海外行动(白天剧场版)30 + + + 刑警之海外行动(白天剧场版 片尾)5秒 + + + 1202包装4 + + + 刑警之海外行动(白天剧场版 片头)5秒 + + + 经典剧场五刑警之海外行动(白天剧场版)31 + + + 经典剧场五刑警之海外行动(白天剧场版)32 + + + 刑警之海外行动(白天剧场版 片尾)5秒 + + + 0925集团公益短-斑马线前车让人人快走14秒 + + + 1202包装5 + + + (直播)241202正午播报 + + + 1202包装6 + + + 小日子(黄金剧场版 片头)10秒V1 + + + 百姓剧场一小日子(黄金剧场版)11 + + + 小日子(黄金剧场版 片尾)5秒 + + + 1202包装7 + + + 小日子(黄金剧场版 片头)10秒V1 + + + 百姓剧场二小日子(黄金剧场版)12 + + + 小日子(黄金剧场版 片尾)5秒 + + + 1202包装8 + + + 小日子(黄金剧场版 片头)10秒V1 + + + 百姓剧场三小日子(黄金剧场版)13 + + + 小日子(黄金剧场版 片尾)5秒 + + + 1202包装9 + + + 小日子(黄金剧场版 片头)10秒V1 + + + 百姓剧场四小日子(黄金剧场版)14 + + + 小日子(黄金剧场版 片尾)5秒 + + + 1202包装10 + + + 小日子(黄金剧场版 片头)10秒V1 + + + 百姓剧场五小日子(黄金剧场版)15 + + + 小日子(黄金剧场版 片尾)5秒 + + + 1202包装11 + + + 小日子(黄金剧场版 片头)10秒V1 + + + 百姓剧场六小日子(黄金剧场版)16 + + + 小日子(黄金剧场版 片尾)5秒 + + + 1202包装12 + + + 小日子(黄金剧场版 片头)10秒V1 + + + 小日子(黄金剧场版)17 + + + 小日子(黄金剧场版 片尾)5秒 + + + 1202包装13 + + + (直播)海洋预报 + + + (直播)气象预报 + + + (直播)241202新闻深一度 + + + (直播)241202浙江新闻联播 + + + (直播)气象 + + + (直播)241202今日聚焦 + + + (直播)转播中央电视台新闻联播 + + + 串联1 + + + 好团圆(黄金剧场版 片头)90秒 + + + 好团圆(黄金剧场版)23 + + + 好团圆(黄金剧场版 片尾)30秒 + + + 串联2 + + + 串联3 + + + 好团圆(黄金剧场版 片头)40秒 + + + 好团圆(黄金剧场版)24 + + + 抢先看1 + + + 好团圆(黄金剧场版 片尾)144秒 + + + 串联4 + + + 抢先看2 + + + 串联5 + + + 241202今日评说 + + + 串联6 + + + 好团圆(黄金剧场版 片头)10秒 + + + 好团圆(黄金剧场版)19 + + + 好团圆(黄金剧场版 片尾)5秒 + + + 串联7 + + + 好团圆(黄金剧场版 片头)10秒 + + + 好团圆(黄金剧场版)20 + + + 好团圆(黄金剧场版 片尾)5秒 + + + 串联8 + + + 好团圆(黄金剧场版 片头)10秒 + + + 好团圆(黄金剧场版)21 + + + 好团圆(黄金剧场版 片尾)5秒 + + + 串联9 + + + 241202好戏看浙里 + + + 浙江国际 + + + 串编时段包装2024-12-02第01段 + + + 《少年苏东坡传奇》5(海外播出版) + + + 串编时段包装2024-12-02第03段 + + + 靓丽之窗2024-294 + + + 垫片2023-006 + + + 串编时段包装2024-12-02第06段 + + + 黄金时间2024-336 + + + 服务2024-137(养生大国医) + + + 串编时段包装2024-12-02第07段 + + + 《南来北往(海外版权)》8(海外播出版) + + + 串编时段包装2024-12-02第08段 + + + 《南来北往(海外版权)》9(海外播出版) + + + 串编时段包装2024-12-02第09段 + + + 《南来北往(海外版权)》10(海外播出版) + + + 串编时段包装2024-12-02第15段 + + + 《故乡,别来无恙(海外版权)》17(海外播出版) + + + 《故乡,别来无恙(海外版权)》18(海外播出版) + + + 串编时段包装2024-12-02第12段 + + + 《警察荣誉(海外版权)》3(海外播出版) + + + 串编时段包装2024-12-02第13段 + + + 《警察荣誉(海外版权)》4(海外播出版) + + + 串编时段包装2024-12-02第14段 + + + 《警察荣誉(海外版权)》5(海外播出版) + + + 串编时段包装2024-12-02第16段 + + + 《少年苏东坡传奇》5(海外播出版) + + + 串编时段包装2024-12-02第03段 + + + 靓丽之窗2024-294 + + + 垫片2023-006 + + + 串编时段包装2024-12-02第06段 + + + 黄金时间2024-336 + + + 服务2024-137(养生大国医) + + + 垫片2024-011(电视剧片花赏析) + + + 《小敏家(海外版权)》11(海外播出版) + + + 《小敏家(海外版权)》12(海外播出版) + + + 《小敏家(海外版权)》13(海外播出版) + + + 垫片2024-010(电视剧片花赏析) + + + 《老家伙(海外版权)》5(海外播出版) + + + 《老家伙(海外版权)》6(海外播出版) + + + 串编时段包装2024-12-02第12段 + + + 《警察荣誉(海外版权)》3(海外播出版) + + + 串编时段包装2024-12-02第13段 + + + 《警察荣誉(海外版权)》4(海外播出版) + + + 串编时段包装2024-12-02第14段 + + + 《警察荣誉(海外版权)》5(海外播出版) + + + 串编时段包装2024-12-02第16段 + + + 《少年苏东坡传奇》5(海外播出版) + + + 串编时段包装2024-12-02第03段 + + + 靓丽之窗2024-294 + + + 垫片2023-006 + + + 串编时段包装2024-12-02第06段 + + + 黄金时间2024-336 + + + 服务2024-137(养生大国医) + + + 串编时段包装2024-12-02第07段 + + + 《南来北往(海外版权)》8(海外播出版) + + + 串编时段包装2024-12-02第08段 + + + 《南来北往(海外版权)》9(海外播出版) + + + 串编时段包装2024-12-02第09段 + + + 《南来北往(海外版权)》10(海外播出版) + + + 串编时段包装2024-12-02第05段 + + + 《好事成双(海外版权)》5(海外播出版) + + + 《好事成双(海外版权)》6(海外播出版) + + + 串编时段包装2024-12-02第12段 + + + 《警察荣誉(海外版权)》3(海外播出版) + + + 串编时段包装2024-12-02第13段 + + + 《警察荣誉(海外版权)》4(海外播出版) + + + 串编时段包装2024-12-02第14段 + + + 《警察荣誉(海外版权)》5(海外播出版) + + + 浙江少儿 + + + 公益广告10.14版 + + + 《《托宝战士之银河侦探2》》25(少儿高清版) + + + 公益广告10.14版 + + + 《《托宝战士之银河侦探2》》26(少儿高清版) + + + 公益广告10.14版 + + + 《《龙宝小英雄第二季》》22(少儿高清版) + + + 公益广告10.14版 + + + 《《龙宝小英雄第二季》》23(少儿高清版) + + + 公益广告10.14版 + + + 《《龙宝小英雄第二季》》24(少儿高清版) + + + 公益广告10.14版 + + + 《《龙宝小英雄第二季》》25(少儿高清版) + + + 公益广告10.14版 + + + 《《龙宝小英雄第二季》》26(少儿高清版) + + + 公益广告10.14版 + + + 《《托宝战士之银河侦探2》》23(少儿高清版) + + + 公益广告10.14版 + + + 《《托宝战士之银河侦探2》》24(少儿高清版) + + + 公益广告10.14版 + + + 《《托宝战士之银河侦探2》》25(少儿高清版) + + + 公益广告10.14版 + + + 《《托宝战士之银河侦探2》》26(少儿高清版) + + + 公益广告10.14版 + + + 《《龙宝小英雄第二季》》22(少儿高清版) + + + 公益广告10.14版 + + + 《《龙宝小英雄第二季》》23(少儿高清版) + + + 公益广告10.14版 + + + 《《龙宝小英雄第二季》》24(少儿高清版) + + + 公益广告10.14版 + + + 《《龙宝小英雄第二季》》25(少儿高清版) + + + 公益广告10.14版 + + + 《《龙宝小英雄第二季》》26(少儿高清版) + + + 公益广告10.14版 + + + 《《托宝战士之银河侦探2》》23(少儿高清版) + + + 公益广告10.14版 + + + 《《托宝战士之银河侦探2》》24(少儿高清版) + + + 公益广告10.14版 + + + 《《托宝战士之银河侦探2》》25(少儿高清版) + + + 《《托宝战士之银河侦探2》》26(少儿高清版) + + + 《《龙宝小英雄第二季》》26(少儿高清版) + + + CBA篮球赛公益广告10.15版 + + + 12.1S广告1 + + + 公益广告10.14版 + + + 《《猪猪侠之超星五灵侠5》》1(少儿高清版) + + + 敬老爱老公益广告2024喜羊羊与灰太狼 + + + 《《猪猪侠之超星五灵侠5》》2(少儿高清版) + + + 《《猪猪侠之超星五灵侠5》》3(少儿高清版) + + + 让大山里的每颗星星都闪耀光芒 + + + 《《猪猪侠之超星五灵侠5》》4(少儿高清版) + + + 海好有你公益广告12.30止 + + + 《《猪猪侠之超星五灵侠5》》5(少儿高清版) + + + CBA集锦1 + + + 《冰雪之名》44(高清少儿片尾版) + + + 卫视宣《有歌》10.15版 + + + 12.1S广告2 + + + 《《海底小纵队第九季》》1(少儿高清版) + + + CBA篮球赛宣1 + + + 《《海底小纵队第九季》》2(少儿高清版) + + + 让大山里的每颗星星都闪耀光芒 + + + 12.1S广告3 + + + 《《海底小纵队第九季》》3(少儿高清版) + + + 海好有你公益广告12.30止 + + + 《《海底小纵队第九季》》4(少儿高清版) + + + CBA篮球赛宣3 + + + 《《海底小纵队第九季》》5(少儿高清版) + + + 少儿宣传片2024-001(教师公益广告) + + + 12.1S广告4 + + + 《《猪猪侠之超星五灵侠5》》1(少儿高清版) + + + CBA篮球赛宣4 + + + 《《猪猪侠之超星五灵侠5》》2(少儿高清版) + + + 让大山里的每颗星星都闪耀光芒 + + + 12.1S广告1 + + + 《《猪猪侠之超星五灵侠5》》3(少儿高清版) + + + 卫视宣《有歌》10.15版 + + + 《《猪猪侠之超星五灵侠5》》4(少儿高清版) + + + 12.1S广告2 + + + CBA篮球赛宣1 + + + 《《猪猪侠之超星五灵侠5》》5(少儿高清版) + + + CBA集锦2 + + + 12.1S广告3 + + + 《冰雪之名》45(高清少儿片尾版) + + + CBA篮球赛宣3 + + + 12.1S广告4 + + + 《冰雪之名》46(高清少儿片尾版) + + + 少儿宣传片2024-001(教师公益广告) + + + 12.1S广告1 + + + 《冰雪之名》47(高清少儿片尾版) + + + 海好有你公益广告12.30止 + + + 12.1S广告2 + + + 《冰雪之名》48(高清少儿片尾版) + + + 卫视宣《有歌》10.15版 + + + 12.1S广告3 + + + 《《海底小纵队第九季》》1(少儿高清版) + + + CBA篮球赛宣4 + + + 《《海底小纵队第九季》》2(少儿高清版) + + + 让大山里的每颗星星都闪耀光芒 + + + 12.1S广告4 + + + 《《海底小纵队第九季》》3(少儿高清版) + + + 海好有你公益广告12.30止 + + + 《《海底小纵队第九季》》4(少儿高清版) + + + 12.1S广告1 + + + 《冰雪之名》49(高清少儿片尾版) + + + 少儿宣传片2024-001(教师公益广告) + + + 12.1S广告2 + + + 《风吹半夏》1(高清少儿片尾版) + + + CBA篮球赛宣3 + + + 12.1S广告3 + + + 《风吹半夏》2(高清少儿片尾版) + + + 12.1S广告4 + + + 《风吹半夏》3(高清少儿片尾版) + + + CBA篮球赛宣1 + + + 12.1S广告1 + + + 《风吹半夏》4(高清少儿片尾版) + + + 卫视宣《有歌》10.15版 + + + 12.1S广告2 + + + 《《百变校巴13》》8(少儿高清版) + + + CBA篮球赛宣4 + + + 《《百变校巴13》》9(少儿高清版) + + + 12.1S广告3 + + + 《《百变校巴13》》10(少儿高清版) + + + 让大山里的每颗星星都闪耀光芒 + + + 12.1S广告4 + + + 少儿动画片62023-021(巴啦啦小魔仙之星缘蝶启2) + + + CBA篮球赛宣1 + + + 12.1S广告1 + + + 少儿动画片62023-022(巴啦啦小魔仙之星缘蝶启2) + + + CBA篮球赛宣3 + + + 12.1S广告2 + + + 少儿动画片62024-003(书香少年王应麟(修改版)) + + + 超级飞侠17宣11.28-12.2 + + + 12.1S广告3 + + + 《《奶龙与小七之大战暴暴龙》》3(少儿高清版) + + + 海好有你公益广告12.30止 + + + 12.1S广告4 + + + 《《奶龙与小七之大战暴暴龙》》4(少儿高清版) + + + 超级飞侠17宣11.28-12.2 + + + 12.1S广告1 + + + 少儿动画片62024-011(爆裂飞车之晶码迷踪) + + + 少儿宣传片2024-001(教师公益广告) + + + 12.1S广告2 + + + 少儿动画片62024-003(超级飞侠17) + + + 让大山里的每颗星星都闪耀光芒 + + + 12.1S广告3 + + + 少儿动画片62024-016(巴啦啦小魔仙曜星守护者) + + + 浙江省中小学生艺术节11.4-12.3 + + + 少儿动画片62024-004(炫卡斗士2) + + + 12.1S广告4 + + + 《《毛毛镇第三季》》15(少儿高清版) + + + CBA篮球赛宣1 + + + 12.1S广告1 + + + 《《毛毛镇第三季》》16(少儿高清版) + + + 12.1S广告2 + + + 少儿动画片52023-001(超凡小英雄2) + + + 12.1S广告3 + + + 少儿动画片52023-002(超凡小英雄2) + + + 12.1S广告4 + + + CBA篮球赛(浙江方兴渡~九台农商银行)(新疆伊力特~浙江稠州金租) + + + 浙江影视 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 浙江教科影视 + + + 原产地商城2022-041 + + + 哈喽,美好家2024-048 + + + 反腐前线(教育)2024-048 + + + 伏击宣传片12.2止 + + + 12.1小强热线 + + + 小强实验室2024-096 + + + 纪实2024-336 + + + 教育大视野2024-048 + + + 敬老公益之与时偕行宣传片3.22起 + + + 《《锋刃》(二轮)》片头(完版2024) + + + 《《锋刃》(二轮)》57(2024版) + + + 《《锋刃》(二轮)》58(2024版) + + + 《《锋刃》(二轮)》59(2024版) + + + 《《锋刃》(二轮)》60(2024版) + + + 哈喽,美好家2024-048 + + + 反腐前线(教育)2024-048 + + + 我是党员,我在公益宣传片1.31止 + + + 12.1小强热线 + + + 小强实验室2024-096 + + + 敬老公益之银发匠心宣传片3.22起 + + + 纪实2024-336 + + + 《蜂鸟》片头(2023版30秒) + + + 《蜂鸟》32(2023版) + + + 服务一老一小公益宣传片1.31止 + + + 《蜂鸟》片头(2023版30秒) + + + 《蜂鸟》33(2023版) + + + 纪录片《江南》MV宣传片1.10止 + + + 哈喽,美好家2024-048 + + + 敬老公益之养生之道宣传片3.22起 + + + 反腐前线(教育)2024-048 + + + 国坤堂健康人生宣传片3.9起 + + + 12.1小强热线 + + + 12.1广告BK3 + + + 12.1广告BK4 + + + 小强实验室2024-096 + + + 国坤堂健康人生宣传片3.9起 + + + 新时代公民职业道德宣传片2.28止 + + + 原产地商城2022-041 + + + 哈喽美好家美食版2024-006 + + + 原产地商城2022-041 + + + 国坤堂健康人生宣传片3.9起 + + + 节约粮食文明用餐公益宣传片30秒 + + + 11.25按摩椅5分广告 + + + 6.1广告BK7 + + + 哈喽美好家健康版2024-156 + + + 伏击宣传片(国冠)12.2止 + + + 原产地商城2022-041 + + + 节约粮食文明用餐公益宣传片30秒 + + + 11.14文化宣传片30秒 + + + 12.2舒悦鞋子6A广告 + + + 《《锋刃》(二轮)》片头(30秒版2024) + + + 《《锋刃》(二轮)》57(2024版) + + + 11.25按摩椅6分广告 + + + 伏击宣传片(旺冠)12.2止 + + + 原产地商城2022-041 + + + 勤俭是美德公益宣传片30秒 + + + 国坤堂健康人生宣传片3.9起 + + + 12.2舒悦鞋子5A广告 + + + 12.1国坤堂3分广告 + + + 《《锋刃》(二轮)》片头(30秒版2024) + + + 《《锋刃》(二轮)》58(2024版) + + + 12.2舒悦鞋子5B广告 + + + 11.14文化宣传片30秒 + + + 斑马线公筷公益宣传片35秒 + + + 10.15小强帮忙团引流宣传片30秒 + + + 伏击宣传片(国冠)12.2止 + + + 国坤堂健康人生宣传片3.9起 + + + 点燃公益宣传片10.28起 + + + 原产地商城2022-041 + + + 12.1国坤堂3分广告 + + + 《《锋刃》(二轮)》片头(30秒版2024) + + + 《《锋刃》(二轮)》59(2024版) + + + 11.25按摩椅6分广告 + + + 增进人民福祉公益宣传片1.31止 + + + 原产地商城2022-041 + + + 国坤堂健康人生宣传片3.9起 + + + 伏击宣传片(旺冠)12.2止 + + + 11.25按摩椅10分广告 + + + 《《锋刃》(二轮)》片头(30秒版2024) + + + 《《锋刃》(二轮)》60(2024版) + + + 11.14文化宣传片30秒 + + + 节约粮食文明用餐公益宣传片30秒 + + + 伏击宣传片12.2止 + + + 10.15小强帮忙团引流宣传片30秒 + + + 原产地商城2022-041 + + + 11.29美好浙生活品牌推广按摩椅 + + + 新时代公民社会公德宣传片2.28止 + + + 12.2舒悦鞋子7分广告 + + + 原产地商城2022-041 + + + 斑马线公筷公益宣传片35秒 + + + 国坤堂健康人生宣传片3.9起 + + + 哈喽美好家美食版2024-006 + + + 原产地商城2022-041 + + + 斑马线公筷公益宣传片35秒 + + + 有歌2024新宣传片12.27止 + + + 11.25按摩椅3分广告 + + + 养生大国医(技审)2024-048 + + + 哈喽美好家美食版2024-006 + + + 12.2舒悦鞋子3分广告 + + + 《我姥爷1945之绝命枪》片头(30秒) + + + 《我姥爷1945之绝命枪》46(20分钟版) + + + 12.2舒悦鞋子4分广告 + + + 11.25按摩椅3分广告 + + + 伏击宣传片(国冠)12.2止 + + + 新时代公民社会公德宣传片2.28止 + + + 国坤堂健康人生宣传片3.9起 + + + 《我姥爷1945之绝命枪》片头(30秒) + + + 《我姥爷1945之绝命枪》47(20分钟版) + + + 原产地商城2022-041 + + + 小餐桌大文明公益宣传片7.24起 + + + 《我姥爷1945之绝命枪》片头(30秒) + + + 《我姥爷1945之绝命枪》48(20分钟版) + + + 11.25按摩椅8分广告 + + + 伏击宣传片(旺冠)12.2止 + + + 国坤堂健康人生宣传片3.9起 + + + 原产地商城2022-041 + + + 斑马线公筷公益宣传片35秒 + + + 12.1国坤堂3分广告 + + + 《我姥爷1945之绝命枪》片头(30秒) + + + 《我姥爷1945之绝命枪》49(20分钟版) + + + 12.2舒悦鞋子6B广告 + + + 11.14文化宣传片30秒 + + + 伏击宣传片(国冠)12.2止 + + + 原产地商城2022-041 + + + 国坤堂健康人生宣传片3.9起 + + + 增进人民福祉公益宣传片1.31止 + + + 《我姥爷1945之绝命枪》片头(30秒) + + + 《我姥爷1945之绝命枪》50(20分钟版) + + + 11.25按摩椅4分广告 + + + 斑马线公筷公益宣传片35秒 + + + 12.2舒悦鞋子6A广告 + + + 伏击宣传片12.2止 + + + 原产地商城2022-041 + + + 10.15小强帮忙团引流宣传片30秒 + + + 此心安处是吾乡公益宣传片2.22起 + + + 11.25按摩椅5分广告 + + + 《我姥爷1945之绝命枪》片头(30秒) + + + 《我姥爷1945之绝命枪》51(20分钟版) + + + 12.2舒悦鞋子5A广告 + + + 11.14文化宣传片30秒 + + + 伏击宣传片(旺冠)12.2止 + + + 敬老公益之伴你到老宣传片3.22起 + + + 原产地商城2022-041 + + + 有歌2024新宣传片12.27止 + + + 12.2舒悦鞋子7分广告 + + + 《我姥爷1945之绝命枪》片头(30秒) + + + 《我姥爷1945之绝命枪》52(20分钟版) + + + 12.2舒悦鞋子7分广告 + + + 斑马线公筷公益宣传片35秒 + + + 国坤堂健康人生宣传片3.9起 + + + 哈喽美好家美食版2024-006 + + + 敬老公益之伴你到老宣传片3.22起 + + + 原产地商城2022-041 + + + 6.1广告BK47 + + + 哈喽美好家健康版2024-157 + + + 哈喽,美好家2024-055(健康版预告) + + + 12.2节目预告WK1 + + + 娘家姐妹花2024-289(首版) + + + 11.14哈喽美好家预告 + + + 原产地商城2022-041 + + + 点燃公益宣传片10.28起 + + + 有歌2024新宣传片12.27止 + + + 12.2节目预告WK2 + + + 11.14文化宣传片30秒 + + + 《《伏击》(二轮)》片头(30秒) + + + 《《伏击》(二轮)》1(精编版) + + + 11.12广告WK6 + + + 伏击热播宣传片(国冠)12.2起 + + + 原产地商城2022-041 + + + 斑马线公筷公益宣传片35秒 + + + 12.2节目预告WK3 + + + 《《伏击》(二轮)》片头(30秒) + + + 《《伏击》(二轮)》2(精编版) + + + 12.2广告WK8 + + + 11.14文化宣传片30秒 + + + 新青年MCN2024-306 + + + 原产地商城2022-041 + + + 节约粮食文明用餐公益宣传片30秒 + + + 国坤堂健康人生宣传片3.9起 + + + 12.2节目预告WK4 + + + 11.14文化宣传片30秒 + + + 《《伏击》(二轮)》片头(30秒) + + + 《《伏击》(二轮)》3(精编版) + + + 12.2广告WK10 + + + 11.14文化宣传片30秒 + + + 伏击热播宣传片(国冠)12.2起 + + + 有歌2024新宣传片12.27止 + + + 斑马线公筷公益宣传片35秒 + + + 原产地商城2022-041 + + + 《《伏击》(二轮)》片头(30秒) + + + 《《伏击》(二轮)》4(精编版) + + + 11.12广告WK12 + + + 11.14文化宣传片30秒 + + + 国坤堂健康人生宣传片3.9起 + + + 勤俭是美德公益宣传片30秒 + + + 12.2节目预告WK5 + + + 直播小强热线 + + + 11.14哈喽美好家预告 + + + 国坤堂健康人生宣传片3.9起 + + + 服务一老一小公益宣传片1.31止 + + + 12.2节目预告WK6 + + + 11.14文化宣传片30秒 + + + 10.8广告WK13 + + + 养生大国医2024-241 + + + 11.12广告WK14 + + + 4.16广告WK15 + + + 伏击热播宣传片(国冠)12.2起 + + + 节约粮食文明用餐公益宣传片30秒 + + + 原产地商城2022-041 + + + 12.2节目预告WK7 + + + 7.16广告WK16 + + + 纪实2024-337 + + + 伏击热播宣传片(国冠)12.2起 + + + 原产地商城2022-041 + + + 公益广告珍惜粮食2.6止 + + + 《蜂鸟》片头(2023版30秒) + + + 《蜂鸟》34(2023版) + + + 新时代公民家庭美德宣传片2.28止 + + + 《蜂鸟》片头(2023版30秒) + + + 《蜂鸟》35(2023版) + + + 原产地商城2022-041 + + + 娘家姐妹花2024-289(重版) + + + 浙江教育 + + + 原产地商城2022-041 + + + 哈喽,美好家2024-048 + + + 反腐前线(教育)2024-048 + + + 伏击宣传片12.2止 + + + 12.1小强热线 + + + 小强实验室2024-096 + + + 纪实2024-336 + + + 教育大视野2024-048 + + + 敬老公益之与时偕行宣传片3.22起 + + + 《《锋刃》(二轮)》片头(完版2024) + + + 《《锋刃》(二轮)》57(2024版) + + + 《《锋刃》(二轮)》58(2024版) + + + 《《锋刃》(二轮)》59(2024版) + + + 《《锋刃》(二轮)》60(2024版) + + + 哈喽,美好家2024-048 + + + 反腐前线(教育)2024-048 + + + 我是党员,我在公益宣传片1.31止 + + + 12.1小强热线 + + + 小强实验室2024-096 + + + 敬老公益之银发匠心宣传片3.22起 + + + 纪实2024-336 + + + 《蜂鸟》片头(2023版30秒) + + + 《蜂鸟》32(2023版) + + + 服务一老一小公益宣传片1.31止 + + + 《蜂鸟》片头(2023版30秒) + + + 《蜂鸟》33(2023版) + + + 纪录片《江南》MV宣传片1.10止 + + + 哈喽,美好家2024-048 + + + 敬老公益之养生之道宣传片3.22起 + + + 反腐前线(教育)2024-048 + + + 国坤堂健康人生宣传片3.9起 + + + 12.1小强热线 + + + 12.1广告BK3 + + + 12.1广告BK4 + + + 小强实验室2024-096 + + + 国坤堂健康人生宣传片3.9起 + + + 新时代公民职业道德宣传片2.28止 + + + 原产地商城2022-041 + + + 哈喽美好家美食版2024-006 + + + 原产地商城2022-041 + + + 国坤堂健康人生宣传片3.9起 + + + 节约粮食文明用餐公益宣传片30秒 + + + 11.25按摩椅5分广告 + + + 6.1广告BK7 + + + 哈喽美好家健康版2024-156 + + + 伏击宣传片(国冠)12.2止 + + + 原产地商城2022-041 + + + 节约粮食文明用餐公益宣传片30秒 + + + 11.14文化宣传片30秒 + + + 12.2舒悦鞋子6A广告 + + + 《《锋刃》(二轮)》片头(30秒版2024) + + + 《《锋刃》(二轮)》57(2024版) + + + 11.25按摩椅6分广告 + + + 伏击宣传片(旺冠)12.2止 + + + 原产地商城2022-041 + + + 勤俭是美德公益宣传片30秒 + + + 国坤堂健康人生宣传片3.9起 + + + 12.2舒悦鞋子5A广告 + + + 12.1国坤堂3分广告 + + + 《《锋刃》(二轮)》片头(30秒版2024) + + + 《《锋刃》(二轮)》58(2024版) + + + 12.2舒悦鞋子5B广告 + + + 11.14文化宣传片30秒 + + + 斑马线公筷公益宣传片35秒 + + + 10.15小强帮忙团引流宣传片30秒 + + + 伏击宣传片(国冠)12.2止 + + + 国坤堂健康人生宣传片3.9起 + + + 点燃公益宣传片10.28起 + + + 原产地商城2022-041 + + + 12.1国坤堂3分广告 + + + 《《锋刃》(二轮)》片头(30秒版2024) + + + 《《锋刃》(二轮)》59(2024版) + + + 11.25按摩椅6分广告 + + + 增进人民福祉公益宣传片1.31止 + + + 原产地商城2022-041 + + + 国坤堂健康人生宣传片3.9起 + + + 伏击宣传片(旺冠)12.2止 + + + 11.25按摩椅10分广告 + + + 《《锋刃》(二轮)》片头(30秒版2024) + + + 《《锋刃》(二轮)》60(2024版) + + + 11.14文化宣传片30秒 + + + 节约粮食文明用餐公益宣传片30秒 + + + 伏击宣传片12.2止 + + + 10.15小强帮忙团引流宣传片30秒 + + + 原产地商城2022-041 + + + 11.29美好浙生活品牌推广按摩椅 + + + 新时代公民社会公德宣传片2.28止 + + + 12.2舒悦鞋子7分广告 + + + 原产地商城2022-041 + + + 斑马线公筷公益宣传片35秒 + + + 国坤堂健康人生宣传片3.9起 + + + 哈喽美好家美食版2024-006 + + + 原产地商城2022-041 + + + 斑马线公筷公益宣传片35秒 + + + 有歌2024新宣传片12.27止 + + + 11.25按摩椅3分广告 + + + 养生大国医(技审)2024-048 + + + 哈喽美好家美食版2024-006 + + + 12.2舒悦鞋子3分广告 + + + 《我姥爷1945之绝命枪》片头(30秒) + + + 《我姥爷1945之绝命枪》46(20分钟版) + + + 12.2舒悦鞋子4分广告 + + + 11.25按摩椅3分广告 + + + 伏击宣传片(国冠)12.2止 + + + 新时代公民社会公德宣传片2.28止 + + + 国坤堂健康人生宣传片3.9起 + + + 《我姥爷1945之绝命枪》片头(30秒) + + + 《我姥爷1945之绝命枪》47(20分钟版) + + + 原产地商城2022-041 + + + 小餐桌大文明公益宣传片7.24起 + + + 《我姥爷1945之绝命枪》片头(30秒) + + + 《我姥爷1945之绝命枪》48(20分钟版) + + + 11.25按摩椅8分广告 + + + 伏击宣传片(旺冠)12.2止 + + + 国坤堂健康人生宣传片3.9起 + + + 原产地商城2022-041 + + + 斑马线公筷公益宣传片35秒 + + + 12.1国坤堂3分广告 + + + 《我姥爷1945之绝命枪》片头(30秒) + + + 《我姥爷1945之绝命枪》49(20分钟版) + + + 12.2舒悦鞋子6B广告 + + + 11.14文化宣传片30秒 + + + 伏击宣传片(国冠)12.2止 + + + 原产地商城2022-041 + + + 国坤堂健康人生宣传片3.9起 + + + 增进人民福祉公益宣传片1.31止 + + + 《我姥爷1945之绝命枪》片头(30秒) + + + 《我姥爷1945之绝命枪》50(20分钟版) + + + 11.25按摩椅4分广告 + + + 斑马线公筷公益宣传片35秒 + + + 12.2舒悦鞋子6A广告 + + + 伏击宣传片12.2止 + + + 原产地商城2022-041 + + + 10.15小强帮忙团引流宣传片30秒 + + + 此心安处是吾乡公益宣传片2.22起 + + + 11.25按摩椅5分广告 + + + 《我姥爷1945之绝命枪》片头(30秒) + + + 《我姥爷1945之绝命枪》51(20分钟版) + + + 12.2舒悦鞋子5A广告 + + + 11.14文化宣传片30秒 + + + 伏击宣传片(旺冠)12.2止 + + + 敬老公益之伴你到老宣传片3.22起 + + + 原产地商城2022-041 + + + 有歌2024新宣传片12.27止 + + + 12.2舒悦鞋子7分广告 + + + 《我姥爷1945之绝命枪》片头(30秒) + + + 《我姥爷1945之绝命枪》52(20分钟版) + + + 12.2舒悦鞋子7分广告 + + + 斑马线公筷公益宣传片35秒 + + + 国坤堂健康人生宣传片3.9起 + + + 哈喽美好家美食版2024-006 + + + 敬老公益之伴你到老宣传片3.22起 + + + 原产地商城2022-041 + + + 6.1广告BK47 + + + 哈喽美好家健康版2024-157 + + + 哈喽,美好家2024-055(健康版预告) + + + 12.2节目预告WK1 + + + 娘家姐妹花2024-289(首版) + + + 11.14哈喽美好家预告 + + + 原产地商城2022-041 + + + 点燃公益宣传片10.28起 + + + 有歌2024新宣传片12.27止 + + + 12.2节目预告WK2 + + + 11.14文化宣传片30秒 + + + 《《伏击》(二轮)》片头(30秒) + + + 《《伏击》(二轮)》1(精编版) + + + 11.12广告WK6 + + + 伏击热播宣传片(国冠)12.2起 + + + 原产地商城2022-041 + + + 斑马线公筷公益宣传片35秒 + + + 12.2节目预告WK3 + + + 《《伏击》(二轮)》片头(30秒) + + + 《《伏击》(二轮)》2(精编版) + + + 12.2广告WK8 + + + 11.14文化宣传片30秒 + + + 新青年MCN2024-306 + + + 原产地商城2022-041 + + + 节约粮食文明用餐公益宣传片30秒 + + + 国坤堂健康人生宣传片3.9起 + + + 12.2节目预告WK4 + + + 11.14文化宣传片30秒 + + + 《《伏击》(二轮)》片头(30秒) + + + 《《伏击》(二轮)》3(精编版) + + + 12.2广告WK10 + + + 11.14文化宣传片30秒 + + + 伏击热播宣传片(国冠)12.2起 + + + 有歌2024新宣传片12.27止 + + + 斑马线公筷公益宣传片35秒 + + + 原产地商城2022-041 + + + 《《伏击》(二轮)》片头(30秒) + + + 《《伏击》(二轮)》4(精编版) + + + 11.12广告WK12 + + + 11.14文化宣传片30秒 + + + 国坤堂健康人生宣传片3.9起 + + + 勤俭是美德公益宣传片30秒 + + + 12.2节目预告WK5 + + + 直播小强热线 + + + 11.14哈喽美好家预告 + + + 国坤堂健康人生宣传片3.9起 + + + 服务一老一小公益宣传片1.31止 + + + 12.2节目预告WK6 + + + 11.14文化宣传片30秒 + + + 10.8广告WK13 + + + 养生大国医2024-241 + + + 11.12广告WK14 + + + 4.16广告WK15 + + + 伏击热播宣传片(国冠)12.2起 + + + 节约粮食文明用餐公益宣传片30秒 + + + 原产地商城2022-041 + + + 12.2节目预告WK7 + + + 7.16广告WK16 + + + 纪实2024-337 + + + 伏击热播宣传片(国冠)12.2起 + + + 原产地商城2022-041 + + + 公益广告珍惜粮食2.6止 + + + 《蜂鸟》片头(2023版30秒) + + + 《蜂鸟》34(2023版) + + + 新时代公民家庭美德宣传片2.28止 + + + 《蜂鸟》片头(2023版30秒) + + + 《蜂鸟》35(2023版) + + + 原产地商城2022-041 + + + 娘家姐妹花2024-289(重版) + + + 浙江数码时代 + + + 检修 + + + 红色档案(数码)2022-361 + + + 看见中国2024-335 + + + 乡村振兴浙江行2024-048 + + + 12.1时代先锋 + + + 先锋视界2024-336 + + + 诗画江南2024-095 + + + 之江先锋(之江)2024-289 + + + 法治中国60分2024-289 + + + 梦想小镇宣传片 + + + 看见中国2024-335 + + + 乡村振兴浙江行2024-048 + + + 红色档案(数码)2022-361 + + + 梦想小镇宣传片 + + + 法治中国60分2024-289 + + + 12.1时代先锋 + + + 先锋视界2024-336 + + + 影像杭州宣传片 + + + 诗画江南2024-095 + + + 之江先锋(之江)2024-289 + + + 法治中国60分2024-289 + + + 看见中国2024-335 + + + 乡村振兴浙江行2024-048 + + + 法治中国60分2024-289 + + + 12.1时代先锋 + + + 影像杭州宣传片 + + + 红色档案(数码)2022-362 + + + 看见中国2024-336 + + + 乡村振兴浙江行2024-048 + + + 党建播报(之江)2024-143 + + + 先锋视界2024-337 + + + 之江之窗2024-241 + + + 共产党员(之江)2024-047 + + + 法治中国60分2024-290 + + + 梦想小镇宣传片 + + + 看见中国2024-336 + + + 乡村振兴浙江行2024-048 + + + 影像杭州宣传片 + + + 浙江新闻 + + + 黄金时间2024-336 + + + 靓丽之窗2024-336 + + + 黄金时间2024-336 + + + 靓丽之窗2024-336 + + + 黄金时间2024-336 + + + 靓丽之窗2024-336 + + + 12.1新闻大直播重播版 + + + 养生大国医(技审)2024-048 + + + 增进人民福祉公益宣传片1.31止 + + + 12.1浙江警视 + + + 增进人民福祉公益宣传片1.31止 + + + 11.30小强热线 + + + 小强实验室2024-095 + + + 纪录片《江南》MV宣传片1.10止 + + + 法治中国60分2024-289 + + + 增进人民福祉公益宣传片1.31止 + + + 12.1新闻大直播重播版 + + + 12.1浙江警视 + + + 养生大国医(技审)2024-048 + + + 纪录片《江南》MV宣传片1.10止 + + + 法治中国60分2024-289 + + + 1.1白天广告1 + + + 哈喽,美好家2024-048 + + + 反腐前线(教育)2024-048 + + + 纪录片《江南》MV宣传片1.10止 + + + 1.1白天广告2 + + + 12.1浙江警视 + + + 文化浙江大讲堂2024-048(公共) + + + 12.1藏文堂 + + + 12.1新闻大直播重播版 + + + 增进人民福祉公益宣传片1.31止 + + + 11.14文化宣传片30秒 + + + 1.1白天广告3 + + + 养生大国医(技审)2024-048 + + + 11.14文化宣传片30秒 + + + 11.30小强热线 + + + 小强实验室2024-095 + + + 六步洗手法公益宣传片35秒 + + + 养生大国医(技审)2024-048 + + + 12.1藏文堂 + + + 1.1白天广告4 + + + 12.1小强热线 + + + 小强实验室2024-096 + + + 12.1藏文堂 + + + 法治中国60分2024-289 + + + 12.1藏文堂 + + + 敬老公益之老而不朽宣传片3.22起 + + + 乡村振兴浙江行2024-048 + + + 12.1藏文堂 + + + 此心安处是吾乡公益宣传片2.22起 + + + 1.1白天广告5 + + + 11.14文化宣传片30秒 + + + 12.1新闻大直播重播版 + + + 12.2海洋气象预报午间版 + + + 原产地商城2022-041 + + + 养生大国医(技审)2024-048 + + + 12.1藏文堂 + + + 哈喽,美好家2024-048 + + + 反腐前线(教育)2024-048 + + + 纪录片《江南》MV宣传片1.10止 + + + 敬老公益之老而不朽宣传片3.22起 + + + 11.29美好浙生活品牌推广按摩椅 + + + 文化浙江大讲堂2024-048(公共) + + + 原产地商城2022-041 + + + 敬老公益之老而不朽宣传片3.22起 + + + 1.1白天广告6 + + + 11.14文化宣传片30秒 + + + 养生大国医(技审)2024-048 + + + 12.1藏文堂 + + + 原产地商城2022-041 + + + 此心安处是吾乡公益宣传片2.22起 + + + 法治中国60分2024-289 + + + 12.1藏文堂 + + + 1.1白天广告7 + + + 哈喽,美好家2024-048 + + + 反腐前线(教育)2024-048 + + + 养生大国医(技审)2024-048 + + + 12.1藏文堂 + + + 斑马线公筷公益宣传片35秒 + + + 11.14文化宣传片30秒 + + + 斑马线公筷公益宣传片35秒 + + + 原产地商城2022-041 + + + 纪录片《江南》MV宣传片1.10止 + + + 11.14文化宣传片30秒 + + + 纪实2024-336 + + + 12.1藏文堂 + + + 12.1浙江警视 + + + 原产地商城2022-041 + + + 斑马线公筷公益宣传片35秒 + + + 3.1白天广告9 + + + 养生大国医2024-241 + + + 12.1藏文堂 + + + 原产地商城2022-041 + + + 纪实2024-336 + + + 12.1藏文堂 + + + 直播新闻大直播 + + + 11.14文化宣传片30秒 + + + 1.1公共晚间1 + + + 娘家姐妹花2024-289(重版) + + + 4.12公共晚间2 + + + 1.1公共晚间3 + + + 12.2海洋气象预报晚间版 + + + 敬老公益之养生之道宣传片3.22起 + + + 11.14文化宣传片30秒 + + + 12.2浙江警视 + + + 增进人民福祉公益宣传片1.31止 + + + 11.14文化宣传片30秒 + + + 12.2浙江地市头条 + + + 服务一老一小公益宣传片1.31止 + + + 1.1公共晚间4 + + + 11.14文化宣传片30秒 + + + 体育最前线(公共)2024-337 + + + 纪录片《江南》MV宣传片1.10止 + + + 法治中国60分2024-290 + + + 此心安处是吾乡公益宣传片2.22起 + + + 敬老公益之养生之道宣传片3.22起 + + + 11.14文化宣传片30秒 + + + 2.17公共晚间5 + + + 12.2浙江新闻联播 + + + 固定垫片5分钟 + + + 固定垫片2分钟 + + + 1.1公共晚间6 + + + 11.14文化宣传片30秒 + + + 12.2新闻大直播重播版 + + + 政策面对面2024-049 + + + 新闻频道形象宣传片 + + + 黄金时间2024-337 + + + 靓丽之窗2024-337 + + + 黄金时间2024-337 + + + 靓丽之窗2024-337 + + + 黄金时间2024-337 + + + 靓丽之窗2024-337 + + + 浙江民生 + + + TA-11广告(12.1) + + + 我是大赢家2024-335(上午版) + + + 1818黄金眼2024-336(民生版高清) + + + TC-1广告(12.2) + + + TC-2广告(12.2) + + + TC-3广告(12.2) + + + TC-4广告(12.2) + + + TC-5广告(12.2) + + + 中国蓝·书画园地2024-045(周播版) + + + TA-12广告(12.1) + + + 《流金岁月》17(缩编版) + + + TA-13广告(12.1) + + + 《流金岁月》18(缩编版) + + + TA-12广告(12.1) + + + 1818黄金眼2024-336(公众版高清) + + + TC-6广告(12.2) + + + TC-7广告(12.2) + + + TC-8广告(12.2) + + + TC-9广告(12.2) + + + 人文周刊22023-005(26县纪事(亚运版)) + + + TC-10广告(12.2) + + + 人文周刊2023-002(良渚寻梦夜(亚运版)) + + + 宣传片B(6.4) + + + 我要惠生活(高清版)2024-336 + + + 宣传片A(6.4) + + + PK大擂台(精编版)2024-335 + + + 舅要管到底2024-049(周播版) + + + TD-1广告(12.2) + + + TD-2广告(12.2) + + + TD-3广告(12.2) + + + 我要惠生活2024-336(精编上午版) + + + TD-4广告(12.2) + + + 1818黄金眼2024-336(公众版高清) + + + TC-6广告(12.2) + + + TC-7广告(12.2) + + + TC-8广告(12.2) + + + TC-9广告(12.2) + + + 我要惠生活2024-336(10分版) + + + TD-5广告(12.2) + + + 我是大赢家2024-336(上午版) + + + PK大擂台(精编版)2024-336 + + + 御寿堂(11.27) + + + TD-6广告(12.2) + + + TD-7广告(12.2) + + + TD-8广告(12.2) + + + 我要惠生活(高清小版)2024-336 + + + TD-9广告(12.2) + + + 老人鞋专题A(12.2) + + + 舅要管到底2024-049(周播版) + + + TD-10广告(12.2) + + + TD-11广告(12.2) + + + TD-12广告(12.2) + + + 我是大赢家2024-336(20分钟版) + + + TD-13广告(12.2) + + + 我是大赢家2024-336(30分钟版) + + + TD-14广告(12.2) + + + 老人鞋专题B(12.2) + + + 1818黄金眼2024-336(民生版高清) + + + TC-1广告(12.2) + + + TC-2广告(12.2) + + + TC-3广告(12.2) + + + TC-4广告(12.2) + + + TC-5广告(12.2) + + + 国坤堂专题(11.25) + + + 我是大赢家2024-336(10分钟版) + + + TB-1广告(12.2) + + + PK大擂台(精编版)2024-336 + + + TB-2广告(12.2) + + + TB-3广告(12.2) + + + TB-4广告(12.2) + + + TB-5广告(12.2) + + + TB-6广告(12.2) + + + 老人鞋专题A(12.2) + + + 我是大赢家2024-336(下午版) + + + TB-7广告(12.2) + + + PK大擂台(精编版)2024-335 + + + 御寿堂(11.27) + + + 御寿堂(11.27) + + + TB-8广告(12.2) + + + TB-9广告(12.2) + + + 老人鞋专题B(12.2) + + + 舅要管到底2024-049(周播版) + + + TB-10广告(12.2) + + + TB-11广告(12.2) + + + TB-12广告(12.2) + + + TB-13广告(12.2) + + + 我是大赢家2024-336(40分钟版) + + + 我要惠生活(高清版)2024-337 + + + TB-14广告(12.2) + + + TB-15广告(12.2) + + + 6频道海洋预报(12.2) + + + 直播前广告 + + + 直播1800看今晚 + + + TA-1广告(12.2) + + + 直播1818黄金眼 + + + TA-2广告(12.2) + + + 钱塘老娘舅2024-337(高清版) + + + TA-3广告(12.2) + + + TA-4广告(12.2) + + + TA-5广告(12.2) + + + TA-6广告(12.2) + + + 直播PK大擂台 + + + 直播惠生活短片 + + + 直播前广告 + + + 直播1818公众版 + + + 1818黄金屋2024-337(高清版) + + + PK大擂台(精编版)2024-336 + + + 我要惠生活2024-337(精编晚间版) + + + 补肺丸(11.24) + + + 人文周刊2023-006(大运河(亚运版)) + + + 补肺丸(11.24) + + + TA-7广告(12.2) + + + 人文周刊2023-001(浙江新飞越)(小版A) + + + 浙江民生休闲 + + + TA-11广告(12.1) + + + 我是大赢家2024-335(上午版) + + + 1818黄金眼2024-336(民生版高清) + + + TC-1广告(12.2) + + + TC-2广告(12.2) + + + TC-3广告(12.2) + + + TC-4广告(12.2) + + + TC-5广告(12.2) + + + 中国蓝·书画园地2024-045(周播版) + + + TA-12广告(12.1) + + + 《流金岁月》17(缩编版) + + + TA-13广告(12.1) + + + 《流金岁月》18(缩编版) + + + TA-12广告(12.1) + + + 1818黄金眼2024-336(公众版高清) + + + TC-6广告(12.2) + + + TC-7广告(12.2) + + + TC-8广告(12.2) + + + TC-9广告(12.2) + + + 人文周刊22023-005(26县纪事(亚运版)) + + + TC-10广告(12.2) + + + 人文周刊2023-002(良渚寻梦夜(亚运版)) + + + 宣传片B(6.4) + + + 我要惠生活(高清版)2024-336 + + + 宣传片A(6.4) + + + PK大擂台(精编版)2024-335 + + + 舅要管到底2024-049(周播版) + + + TD-1广告(12.2) + + + TD-2广告(12.2) + + + TD-3广告(12.2) + + + 我要惠生活2024-336(精编上午版) + + + TD-4广告(12.2) + + + 1818黄金眼2024-336(公众版高清) + + + TC-6广告(12.2) + + + TC-7广告(12.2) + + + TC-8广告(12.2) + + + TC-9广告(12.2) + + + 我要惠生活2024-336(10分版) + + + TD-5广告(12.2) + + + 我是大赢家2024-336(上午版) + + + PK大擂台(精编版)2024-336 + + + 御寿堂(11.27) + + + TD-6广告(12.2) + + + TD-7广告(12.2) + + + TD-8广告(12.2) + + + 我要惠生活(高清小版)2024-336 + + + TD-9广告(12.2) + + + 老人鞋专题A(12.2) + + + 舅要管到底2024-049(周播版) + + + TD-10广告(12.2) + + + TD-11广告(12.2) + + + TD-12广告(12.2) + + + 我是大赢家2024-336(20分钟版) + + + TD-13广告(12.2) + + + 我是大赢家2024-336(30分钟版) + + + TD-14广告(12.2) + + + 老人鞋专题B(12.2) + + + 1818黄金眼2024-336(民生版高清) + + + TC-1广告(12.2) + + + TC-2广告(12.2) + + + TC-3广告(12.2) + + + TC-4广告(12.2) + + + TC-5广告(12.2) + + + 国坤堂专题(11.25) + + + 我是大赢家2024-336(10分钟版) + + + TB-1广告(12.2) + + + PK大擂台(精编版)2024-336 + + + TB-2广告(12.2) + + + TB-3广告(12.2) + + + TB-4广告(12.2) + + + TB-5广告(12.2) + + + TB-6广告(12.2) + + + 老人鞋专题A(12.2) + + + 我是大赢家2024-336(下午版) + + + TB-7广告(12.2) + + + PK大擂台(精编版)2024-335 + + + 御寿堂(11.27) + + + 御寿堂(11.27) + + + TB-8广告(12.2) + + + TB-9广告(12.2) + + + 老人鞋专题B(12.2) + + + 舅要管到底2024-049(周播版) + + + TB-10广告(12.2) + + + TB-11广告(12.2) + + + TB-12广告(12.2) + + + TB-13广告(12.2) + + + 我是大赢家2024-336(40分钟版) + + + 我要惠生活(高清版)2024-337 + + + TB-14广告(12.2) + + + TB-15广告(12.2) + + + 6频道海洋预报(12.2) + + + 直播前广告 + + + 直播1800看今晚 + + + TA-1广告(12.2) + + + 直播1818黄金眼 + + + TA-2广告(12.2) + + + 钱塘老娘舅2024-337(高清版) + + + TA-3广告(12.2) + + + TA-4广告(12.2) + + + TA-5广告(12.2) + + + TA-6广告(12.2) + + + 直播PK大擂台 + + + 直播惠生活短片 + + + 直播前广告 + + + 直播1818公众版 + + + 1818黄金屋2024-337(高清版) + + + PK大擂台(精编版)2024-336 + + + 我要惠生活2024-337(精编晚间版) + + + 补肺丸(11.24) + + + 人文周刊2023-006(大运河(亚运版)) + + + 补肺丸(11.24) + + + TA-7广告(12.2) + + + 人文周刊2023-001(浙江新飞越)(小版A) + + + 浙江经济生活 + + + 《《海天雄鹰》》40(午夜版) + + + 《《海天雄鹰》》41(午夜版) + + + 《《海天雄鹰》》42(午夜版) + + + 2024年4月18日播带 + + + 12月01日经视新闻 + + + 边城破晓精彩呈现 + + + 经视养生会2024-096(高清重播版) + + + 《《海天雄鹰》》37(午夜版) + + + 《《海天雄鹰》》38(午夜版) + + + 《《海天雄鹰》》39(午夜版) + + + 《《海天雄鹰》》40(午夜版) + + + 《《海天雄鹰》》41(午夜版) + + + 《《海天雄鹰》》42(午夜版) + + + 《《熟年》》12(阳光1201) + + + 11月29日财富大直播午夜版(周五) + + + 《《熟年》》13(阳光1201) + + + 12月02日串播jb1 + + + 《《熟年》》14(阳光1201) + + + 12月02日串播jb2 + + + 12月01日体彩新天地 + + + 浙样的生活2024-057(白天版10分钟) + + + 12月02日串播jb3 + + + 《《熟年》》15(阳光1201) + + + 浙样的生活2024-057(白天版10分钟) + + + 12月02日串播jb4 + + + 《《熟年》》16(阳光1201) + + + 直播-好易购 + + + 《《熟年》》17(阳光1201) + + + 12月02日串播jb5 + + + 《《熟年》》18(阳光1201) + + + 12月02日串播jb6 + + + 《《熟年》》19(阳光1201) + + + 12月02日串播jb7 + + + 《《熟年》》20(阳光1201) + + + 12月02日串播jb8 + + + 《《熟年》》21(阳光1201) + + + 浙样的生活2024-057(白天版10分钟) + + + 《《熟年》》22(阳光1201) + + + 浙样的生活2024-051(白天版5分钟) + + + 《《熟年》》23(阳光1201) + + + 《《熟年》》24(阳光1201) + + + 浙样的生活2024-057(白天版10分钟) + + + 12月02日串播jb9 + + + 《《熟年》》25(阳光1201) + + + 浙样的生活2024-051(白天版5分钟) + + + 12月02日串播jb10 + + + 《《熟年》》25(阳光1201)A + + + 浙样的生活2024-057(白天版10分钟) + + + 直播-财富大直播 + + + 12月02日串播jw1 + + + 《《熟年》》26(阳光1201) + + + 12月02日串播jw2 + + + 《边城破晓》25(经视剧场版) + + + 12月02日串播jw3 + + + 《边城破晓》26(经视剧场版) + + + 12月02日串播jw4 + + + 《边城破晓》27(经视剧场版) + + + 12月02日串播jw5 + + + 新闻深呼吸2024-337(大舒有话说首播版) + + + 12月02日串播jw6 + + + 直播-经视新闻 + + + 经视养生会2024-097(高清首播版) + + + 经视养生会2024-049(高清养生星期一) + + + 12月02日体彩新天地 + + + 茅莹今日秀2024-145(高清首播版) + + + 新闻深呼吸2024-337(首播版) + + + 12月02日财富大直播午夜版(周一) + + + 《《海天雄鹰》》43(午夜版) + + + 浙江经视 + + + 《《海天雄鹰》》40(午夜版) + + + 《《海天雄鹰》》41(午夜版) + + + 《《海天雄鹰》》42(午夜版) + + + 2024年4月18日播带 + + + 12月01日经视新闻 + + + 边城破晓精彩呈现 + + + 经视养生会2024-096(高清重播版) + + + 《《海天雄鹰》》37(午夜版) + + + 《《海天雄鹰》》38(午夜版) + + + 《《海天雄鹰》》39(午夜版) + + + 《《海天雄鹰》》40(午夜版) + + + 《《海天雄鹰》》41(午夜版) + + + 《《海天雄鹰》》42(午夜版) + + + 《《熟年》》12(阳光1201) + + + 11月29日财富大直播午夜版(周五) + + + 《《熟年》》13(阳光1201) + + + 12月02日串播jb1 + + + 《《熟年》》14(阳光1201) + + + 12月02日串播jb2 + + + 12月01日体彩新天地 + + + 浙样的生活2024-057(白天版10分钟) + + + 12月02日串播jb3 + + + 《《熟年》》15(阳光1201) + + + 浙样的生活2024-057(白天版10分钟) + + + 12月02日串播jb4 + + + 《《熟年》》16(阳光1201) + + + 直播-好易购 + + + 《《熟年》》17(阳光1201) + + + 12月02日串播jb5 + + + 《《熟年》》18(阳光1201) + + + 12月02日串播jb6 + + + 《《熟年》》19(阳光1201) + + + 12月02日串播jb7 + + + 《《熟年》》20(阳光1201) + + + 12月02日串播jb8 + + + 《《熟年》》21(阳光1201) + + + 浙样的生活2024-057(白天版10分钟) + + + 《《熟年》》22(阳光1201) + + + 浙样的生活2024-051(白天版5分钟) + + + 《《熟年》》23(阳光1201) + + + 《《熟年》》24(阳光1201) + + + 浙样的生活2024-057(白天版10分钟) + + + 12月02日串播jb9 + + + 《《熟年》》25(阳光1201) + + + 浙样的生活2024-051(白天版5分钟) + + + 12月02日串播jb10 + + + 《《熟年》》25(阳光1201)A + + + 浙样的生活2024-057(白天版10分钟) + + + 直播-财富大直播 + + + 12月02日串播jw1 + + + 《《熟年》》26(阳光1201) + + + 12月02日串播jw2 + + + 《边城破晓》25(经视剧场版) + + + 12月02日串播jw3 + + + 《边城破晓》26(经视剧场版) + + + 12月02日串播jw4 + + + 《边城破晓》27(经视剧场版) + + + 12月02日串播jw5 + + + 新闻深呼吸2024-337(大舒有话说首播版) + + + 12月02日串播jw6 + + + 直播-经视新闻 + + + 经视养生会2024-097(高清首播版) + + + 经视养生会2024-049(高清养生星期一) + + + 12月02日体彩新天地 + + + 茅莹今日秀2024-145(高清首播版) + + + 新闻深呼吸2024-337(首播版) + + + 12月02日财富大直播午夜版(周一) + + + 《《海天雄鹰》》43(午夜版) + + + 浙江钱江都市 + + + 12月1日串播QW11 + + + 浙江名医馆(集团)2024-336(健康浙江) + + + 健康浙江 主持人打call 医生打call + + + 1009 社区合伙人 + + + 《《锻刀之绝地重生》(二轮)》56(剧场版) + + + 《《锻刀之绝地重生》(二轮)》57(剧场版) + + + 《《锻刀之绝地重生》(二轮)》58(剧场版) + + + 1009 社区合伙人 + + + 健康浙江 主持人打call 医生打call + + + 《雾都》正在MTV + + + 《《锻刀之绝地重生》(二轮)》59(剧场版) + + + 1009 社区合伙人 + + + 健康浙江 主持人打call 医生打call + + + 《《锻刀之绝地重生》(二轮)》60(剧场版) + + + 1009 社区合伙人 + + + 《雾都》正在花絮2 + + + 健康浙江 主持人打call 医生打call + + + 《冰锋》47(剧场版) + + + 健康浙江 主持人打call 医生打call + + + 《雾都》正在花絮2 + + + 《冰锋》48(剧场版) + + + 专题 3月7日2380按摩椅20分 + + + 财富地产家2024-336(重播版) + + + 健康浙江 主持人打call 医生打call + + + 《冰锋》49(剧场版) + + + 1009 社区合伙人 + + + 浙江名医馆(集团)2024-336(健康浙江) + + + 健康浙江 发布 + + + 健康浙江 主持人打call 医生打call + + + 《雾都》正在MTV + + + 1009 社区合伙人 + + + 钱江传播 浙里帮40秒 + + + 《《锻刀之绝地重生》(二轮)》61(剧场版) + + + 12月2日串播QB1 + + + 12月1日福彩天天乐 + + + 1009 社区合伙人 + + + 健康浙江 发布 + + + 超能 冠名《雾都》正在花絮1 + + + 1009 社区合伙人 + + + 1119社区合伙人(国坤堂干草) + + + 12月2日串播QB2 + + + 《《锻刀之绝地重生》(二轮)》62(剧场版) + + + 专题 3月8日贡宝林秋梨膏10分 + + + 12月2日串播QB3 + + + 1009 社区合伙人 + + + 《雾都》正在花絮2 + + + 1119社区合伙人(国坤堂干草) + + + 12月2日串播QB4 + + + 浙江名医馆2024-337(精编版) + + + 专题 财富地产家精编版1202版10分钟 + + + 12月2日串播QB5 + + + 1119社区合伙人(国坤堂干草) + + + 《雾都》正在MTV + + + 1009 社区合伙人 + + + 12月2日串播QB6 + + + 复刻杭州三十六道美食 火蒙鞭笋 + + + 专题 11.25-12.5 国坤堂惠民团购会-30分钟 + + + 《中国地》1(剧场版) + + + 12月2日串播QB7 + + + 《中国地》2(剧场版) + + + 专题 财富地产家精编版1202版15分钟 + + + 1009 社区合伙人 + + + 超能 冠名《雾都》正在花絮1 + + + 1119社区合伙人(国坤堂干草) + + + 12月2日串播QB8 + + + 《中国地》3(剧场版) + + + 《中国地》4(剧场版) + + + 好易购 + + + 新闻0072024-049(重播版) + + + 范大姐帮忙2024-337(中午版) + + + 1009 社区合伙人 + + + 健康浙江 主持人打call 医生打call + + + 《雾都》正在MTV + + + 修改版 卫视 有歌2024 宣传片1227 + + + 《雾都》正在花絮2 + + + 12月2日串播QB9 + + + 1009 社区合伙人 + + + 健康浙江 主持人打call 医生打call + + + 《雾都》正在MTV + + + 12月2日串播QB10 + + + 《冰锋》50(剧场版) + + + 专题 1202 舒悦 钱江10分钟 + + + 12月2日串播QB11 + + + 修改版 卫视 有歌2024 宣传片1227 + + + 1009 社区合伙人 + + + 超能 冠名《雾都》正在花絮1 + + + 健康浙江 主持人打call 医生打call + + + 《雾都》正在MTV + + + 1009 社区合伙人 + + + 12月2日串播QB12 + + + 《冰锋》51(剧场版) + + + 1009 社区合伙人 + + + 《雾都》正在MTV + + + 修改版 卫视 有歌2024 宣传片1227 + + + 《雾都》正在花絮2 + + + 12月2日串播QB13 + + + 范大姐帮忙2024-337(午后版) + + + 12月2日串播QB14 + + + 专题 财富地产家精编版1202版15分钟 + + + 《冰锋》52(剧场版) + + + 12月2日串播QB15 + + + 浙江名医馆2024-337 + + + 《雾都》正在MTV + + + 健康浙江 发布 + + + 12月2日串播QW1 + + + 范大姐帮忙 + + + 1119社区合伙人(国坤堂干草) + + + 12月2日串播QW2 + + + 社区合伙人2024-337 + + + 浙江名医馆(集团)2024-337(健康浙江) + + + 超能 冠名《雾都》正在花絮1 + + + 12月2日串播QW3 + + + 超能 冠名《雾都》正在花絮1 + + + 修改版 卫视 有歌2024 宣传片1227 + + + 健康浙江 主持人打call 医生打call + + + 1119社区合伙人(国坤堂干草) + + + 12月2日串播QW4 + + + 《雾都》28(剧场版) + + + 12月2日串播QW5 + + + 超能 冠名《雾都》正在花絮1 + + + 1119社区合伙人(国坤堂干草) + + + 修改版 卫视 有歌2024 宣传片1227 + + + 《雾都》正在花絮2 + + + 1009 社区合伙人 + + + 健康浙江 主持人打call 医生打call + + + 12月2日串播QW6 + + + 《雾都》29(剧场版) + + + 12月2日串播QW7 + + + 12月2日串播QW8 + + + 九点半 + + + 财富地产家2024-283 + + + 12月2日福彩天天乐 + + + 1119社区合伙人(国坤堂干草) + + + 1009 社区合伙人 + + + 12月2日串播QW9 + + + 钱江传播 浙里帮40秒 + + + 超能 冠名《雾都》正在花絮1 + + + 《心想事成》47(剧场版) + + + 《雾都》正在MTV + + + 健康浙江 发布 + + + 0708节约粮食文明用餐 + + + 12月2日串播QW10 + + + 《心想事成》48(剧场版) + + + 0708节约粮食文明用餐 + + + 《雾都》正在花絮2 + + + 《《锻刀之绝地重生》(二轮)》61(剧场版) + + + 海南公共 + + + 生活帮 + + + 相亲记 + + + 午夜特别编排 + + + 午夜特别编排 + + + 午夜特别编排 + + + 午夜特别编排 + + + 午夜特别编排 + + + 午夜特别编排 + + + 生活帮 + + + 奇妙的中医 + + + 幸福剧场 + + + 幸福剧场 + + + 儋洋共潮生 + + + 幸福剧场 + + + 生活帮 + + + 梦想剧场 + + + 梦想剧场 + + + 生活帮 + + + 温暖剧场 + + + 儋洋共潮生资讯版 + + + 温暖剧场 + + + 海南卫视 + + + 纪录中国 + + + 凌晨剧场 + + + 全球国货之光 + + + 第1时尚 + + + 纪录中国 + + + 善行天下 + + + 动漫剧场 + + + 凌晨剧场 + + + 步步为营 + + + 大使家宴 + + + 国歌 + + + 海南新闻联播 + + + 阳光剧场 + + + 阳光剧场 + + + 阳光剧场 + + + 阳光剧场 + + + 阳光剧场 + + + 天气预报 + + + 海南新闻联播 + + + 新闻联播 + + + 潮起海之南 + + + 视界 + + + 金椰剧场 + + + 星光剧场 + + + 风华正茂 + + + 卫视高尔夫 + + + 海南少儿 + + + 午夜特别编排 + + + 午夜特别编排 + + + 午夜特别编排 + + + 午夜特别编排 + + + 午夜特别编排 + + + 午夜特别编排 + + + 午夜特别编排 + + + 七彩动漫城: 奇奇和努娜 + + + 七彩动漫城:百变校巴13 + + + 七彩动漫城: 霸王龙雷奇 + + + 七彩动漫城: 开心超人之勇敢之城2 + + + 七彩动漫城:小鹿蓝蓝 小鹿蓝蓝2 + + + 七彩动漫城:萌宝战警3源途之战 + + + 七彩动漫城:托宝战士之银河侦探4 + + + 七彩动漫城: 节气小精灵 + + + 七彩动漫城:苏东坡传奇 + + + 七彩动漫城: 我的同学是美人鱼 + + + 七彩动漫城:无敌鹿战队 + + + 七彩动漫城:百变校巴16 + + + 七彩动漫城:爆裂飞车之晶码迷踪 + + + 七彩动漫城:猪猪侠之恐龙日记7 + + + 七彩动漫城:海底小纵队在中国 + + + 七彩动漫城:彩虹护卫队 + + + 科教自贸港(首播) + + + 七彩动漫城:梦宝奇游记 + + + 七彩动漫城: 航海少年团 + + + 七彩动漫城:重返南霞 + + + 七彩动漫城: 盟卡车神之魔幻元珠3 + + + 晚间剧场:乐比成长记 + + + 晚间剧场:乐比成长记 + + + 海南文旅 + + + 一起去旅行 + + + 食尚海南 + + + 午夜特别编排 + + + 午夜特别编排 + + + 午夜特别编排 + + + 午夜特别编排 + + + 午夜特别编排 + + + 午夜特别编排 + + + 午夜特别编排 + + + 呀喏哒嘀 + + + 呀喏哒嘀 + + + 呀喏哒嘀 + + + 科普专题 + + + 呀喏哒嘀 + + + 食尚海南 + + + 遇见海南美 + + + 食尚海南 + + + 呀喏哒嘀 + + + 科普专题 + + + 呀喏哒嘀 + + + 食尚海南 + + + 遇见海南美 + + + 海南文旅报道 + + + 星光剧场 + + + 星光剧场 + + + 遇见海南美 + + + 海南新闻 + + + 全媒体大直播 + + + 法治新海南 + + + 今日新闻汇 + + + 午夜特别编排 + + + 午夜特别编排 + + + 午夜特别编排 + + + 国歌 + + + 海南新闻联播 + + + 海南岛纪事 + + + 法治新海南 + + + 海南新闻联播 + + + 全媒体大直播 + + + 直播海南 + + + 海南新闻联播 + + + 全媒体大直播 + + + 法治新海南 + + + 今日新闻汇 + + + 直播海南 + + + 法治新海南 + + + 今日新闻汇 + + + 全媒体大直播 + + + 午间剧场 + + + 海洋天气预报 + + + 直播海南 + + + 法治新海南 + + + 全媒体大直播 + + + 今日新闻汇 + + + 法治新海南 + + + 直播海南 + + + 海南新闻联播 + + + 直播海南 + + + 全媒体大直播 + + + 海南自贸 + + + 一起去旅行 + + + 食尚海南 + + + 午夜特别编排 + + + 午夜特别编排 + + + 午夜特别编排 + + + 午夜特别编排 + + + 午夜特别编排 + + + 午夜特别编排 + + + 午夜特别编排 + + + 呀喏哒嘀 + + + 呀喏哒嘀 + + + 呀喏哒嘀 + + + 科普专题 + + + 呀喏哒嘀 + + + 食尚海南 + + + 遇见海南美 + + + 食尚海南 + + + 呀喏哒嘀 + + + 科普专题 + + + 呀喏哒嘀 + + + 食尚海南 + + + 遇见海南美 + + + 海南文旅报道 + + + 星光剧场 + + + 星光剧场 + + + 遇见海南美 + + + 海口1台 + + + 我是大美人 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 平民英雄 + + + 新闻大求真 + + + 新闻大求真 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 我的纪录片 + + + 中华人民共和国国歌 + + + 湖南新闻联播 + + + 偶像独播剧场:情谜睡美人(74) + + + 动画片剧场 + + + 偶像独播剧场:情谜睡美人(75) + + + 偶像独播剧场:情谜睡美人(76) + + + 偶像独播剧场:情谜睡美人(77) + + + 偶像独播剧场:情谜睡美人(78) + + + 海口2台 + + + 我是大美人 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 平民英雄 + + + 新闻大求真 + + + 新闻大求真 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 我的纪录片 + + + 中华人民共和国国歌 + + + 湖南新闻联播 + + + 偶像独播剧场:情谜睡美人(74) + + + 动画片剧场 + + + 偶像独播剧场:情谜睡美人(75) + + + 偶像独播剧场:情谜睡美人(76) + + + 偶像独播剧场:情谜睡美人(77) + + + 偶像独播剧场:情谜睡美人(78) + + + 海口3台 + + + 我是大美人 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 平民英雄 + + + 新闻大求真 + + + 新闻大求真 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 我的纪录片 + + + 中华人民共和国国歌 + + + 湖南新闻联播 + + + 偶像独播剧场:情谜睡美人(74) + + + 动画片剧场 + + + 偶像独播剧场:情谜睡美人(75) + + + 偶像独播剧场:情谜睡美人(76) + + + 偶像独播剧场:情谜睡美人(77) + + + 偶像独播剧场:情谜睡美人(78) + + + 海峡卫视 + + + ECFA进行式 + + + 海峡名录 + + + 海峡气象 + + + ECFA进行式 + + + 博物志 + + + 海峡新动力 + + + 海峡幸运巴士 + + + 今日海峡 + + + 海峡名录 + + + ECFA进行式 + + + 海峡新动力 + + + 今日海峡 + + + 嘻笑看戏曲 + + + 海峡气象 + + + 电视剧 + + + 电视剧 + + + 客家人 + + + 今日海峡 + + + 海峡幸运巴士 + + + 乐活海峡 + + + 电视剧 + + + 电视剧 + + + 乐活海峡 + + + ECFA进行式 + + + 海峡气象 + + + 博物志 + + + 海峡名录 + + + 电视剧 + + + 电视剧 + + + 电视剧 + + + 电视剧 + + + 客家人 + + + 季播精品 + + + 中国好地方 + + + 乐活海峡 + + + 海峡幸运巴士 + + + 电视剧 + + + 电视剧 + + + 海峡气象 + + + 生活接力棒 + + + 今日海峡 + + + 海峡微电影 + + + 电视剧 + + + 电视剧 + + + 深圳体育健康 + + + 世界杯来了 + + + 星耀巴西 + + + 体育赛事 + + + 爆笑体育 + + + 世界杯官方杂志 + + + 名医话养生 + + + 盐藻 + + + 体育赛事 + + + 盐藻 + + + 不信你不看 + + + 我来斗地主 + + + 激情角斗场 + + + 盐藻 + + + 爆笑体育 + + + 名医话养生 + + + 幸福来敲门 + + + 名医话养生 + + + 不信你不看 + + + 世界杯来了 + + + 我来斗地主 + + + 激情角斗场 + + + 不信你不看 + + + 深圳卫视 + + + 我的中国缘2 + + + 时尚与设计 + + + 科创最前沿 + + + 直财经 + + + 探秘时刻 + + + 我的中国缘2 + + + 直播港澳台 + + + 烽火铁骑(18) + + + 烽火铁骑(19) + + + 烽火铁骑(20) + + + 烽火铁骑(21) + + + 直播港澳台 + + + 专题 + + + 直播港澳台 + + + 深圳非遗 + + + 中华人民共和国国歌 + + + 温暖在身边 + + + 科创最前沿 + + + 荣耀·2024深圳马拉松 + + + 荣耀·2024深圳马拉松 + + + 荣耀·2024深圳马拉松 + + + 我的抗战之猎豹突击(11) + + + 我的抗战之猎豹突击(12) + + + 正午看天下 + + + 科创最前沿 + + + 直财经 + + + 黑狐之风影(29) + + + 黑狐之风影(30) + + + 黑狐之风影(31) + + + 黑狐之风影(32) + + + 黑狐之风影(33) + + + 黑狐之风影(34) + + + 深视新闻 + + + 转播中央台新闻联播 + + + 雪迷宫(14) + + + 雪迷宫(15) + + + 科创最前沿 + + + 超级发布会 + + + 先行 + + + 直财经 + + + 直播港澳台 + + + Y深圳 + + + 科创最前沿 + + + 深圳国际 + + + 深视新闻 + + + 探秘时刻 + + + 听说你喜欢我 10 + + + 听说你喜欢我 11 + + + 听说你喜欢我 12 + + + 听说你喜欢我 13 + + + 听说你喜欢我 14 + + + 听说你喜欢我 15 + + + 港澳台 + + + 财经 + + + 探秘时刻 + + + 深视新闻 + + + 科创最前沿 + + + 白色城堡 21 + + + 白色城堡 22 + + + 白色城堡 23 + + + 港澳台 + + + 科创最前沿 + + + 决胜制高点 + + + 探秘时刻 + + + 听说你喜欢我 16 + + + 听说你喜欢我 17 + + + 听说你喜欢我 18 + + + 听说你喜欢我 19 + + + 听说你喜欢我 20 + + + 听说你喜欢我 21 + + + 港澳台 + + + 转中央台新闻联 + + + 白色城堡 24 + + + 白色城堡 25 + + + 白色城堡 26 + + + 科创最前沿 + + + 财经 + + + 港澳台 + + + 科创最前沿 + + + 决胜制高点 + + + 深圳少儿 + + + 午夜剧场 + + + 宝宝快乐街 + + + 小神龙俱乐部 + + + 奇趣大自然 + + + 动画连连看 + + + 花朵剧场 + + + 花朵卡通廊 + + + 花朵动画乐园 + + + 花朵SHOW工坊 + + + 小神龙俱乐部 + + + 优趣之哈皮父子 + + + 动画连连看 + + + 花朵卡通廊 + + + 花朵开心糖 + + + 家庭幽默录像 + + + 花朵剧场 + + + 深圳电视剧 + + + 老片坊通宵 + + + 快乐生活一点通 + + + 食全食美 + + + 榕树海剧场 + + + 青春互动剧场 + + + 月亮湾剧场 + + + 薰衣草剧场 + + + 每日剧焦 + + + 黄金剧场 + + + 满天星剧场 + + + 老片坊通宵 + + + 深圳移动 + + + 晨曲 + + + 重播《今日视点》 + + + 音乐现场 + + + 饭没了秀(日播) + + + 年代秀(日播) + + + 笑笑小电影 + + + 大讲堂A + + + 男左女右(日播) + + + 转播-早安深圳 + + + 食客准备 + + + 大讲堂A + + + 丫丫脱口秀 + + + 鹏城警视A + + + 疾控在线 + + + 理财快讯 + + + 年代秀(日播) + + + 饭没了秀(日播) + + + 疾控在线 + + + 鹏城警视 + + + 食客准备 + + + 笑笑小电影 + + + 音乐现场(日播) + + + 转“漾新闻”一小时 + + + 深圳地产/E生活B/健康养生坊 + + + 精编《法观天下》 + + + 男左女右(日播) + + + 精编《环球财经》首播 + + + 深圳财经 + + + 食客准备 + + + 探秘时刻 + + + 测试卡 + + + 经济生活报道 + + + 食客准备 + + + 虫草 + + + 私募荟 + + + 虫草 + + + 看财经 + + + 虫草 + + + 创艺人生 + + + 虫草 + + + 今日地产 + + + 看财经 + + + 宜和 + + + 创艺人生 + + + 虫草 + + + 创艺人生 + + + 虫草 + + + 今日地产 + + + 财眼看片 + + + 财富来了 + + + 食客准备 + + + 经济生活报道 + + + 中国股市报道 + + + 私募荟 + + + 剧场 + + + 创艺人生 + + + 经济生活报道 + + + 深圳财经生活 + + + 食客准备 + + + 探秘时刻 + + + 测试卡 + + + 经济生活报道 + + + 食客准备 + + + 虫草 + + + 私募荟 + + + 虫草 + + + 看财经 + + + 虫草 + + + 创艺人生 + + + 虫草 + + + 今日地产 + + + 看财经 + + + 宜和 + + + 创艺人生 + + + 虫草 + + + 创艺人生 + + + 虫草 + + + 今日地产 + + + 财眼看片 + + + 财富来了 + + + 食客准备 + + + 经济生活报道 + + + 中国股市报道 + + + 私募荟 + + + 剧场 + + + 创艺人生 + + + 经济生活报道 + + + 深圳都市 + + + 都市养生佳 + + + 剧场 + + + 测试卡 + + + 第一现场 + + + 早安深圳 + + + 1时间 + + + 小鼓大戏 + + + 葛洪养生苑 + + + 法观天下 + + + 剧场 + + + 葛洪养生苑 + + + 都市养生佳 + + + 天下朋友圈 + + + 都市路路通 + + + 第一现场 + + + 剧场 + + + 鞠说好看 + + + 1时间 + + + 深视体育健康 + + + 世界杯来了 + + + 星耀巴西 + + + 体育赛事 + + + 爆笑体育 + + + 世界杯官方杂志 + + + 名医话养生 + + + 盐藻 + + + 体育赛事 + + + 盐藻 + + + 不信你不看 + + + 我来斗地主 + + + 激情角斗场 + + + 盐藻 + + + 爆笑体育 + + + 名医话养生 + + + 幸福来敲门 + + + 名医话养生 + + + 不信你不看 + + + 世界杯来了 + + + 我来斗地主 + + + 激情角斗场 + + + 不信你不看 + + + 清远公共 + + + 创新汇 + + + 环球财讯 + + + 剧场 + + + 环球财讯 + + + 快乐营 + + + 全民体育 + + + 外来媳妇本地郎 + + + 剧场 + + + 动画片 + + + 天气预报 + + + 乡村振兴清远行 + + + 剧场 + + + 清远新闻 + + + 老电影剧场 + + + 清远新闻综合 + + + 快乐营 + + + 全民体育 + + + 清远新闻 + + + 学习新思想 + + + 第一房产 + + + 中国时间 + + + 剧场 + + + 中国时间 + + + 新华纵横 + + + 创新汇 + + + 环球财讯 + + + 学习新思想 + + + 清远新闻 + + + 快乐营 + + + 全民体育 + + + 口述中国,人文纪录 + + + 剧场 + + + 口述中国,人文纪录 + + + 联播清远 + + + 今日清城 + + + 百姓关注 + + + 转播中央台新闻联播 + + + 清远新闻 + + + 天气预报 + + + 行风热线 + + + 剧场 + + + 乡村振兴清远行 + + + 百姓关注 + + + 清远头条 + + + 今日清城 + + + 清远新闻 + + + 联播清远 + + + 环球财讯 + + + 游戏风云 + + + 巅峰赛场:2022MSI冠军赛(13) + + + 休闲街区:牧场物语(3) + + + 游戏大厅:穿越时代的找图(5) + + + 游戏大厅:达芬奇密室2(1) + + + 游戏大厅:达芬奇密室2(2) + + + 游戏大厅:大佬竞速(1) + + + 巅峰赛场:2022MSI冠军赛(9) + + + 休闲街区:骑士与单车(1) + + + 休闲街区:骑士与单车(2) + + + 游戏大厅:袋狸妈妈的奇妙之旅(1) + + + 游戏大厅:袋狸妈妈的奇妙之旅(2) + + + 游戏大厅:岛屿生存者(1) + + + 游戏大厅:岛屿生存者(2) + + + 巅峰赛场:2022MSI冠军赛(10) + + + 休闲街区:全面战争三国(1) + + + 休闲街区:全面战争三国(2) + + + 游戏大厅:岛屿生存者(3) + + + 游戏大厅:地下冒险派对(1) + + + 游戏大厅:地下冒险派对(2) + + + 游戏大厅:迪士尼皮克斯大冒险(1) + + + 巅峰赛场:2022MSI冠军赛(11) + + + 休闲街区:三国群英战(3) + + + 休闲街区:三国群英战(4) + + + 游戏大厅:迪士尼皮克斯大冒险(2) + + + 游戏大厅:迪士尼皮克斯大冒险(3) + + + 游戏大厅:迪士尼皮克斯大冒险(4) + + + 游戏大厅:第3000次决斗(1) + + + 巅峰赛场:2022MSI冠军赛(12) + + + 休闲街区:糖果派对-机关塔防(1) + + + 休闲街区:糖果派对-机关塔防(2) + + + 游戏大厅:第3000次决斗(2) + + + 游戏大厅:第3000次决斗(3) + + + 游戏大厅:第3000次决斗(4) + + + 游戏大厅:第五人格(1) + + + 巅峰赛场:2022MSI冠军赛(13) + + + 休闲街区:糖果派对-机关塔防(3) + + + 休闲街区:无尽旅途(1) + + + 游戏大厅:第五人格(2) + + + 游戏大厅:第五人格(3) + + + 游戏大厅:东方华彩乱战(2) + + + 游戏大厅:方块逃脱(1) + + + 巅峰赛场:2022MSI冠军赛(14) + + + 湖北公共·新闻 + + + 大揭秘 + + + 问新闻 + + + 饮食养生汇 + + + 生活帮 + + + 问新闻 + + + 长江新闻号 + + + 大揭秘 + + + 湖北新闻 + + + 问新闻 + + + 湖北新闻 + + + 长江新闻 + + + 问健康 + + + 桃花朵朵开 + + + 大揭秘 + + + 大揭秘 + + + 旗帜 + + + 新闻110 + + + 拍案惊奇 + + + 长江新闻 + + + 情满人间 + + + 大揭秘 + + + 桃花朵朵开 + + + 拍案惊奇 + + + 新闻110 + + + 湖北新闻 + + + 大揭秘 + + + 长江新闻 + + + 大揭秘 + + + 新闻110 + + + 问健康 + + + 湖北10分 + + + 荆楚廉政 + + + 大揭秘 + + + 湖北公共新闻 + + + 栏目:问健康 + + + 栏目:直通湖北 + + + 栏目:湖北新闻 + + + 栏目:新闻110 + + + 栏目:大揭秘 + + + 栏目:长江新闻 + + + 栏目:问健康 + + + 栏目:长江说法 + + + 栏目:新闻110 + + + 栏目:直通湖北 + + + 栏目:湖北10分 + + + 栏目:旗帜 + + + 栏目:问健康 + + + 栏目:大揭秘 + + + 栏目:湖北新闻 + + + 栏目:长江新闻号 + + + 栏目:大揭秘 + + + 栏目:长江说法 + + + 栏目:长江新闻 + + + 栏目:湖北10分 + + + 栏目:长江新闻号 + + + 栏目:湖北新闻 + + + 栏目:爱的选择 + + + 栏目:直通湖北 + + + 栏目:桃花朵朵开 + + + 栏目:爱的选择 + + + 栏目:长江说法 + + + 栏目:桃花朵朵开 + + + 栏目:爱的选择 + + + 栏目:桃花朵朵开 + + + 栏目:长江说法 + + + 栏目:问健康 + + + 栏目:直通湖北 + + + 直播:湖北新闻 + + + 栏目:新闻110 + + + 栏目:大揭秘 + + + 直播:长江新闻 + + + 栏目:长江说法 + + + 栏目:新闻110 + + + 栏目:直通湖北 + + + 直播:湖北10分 + + + 栏目:荆楚廉政 + + + 栏目:问健康 + + + 栏目:大揭秘 + + + 栏目:湖北新闻 + + + 栏目:长江新闻号 + + + 栏目:荆楚廉政 + + + 湖北卫视 + + + 深夜剧场:猎魔(32) + + + 深夜劇場 + + + 深夜剧场:猎魔(33) + + + 深夜剧场:反击(1) + + + 大揭秘:朱自清(中) + + + 深夜剧场:反击(2) + + + 重播:大揭秘 + + + 深夜剧场:反击(3) + + + 深夜劇場 + + + 深夜剧场:反击(4) + + + 中华人民共和国国歌 + + + 重播:湖北新聞 + + + 湖北新闻 + + + 重播:大揭秘 + + + 时空龙骑士(49):恐龙联盟(上) + + + 时空龙骑士(50):恐龙联盟(下) + + + 直播:天生我財 + + + 天生我财 + + + 早间剧场:薛平贵与王宝钏 1 + + + 早間劇場 + + + 早间剧场:薛平贵与王宝钏 2 + + + 早间剧场:薛平贵与王宝钏 3 + + + 天生我财 + + + 直播:天生我財 + + + 早间剧场:薛平贵与王宝钏 + + + 大王.小王 + + + 早间剧场:薛平贵与王宝钏 5 + + + 午後劇場 + + + 早间剧场:薛平贵与王宝钏 6 + + + 早间剧场:薛平贵与王宝钏 + + + 早间剧场:薛平贵与王宝钏 + + + 吾股豐登 + + + 天生我财之吾股丰登 + + + 飲食養生匯 + + + 湖北天气预报 + + + 直播:湖北新聞 + + + 湖北新闻 + + + 中央台新聞聯播 + + + 中央新闻联播 + + + 长江剧场:我们这十年(43) + + + 長江劇場 + + + 长江剧场:我们这十年(44) + + + 長江劇場 + + + 湖北10分 + + + 直播:長江新聞號 + + + 现在就告白 + + + 調解面對面 + + + 中国珍稀物种 + + + 夜观财经 + + + 重播:長江新聞號 + + + 长江新闻号 + + + 大揭秘 + + + 湖北垄上 + + + 垄上剧场:地雷英雄传17 + + + 垄上故事会 + + + 垄上故事会 + + + 垄上故事会 + + + 垄上故事会 + + + 垄上欢乐送 + + + 垄上行 + + + 垄上故事会特别版393 + + + 垄上故事会特别版394 + + + 垄上故事会特别版395 + + + 垄上故事会特别版396 + + + 栏目剧:垄上故事会1016 + + + 栏目剧:垄上故事会1017 + + + 栏目剧:垄上故事会1018 + + + 栏目剧:垄上故事会1019 + + + 垄上看戏:东方侠客7 + + + 垄上看戏:东方侠客8 + + + 垄上看戏:东方侠客9 + + + 垄上看戏:东方侠客10 + + + 垄上看戏:零炮楼1 + + + 垄上看戏:零炮楼2 + + + 垄上看戏:零炮楼3 + + + 垄上看戏:零炮楼4 + + + 栏目:垄上欢乐送337 + + + 栏目:垄上行334 + + + 栏目:寻医问药236 + + + 垄上剧场:地雷英雄传17 + + + 垄上剧场:地雷英雄传18 + + + 垄上剧场:地雷英雄传19 + + + 湖北影视 + + + 栏目:喜子来了 + + + 电视剧:黄河英雄30 + + + 电视剧:黄河英雄31 + + + 电视剧:黄河英雄32 + + + 电视剧:黄河英雄33 + + + 电视剧:黄河英雄34 + + + 栏目:影视智斗星 + + + 酷剧场:枪神传奇25 + + + 酷剧场:枪神传奇26 + + + 酷剧场:枪神传奇27 + + + 酷剧场:枪神传奇28 + + + 酷剧场:枪神传奇29 + + + 栏目:影视智斗星 + + + 栏目:喜子来了 + + + 栏目:影视大民星 + + + 炫剧场:决战江桥04 + + + 炫剧场:决战江桥05 + + + 炫剧场:决战江桥06 + + + 首播剧场:箭侠13 + + + 首播剧场:箭侠14 + + + 首播剧场:箭侠15 + + + 首播剧场:箭侠16 + + + 首播剧场:箭侠17 + + + 首播剧场:箭侠18 + + + 经典剧场:尖刀15 + + + 经典剧场:尖刀16 + + + 湖北教育 + + + 栏目:相亲相爱 + + + 栏目:谢谢你来了 + + + 栏目:相亲相爱 + + + 栏目:谢谢你来了 + + + 栏目:门当户对 + + + 栏目:谢谢你来了 + + + 电视剧:顶级锄奸行动 + + + 栏目:谢谢你来了 + + + 电视剧:喋血钱塘江 + + + 电视剧:喋血钱塘江 + + + 电视剧:喋血钱塘江 + + + 电视剧:喋血钱塘江 + + + 栏目:门当户对 + + + 栏目:门当户对 + + + 栏目:门当户对 + + + 栏目:门当户对 + + + 栏目:门当户对 + + + 电视剧:顶级锄奸行动 + + + 电视剧:顶级锄奸行动 + + + 电视剧:顶级锄奸行动 + + + 电视剧:顶级锄奸行动 + + + 栏目:相亲相爱 + + + 栏目:相亲相爱 + + + 湖北生活 + + + 桃花朵朵开C + + + 开讲了 + + + X档案 + + + 桃花朵朵开D + + + 桃花朵朵开E + + + 桃花朵朵开F + + + X档案 + + + 开讲了 + + + 经视直播生活版 + + + 桃花朵朵开A + + + 桃花朵朵开B + + + 电视剧:雪鹰34 + + + 电视剧:雪鹰35 + + + 电视剧:雪鹰36 + + + 开讲了 + + + 桃花朵朵开A + + + 桃花朵朵开B + + + 桃花朵朵开C + + + 桃花朵朵开A11月26日 + + + 桃花朵朵开B11月26日 + + + 桃花朵朵开C11月26日 + + + 桃花朵朵开D + + + 桃花朵朵开E + + + 桃花朵朵开F + + + 开讲了 + + + 电视剧:敌后便衣队传奇30 + + + 电视剧:敌后便衣队传奇31 + + + 开讲了 + + + X档案 + + + 桃花朵朵开A + + + 桃花朵朵开B + + + 湖北经济 + + + kua天 + + + 剧场 + + + 好吃佬 + + + 经视直播 + + + 世界多美丽 + + + 剧场 + + + 经视一锅鲜 + + + 剧场 + + + kua天 + + + 欢乐送 + + + 经视直播 + + + 经视团购会 + + + 剧场 + + + 桃花朵朵开 + + + 桃花朵朵开 + + + 结束 + + + 湖北经视 + + + kua天 + + + 剧场 + + + 好吃佬 + + + 经视直播 + + + 世界多美丽 + + + 剧场 + + + 经视一锅鲜 + + + 剧场 + + + kua天 + + + 欢乐送 + + + 经视直播 + + + 经视团购会 + + + 剧场 + + + 桃花朵朵开 + + + 桃花朵朵开 + + + 结束 + + + 湖北综合 + + + 午夜剧场 + + + 深夜剧场 + + + 深夜剧场 + + + 深夜剧场 + + + 深夜剧场 + + + 深夜剧场 + + + 深夜剧场 + + + 公正路9号 + + + 360看天下 + + + 新闻360 + + + 上午剧场 + + + 上午剧场 + + + 上午剧场 + + + 今日微事记 + + + 调解现场 + + + 最佳现场 + + + 下午剧场 + + + 下午剧场 + + + 下午剧场 + + + 下午剧场 + + + 下午剧场 + + + 360看天下 + + + 新闻360 + + + 调解现场 + + + 黄金剧场 + + + 黄金剧场 + + + 黄金剧场 + + + 黄金剧场 + + + 公正路9号 + + + 午夜剧场 + + + 湖南卫视 + + + 我是大美人 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 平民英雄 + + + 新闻大求真 + + + 新闻大求真 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 我的纪录片 + + + 中华人民共和国国歌 + + + 湖南新闻联播 + + + 偶像独播剧场:情谜睡美人(74) + + + 动画片剧场 + + + 偶像独播剧场:情谜睡美人(75) + + + 偶像独播剧场:情谜睡美人(76) + + + 偶像独播剧场:情谜睡美人(77) + + + 偶像独播剧场:情谜睡美人(78) + + + 午间新闻 + + + 卫视气象站 + + + 偶像独播剧场:情谜睡美人(79) + + + 偶像独播剧场:情谜睡美人(80) + + + 偶像独播剧场 + + + 青春独播剧场:小巷人家(39) + + + 青春独播剧场:小巷人家(40) + + + 青春独播剧场 + + + 平民英雄 + + + 湖南新闻联播 + + + 卫视气象站 + + + 转播中央台新闻联播 + + + 万物友灵 + + + 金鹰独播剧场:好运家(3) + + + 金鹰独播剧场:好运家(4) + + + 芒果季风剧场:大明风华(18) + + + 芒果季风剧场:大明风华(19) + + + 湖南卫视国际 + + + 潜·龙 + + + 扑通扑通的心 + + + 青春剧场 + + + 鲜厨100 + + + 时光剧场 + + + 时光剧场 + + + 湖南新闻联播 + + + 新闻大求真 + + + 时光剧场 + + + 时光剧场 + + + 时光剧场 + + + 时光剧场 + + + 青春湖南 + + + 新闻大求真 + + + 时光剧场 + + + 时光剧场 + + + 时光剧场 + + + 时光剧场 + + + 时光剧场 + + + 芒果头条 + + + 青春剧场 + + + 青春剧场 + + + 天天向上(重播) + + + 时光剧场 + + + 时光剧场 + + + 青春剧场 + + + 湖南国际 + + + 潜·龙 + + + 扑通扑通的心 + + + 青春剧场 + + + 鲜厨100 + + + 时光剧场 + + + 时光剧场 + + + 湖南新闻联播 + + + 新闻大求真 + + + 时光剧场 + + + 时光剧场 + + + 时光剧场 + + + 时光剧场 + + + 青春湖南 + + + 新闻大求真 + + + 时光剧场 + + + 时光剧场 + + + 时光剧场 + + + 时光剧场 + + + 时光剧场 + + + 芒果头条 + + + 青春剧场 + + + 青春剧场 + + + 天天向上(重播) + + + 时光剧场 + + + 时光剧场 + + + 青春剧场 + + + 湖南娱乐 + + + 娱乐急先锋 + + + 剧场 + + + 娱乐急先锋 + + + 剧场 + + + 我是大赢家 + + + 321动起来 + + + 剧场 + + + 我是大赢家 + + + 娱乐急先锋 + + + 剧场 + + + 岁月如金 + + + 湖南教育 + + + 中华战争通史 + + + 喜文乐见 + + + 人文中国 + + + 节目结束 + + + 节目结束 + + + 节目结束 + + + 人文中国 + + + 中华战争通史 + + + 奇趣大自然 + + + 奇趣大自然 + + + 奔腾年代(29) + + + 奔腾年代(30) + + + 奔腾年代(31) + + + 喜文乐见 + + + 人文中国 + + + 中华战争通史 + + + 奇趣大自然 + + + 海棠依旧(24) + + + 海棠依旧(25) + + + 海棠依旧(26) + + + 喜文乐见 + + + 人文中国 + + + 国防教育频道 + + + 中华战争通史 + + + 湖南教育新闻 + + + 2024青少儿电视才艺展演 + + + 原声中国 + + + 喜文乐见 + + + 人文中国 + + + 中华战争通史 + + + 奇趣大自然 + + + 国防教育频道 + + + 湖南爱晚 + + + 超级戏乐汇 + + + 剧场 + + + 帮女郎帮你忙 + + + 剧场 + + + 帮女郎帮你忙 + + + 剧场 + + + 湖南新闻联播 + + + 帮女郎帮你忙 + + + 湖南电影 + + + 电影 + + + 上午剧场 + + + 动作天下 + + + 经典影院 + + + 传奇影院 + + + 第一放映室 + + + 黄金剧场 + + + 黄金剧场 + + + 黄金剧场 + + + 潇湘影视学院 + + + 湖南电视剧 + + + 晚间剧场 + + + 深夜剧场 + + + 深夜剧场 + + + 亮剧场 + + + 上午剧场 + + + 上午剧场 + + + 上午剧场 + + + 上午剧场 + + + 下午剧场 + + + 下午剧场 + + + 晚间剧场 + + + 晚间剧场 + + + 晚间剧场 + + + 天天气象站 + + + 湖南经视 + + + 凌晨剧场 + + + 凌晨剧场 + + + 凌晨剧场 + + + 经视焦点 + + + 湖南新闻联播 + + + 经视新闻 + + + 步步惊奇真情版 + + + 我最达人 + + + 午间360度 + + + 逗吧,逗把街 + + + 快乐男声 + + + 步步惊奇真情版 + + + 经视播报 + + + 经视新闻 + + + 经视焦点 + + + 黄金剧场 + + + 黄金剧场 + + + 黄金剧场 + + + 黄金剧场 + + + 钟山说事 + + + 湖南都市 + + + 都市1时间 + + + 世界大不同 + + + 健康生活家 + + + 都市1时间 + + + 世界大不同 + + + 健康生活家 + + + 世界大不同 + + + 都市1时间 + + + 都市1时间 + + + 世界大不同 + + + 寻情记 + + + 都市1时间 + + + 世界大不同 + + + 长鸿说电影 + + + 长鸿说电影 + + + 寻情记 + + + 世界大不同 + + + 都市1时间 + + + 寻情记 + + + 美好生活家 + + + 长鸿说电影 + + + 平民英雄 + + + 芒果捞 + + + 湖南新闻联播 + + + 都市1时间 + + + 湛江公共 + + + 第一视线 + + + 晚间剧场 + + + 第一视线 + + + 房产类日播节目 + + + 剧场 + + + 活色生香每一天 + + + 第一视线 + + + 房产类日播节目 + + + 我是传奇 + + + 剧场 + + + 活色生香每一天 + + + 解密湛江 + + + 房产类日播节目 + + + 第一视线 + + + 天气预报 + + + 情动8点 + + + 快乐大排档 + + + 我是传奇 + + + 湛江新闻(重播) + + + 天气预报 + + + 剧场 + + + 湛江综合 + + + 湛江新闻(重播) + + + 湛江天气预报(重播) + + + 湛江新闻(重播) + + + 观点致胜 + + + 生活聚焦 + + + 剧场 + + + 湛江新闻(重播) + + + 午间快报 + + + 湛江公安 + + + 论宝 + + + 剧场 + + + 房产类日播节目 + + + 湛江公安 + + + 快乐大排档 + + + 转播中央电视台新闻联播 + + + 转播广东电视台新闻联播 + + + 湛江新闻 + + + 湛江天气预报 + + + 记者再报告 + + + 剧场 + + + 第一视线 + + + 观点致胜 + + + 滨州综合 + + + 民间收藏 + + + 今日导视 + + + 滨州纪实 + + + 华夏传奇 + + + 上午剧场 + + + 名家讲坛 + + + 经济生活 + + + 下午剧场 + + + 民间收藏 + + + 动物明星 + + + 民生关注 + + + 转中央新闻 + + + 滨州新闻 + + + 晚间剧场 + + + 经济生活 + + + 民生关注 + + + 名家讲坛 + + + 漳州新闻 + + + 漳州天气预报 + + + 明天节目预告 + + + 漳州新闻(重播) + + + 农村新天地 + + + 法在身边 + + + 记者在线(重播) + + + 经典剧场 + + + 经典剧场 + + + 房产时刻(重播) + + + 本地话新闻(重播) + + + 午间快报 + + + 午间天气资讯 + + + 法在身边(重播) + + + 生活时间(重播) + + + 电视剧场 + + + 电视剧场 + + + 传奇 + + + 动漫天地 + + + 动漫天地 + + + 记者在线 + + + 转播中央台新闻联播 + + + 转播福建新闻联播 + + + 漳州新闻 + + + 漳州天气预报 + + + 农村新天地 + + + 法在身边 + + + 记者在线(重播) + + + 新闻夜视 + + + 漳州旅游气象 + + + 电视剧场 + + + 电视剧场 + + + 潮妈辣婆 + + + 精彩呈现 + + + 铁血玫瑰(第26集) + + + 铁血玫瑰(第27集) + + + 铁血玫瑰(第28集) + + + 铁血玫瑰(第29集) + + + 铁血玫瑰(第30集) + + + 铁血玫瑰(第31集) + + + 早餐中国 + + + 补肾先补脾 + + + 倚天屠龙记(第38集) + + + 倚天屠龙记(第39集) + + + 倚天屠龙记(第40集) + + + 倚天屠龙记(第41集) + + + 倚天屠龙记(第42集) + + + POKONDA智能四轮电动代步车-渠道(右) + + + 李子柒视频合集 + + + 千金女贼(第19集) + + + 千金女贼(第20集) + + + 千金女贼(第21集) + + + KGTOUE体感语音操控大吸力烟机-渠道(右) + + + 千金女贼(第22集) + + + 千金女贼(第23集) + + + 男女嘉宾回忆青葱岁月 + + + POKONDA智能四轮电动代步车-渠道(右) + + + 花开如梦(第18集) + + + 花开如梦(第19集) + + + 《时尚小咖秀》 + + + 花开如梦(第20集) + + + 花开如梦(第21集) + + + 《八段锦》推荐第9期 + + + 花开如梦(第22集) + + + 恋综撕名牌争夺约会权大混战 + + + 德国米技炉周年庆超值惠选装-渠道(右) + + + 潮安综合 + + + 潮安新闻天气预报 + + + 节目结束 + + + 阳光剧场 + + + 动漫乐园 + + + 潮安新闻(重播) + + + 专题栏目 + + + 午间剧场 + + + 中国古镇 + + + 中午节目结束 + + + 专题栏目 + + + 中国古镇 + + + 转播中央新闻 + + + 潮安新闻天气预报 + + + 精选剧场 + + + 潮安新闻天气预报 + + + 精选剧场 + + + 潮州民生 + + + 连续剧 + + + 百家养生堂(重播) + + + 上午剧场 + + + 潮州新闻(重播) + + + 下午剧场 + + + 动画片 + + + 真情追踪(重播) + + + 民生直播室 + + + 民生剧场 + + + 天天好生活(重播) + + + 潮州新闻(重播) + + + 晚间直播室 + + + 晚间剧场 + + + 潮州综合 + + + 630说吧 + + + 剧场 + + + 频道无节目 + + + 潮州新闻 + + + 民生直播室 + + + 630说吧 + + + 剧场 + + + 湘子桥 + + + 民生直播室 + + + 630说吧 + + + 梨园票友汇 + + + 潮州戏园 + + + 剧场 + + + 转播中央电视台新闻联播 + + + 转播广东新闻联播 + + + 潮州新闻 + + + 天天好生活 + + + 剧场 + + + 潮语情景剧 + + + 民生直播室 + + + 澜湄国际 + + + 精彩呈现 + + + 经典人文地理 + + + 垫播片 + + + 频道问候宣传片-早上问候 + + + 经典人文地理 + + + 宣传片 + + + 剧场 + + + 宣传片 + + + 剧场 + + + 宣传片 + + + 超级访问 + + + 宣传片 + + + 电影 + + + 宣传片 + + + 剧场 + + + 宣传片 + + + 剧场 + + + 宣传片 + + + 剧场 + + + 宣传片 + + + 消费栏目 + + + 宣传片 + + + 国际时讯 + + + 宣传片 + + + 剧场 + + + 宣传片 + + + 经典人文地理 + + + 澳亚卫视 + + + 澳亚新闻 + + + 澳门万象 + + + 三生有幸 + + + 仁粹大妃(69) + + + 仁粹大妃(70) + + + 仁粹大妃(71) + + + 三生有幸 + + + 顺风顺水 + + + 澳亚新闻 + + + 清清早茶 + + + 清清早茶 + + + 与健康有约 + + + 三生有幸 + + + 与健康有约 + + + 仁粹大妃(17) + + + 三生有幸 + + + 仁粹大妃(18) + + + 顺风顺水 + + + 澳门万象 + + + 澳亚新闻 + + + 顺风顺水 + + + 三生有幸 + + + 回到爱以前(26) + + + 回到爱以前(27) + + + 回到爱以前(28) + + + 三生有幸 + + + 顺风顺水 + + + 澳门万象 + + + 秘爱(10) + + + 澳亚新闻 + + + 仁粹大妃(48) + + + 仁粹大妃(49) + + + 澳门万象 + + + 顺风顺水 + + + 澳视体育 + + + 开台 + + + 2024日本羽毛球公开赛︰男双决赛 + + + 2024日本羽毛球公开赛︰男单决赛 + + + 2024日本羽毛球公开赛︰混双决赛 + + + 体育新闻 + + + 亚洲高尔夫球巡回赛精华 + + + 2024 经典车赛精华 + + + 2024美国网球公开赛︰男单4强 + + + 体坛记忆4 + + + 2024/2025欧洲联赛︰毕尔包 对 艾夫斯堡 + + + 环球体育 + + + 体坛记忆4 + + + 体育新闻 + + + 录播2024日本职业足球联赛︰福冈黄蜂 对 浦和红钻 + + + 体育新闻 + + + 2024/2025欧洲冠军联赛︰布拉格斯巴达 对 马德里体育会 + + + 澳视卫星 + + + 中国城市动态 + + + 澳门人澳门事 + + + 普洱茶-时光在吟唱 + + + 口述澳门历史名人堂 + + + 澳门经典车小百科 + + + 澳门人澳门事 + + + 中国城市动态 + + + 中国城市报道 + + + 家家有本事 + + + 澳门非物质文化遗产 + + + 澳门人澳门事 + + + 澳讯 + + + 钴彩凝珍 + + + 大绿行II-绿海飞翔 + + + 中国城市动态 + + + 澳门人澳门事 + + + 粤语新闻 + + + 普洱茶-时光在吟唱 + + + 口述澳门历史名人堂 + + + 中国城市动态 + + + 澳门人澳门事 + + + 中国城市报道 + + + 澳讯 + + + 家家有𩠌煮 + + + 重播粤语新闻 + + + 世界文化遗产短片 + + + 大绿行II-绿海飞翔 + + + 中国城市动态 + + + 澳门人澳门事 + + + 澳门早晨精华录 + + + 粤语新闻 + + + 中国城市报道 + + + 普洱茶-时光在吟唱 + + + 口述澳门历史名人堂 + + + 重播粤语新闻 + + + 澳讯 + + + 钴彩凝珍 + + + 澳门经典车小百科 + + + 第13届亚广联电视歌曲节-伊斯坦堡 + + + 口述澳门历史名人堂 + + + 粤语新闻 + + + 天气报告 + + + 葡语新闻 + + + 中国软实力 + + + 家家有𩠌煮 + + + 澳讯 + + + 钴彩凝珍 + + + 大绿行II-绿海飞翔 + + + 普通话新闻 + + + 英语新闻 + + + 澳门非物质文化遗产 + + + 粤语新闻 + + + 体育新闻 + + + 澳视澳门 + + + 早晨新闻 + + + TDM 新视点 + + + 澳门早晨 + + + 趣谈唐诗 + + + 唐‧西丰味 + + + 大绿行II-绿海飞翔 + + + 新闻报道 + + + 咨询奉告 + + + 重播齐齐食通街 + + + 重播玩转珠澳 + + + 重播澳门人澳门事 + + + 名城文脉 + + + 午间剧场︰故乡,别来无恙 + + + 生于斯 长于斯 + + + 胡Sir 讲收藏 + + + 午间天气报告 + + + 咨询奉告 + + + 中国软实力 + + + 趣谈唐诗 + + + TDM 新视点 + + + 午间新闻 + + + 粤音正读 + + + 每日财经 + + + 新闻报道 + + + 新闻报道 + + + 新闻报道 + + + 新闻报道 + + + 新闻报道 + + + 新闻报道 + + + 中国软实力 + + + 新闻报道 + + + 动感教菁 + + + TDM 新视点 + + + 澳视新闻 + + + 天气报告 + + + 咨询奉告 + + + 粤音正读 + + + 黄金剧场︰星落凝成糖 + + + 多彩澳门人 + + + 澳门人澳门事 + + + 趣谈唐诗 + + + 齐齐食通街 + + + 普通话新闻 + + + 粤音正读 + + + 十点半澳视纵横:财经杂志 + + + 晚间新闻 + + + 体育新闻 + + + 粤音正读 + + + 澳视综艺 + + + 开台 + + + 越战越勇 + + + 执念如影 + + + 少年工匠 + + + 健康大问诊 + + + 澳门早晨精华录 + + + TDM 新视点 + + + 重播琉璃 + + + 重播星光大道 + + + 声生不息·大湾区季 先导片 + + + 神秘蜀韵 百部川扬 + + + 重播美好时光 相约澳门 + + + 小凉帽第3季 之白海豚奇遇 + + + 半暖时光 + + + 千年陕菜第2季 + + + 西樵宣传片 + + + 我在未来等你 + + + 千秋诗颂 + + + 环球小子 第二季 + + + 名城文脉 + + + 典故里的科学 + + + 澳视葡文 + + + Telejornal RTPi (Diferido) + + + RTPi Directo + + + Nazaré Sr.2 + + + Kitty Is Not A Cat + + + Bem Me Quer (Repetição) + + + Primeira Pessoa + + + Queridos Papás + + + Telejornal + + + Trio dAtaque + + + Bem Me Quer + + + TDM News + + + Magazine Liga dos Campeões 2024/2025 + + + 澳视资讯 + + + 开台 + + + 早晨新闻 + + + TDM 新视点 + + + 澳门早晨 + + + 重播早晨新闻 + + + 湾区全媒睇 + + + 新闻报道 + + + 咨询奉告 + + + 新闻报道 + + + 新闻报道 + + + 中国软实力 + + + 琴澳健康talk + + + 蜀道风流 + + + 新闻报道 + + + 中国软实力 + + + 街市情报 + + + 湾区全媒睇 + + + 新闻报道 + + + 中国软实力 + + + 咨询奉告 + + + 午间天气报告 + + + 午间新闻 + + + 粤音正读 + + + 每日财经 + + + 直播2024 澳门立法会全体会议 + + + 录播澳视新闻 + + + 录播澳视新闻 + + + 普通话新闻 + + + 十点半澳视纵横:财经杂志 + + + 晚间新闻 + + + 体育新闻 + + + 炫舞未来 + + + 精彩呈现 + + + 宋美娜上演美人计 萌娃也抵抗不了她的魅力!(20241115) + + + 绽放吧!妈妈(20241118) + + + 春光里-毕刚 + + + 我爱祖国的蓝天-饶子龙(纯净版) + + + 我不管-金洋(完整) + + + 迷迭香-金洋(完整) + + + 心在跳情在烧-毕刚(纯净版) + + + undress-毕刚 + + + 太想念-毕刚(完整版) + + + 非遗里的中国第2季(20241026) + + + 算你狠-毕刚 + + + 心在跳情在烧-毕刚(教学分解) + + + 那就是蒙古包-李萍 + + + 宝贝对不起-毕刚(纯净版) + + + 生活服务 + + + 健身舞《好儿好女好家园》(20240930) + + + 垫上马甲线腹肌训练(20241007) + + + 健身舞《最美最美的中国》(20241001) + + + 生活服务 + + + 温柔阿姨再次登台,大爷直言看她心动为她而来 + + + 生活服务 + + + 如此邻居(20220621) + + + 买的车不见了(20220622) + + + 生活服务 + + + 调皮老师超会模仿 唱歌跳舞体验节日氛围(20240720) + + + 生活服务 + + + 烟雨人间-毕刚(完整版) + + + 相遇花开-饶子龙(完整版) + + + 酒梦-孙爱迪 + + + 我爱祖国的蓝天-饶子龙(完整版) + + + 生活服务 + + + 强势女嘉宾再度来袭,现场男嘉宾直接变成小猫咪 + + + 生活服务 + + + 阿姨浓眉大眼长得美,现场四位大爷纷纷示爱 + + + 生活服务 + + + 新疆女孩善舞 为爱大胆告白直球出击(20240806) + + + 生活服务 + + + 青苹果乐园—毕刚(完整版) + + + 桥边姑娘-尚岩 + + + 探访最美家庭 体验中华好家风展 遇见最美家风(20241002) + + + 热播精选 + + + 精彩呈现 + + + 英雄之战 + + + 最好的时代(第27集) + + + 最好的时代(第28集) + + + 最好的时代(第29集) + + + 最好的时代(第30集) + + + 最好的时代(第31集) + + + 千古风流人物第4季 + + + 乐游原(第24集) + + + 乐游原(第25集) + + + KGTOUE体感语音操控大吸力烟机-渠道(右) + + + 乐游原(第26集) + + + 乐游原(第27集) + + + POKONDA智能四轮电动代步车-渠道(右) + + + 龙门镇客栈 + + + 德国卡赫纯钛RO反渗透净水器-渠道(右) + + + 梅花红桃(第21集) + + + 梅花红桃(第22集) + + + 梅花红桃(第23集) + + + 英国奥戈那折叠式取暖器-渠道(右) + + + 我的美食向导 + + + 《八段锦》推荐第9期 + + + 猎冰(第15集) + + + 猎冰(第16集) + + + 猎冰(第17集) + + + 《八段锦》推荐第9期 + + + 五十公里桃花坞第4季 + + + 德国米技炉周年庆超值惠选装-渠道(右) + + + 爱大剧 + + + 电视剧 + + + 电视剧 + + + 电视剧 + + + 电视剧 + + + 电视剧 + + + 电视剧 + + + 电视剧 + + + 电视剧 + + + 电视剧 + + + 爱情喜剧 + + + 快枪手 + + + 18_真情给你 + + + 19_真情给你 + + + 20_真情给你 + + + 21_真情给你 + + + 22_真情给你 + + + 爱情史 + + + KGTOUE体感语音操控大吸力烟机-渠道(右) + + + 19_三分野 + + + 20_三分野 + + + POKONDA智能四轮电动代步车-渠道(右) + + + 21_三分野 + + + 22_三分野 + + + 德国卡赫纯钛RO反渗透净水器-渠道(右) + + + 23_三分野 + + + 独奏恋之曲 + + + 爱看导视 + + + 精彩呈现 + + + 专题宣传片 + + + 专题宣传片 + + + 专题宣传片 + + + 黑狐之风影35 + + + 专题宣传片 + + + 黑狐之风影36 + + + 专题宣传片 + + + 黑狐之风影37 + + + 专题宣传片 + + + 黑狐之风影38 + + + 专题宣传片 + + + 黑狐之风影39 + + + 专题宣传片 + + + 专题宣传片 + + + 专题宣传片 + + + 旅游365 + + + 尖刀18 + + + 专题宣传片 + + + 尖刀19 + + + 专题宣传片 + + + 尖刀20 + + + 专题宣传片 + + + 尖刀21 + + + 专题宣传片 + + + 尖刀22 + + + 专题宣传片 + + + 尖刀23 + + + 专题宣传片 + + + 尖刀24 + + + 专题宣传片 + + + 尖刀25 + + + 专题宣传片 + + + 尖刀26 + + + 专题宣传片 + + + 尖刀27 + + + 专题宣传片 + + + 尖刀28 + + + 专题宣传片 + + + 尖刀29 + + + 专题宣传片 + + + 尖刀30 + + + 专题宣传片 + + + 尖刀31 + + + 专题宣传片 + + + 尖刀32 + + + 专题宣传片 + + + 尖刀33 + + + 专题宣传片 + + + 尖刀34 + + + 专题宣传片 + + + 尖刀35 + + + 专题宣传片 + + + 尖刀36 + + + 专题宣传片 + + + 尖刀37 + + + 专题宣传片 + + + 尖刀38 + + + 专题宣传片 + + + 尖刀39 + + + 专题宣传片 + + + 爱看影院 + + + 爱看影院 + + + 登场了洛阳10 + + + 环宇电影 + + + 电影 + + + 影院 + + + 电影 + + + 影院 + + + 休息 + + + 电影 + + + 影院 + + + 电影 + + + 影院 + + + 电影 + + + 影院 + + + 电影 + + + 影院 + + + 电影 + + + 影院 + + + 环球奇观 + + + 功夫季 + + + 汽车书场 + + + 天下奇闻 + + + 写生到建窑 + + + 看中国 + + + 奇趣大自然 + + + 赵功书法讲堂 + + + 世界美食之旅 + + + 跟富老师学画画 + + + 传奇 + + + 悦课堂 + + + 功夫季 + + + 汽车书场 + + + 天下奇闻 + + + 写生到建窑 + + + 看中国 + + + 奇趣大自然 + + + 赵功书法讲堂 + + + 世界美食之旅 + + + 跟富老师学画画 + + + 传奇 + + + 悦课堂 + + + 功夫季 + + + 汽车书场 + + + 天下奇闻 + + + 写生到建窑 + + + 看中国 + + + 奇趣大自然 + + + 赵功书法讲堂 + + + 世界美食之旅 + + + 跟富老师学画画 + + + 传奇 + + + 悦课堂 + + + 功夫季 + + + 汽车书场 + + + 天下奇闻 + + + 写生到建窑 + + + 看中国 + + + 奇趣大自然 + + + 赵功书法讲堂 + + + 世界美食之旅 + + + 跟富老师学画画 + + + 传奇 + + + 悦课堂 + + + 功夫季 + + + 汽车书场 + + + 天下奇闻 + + + 写生到建窑 + + + 看中国 + + + 奇趣大自然 + + + 赵功书法讲堂 + + + 世界美食之旅 + + + 跟富老师学画画 + + + 传奇 + + + 悦课堂 + + + 功夫季 + + + 汽车书场 + + + 天下奇闻 + + + 写生到建窑 + + + 看中国 + + + 奇趣大自然 + + + 赵功书法讲堂 + + + 世界美食之旅 + + + 跟富老师学画画 + + + 传奇 + + + 悦课堂 + + + 环球旅游 + + + 爱上川菜,寰行迹 + + + 乡间物语,小导游大视界 + + + 爱上川菜,寰行迹 + + + 乡间物语,小导游大视界 + + + 爱上川菜,寰行迹 + + + 乡间物语,小导游大视界 + + + 爱上川菜,寰行迹 + + + 乡间物语,小导游大视界 + + + 爱上川菜,寰行迹 + + + 乡间物语,小导游大视界 + + + 爱上川菜,寰行迹 + + + 乡间物语,小导游大视界 + + + 爱上川菜,寰行迹 + + + 乡间物语,小导游大视界 + + + 爱上川菜,寰行迹 + + + 乡间物语,小导游大视界 + + + 爱上川菜,寰行迹 + + + 乡间物语,小导游大视界 + + + 爱上川菜,寰行迹 + + + 乡间物语,小导游大视界 + + + 爱上川菜,寰行迹 + + + 乡间物语,小导游大视界 + + + 爱上川菜,寰行迹 + + + 乡间物语,小导游大视界 + + + 爱上川菜,寰行迹 + + + 乡间物语,小导游大视界 + + + 爱上川菜,寰行迹 + + + 乡间物语,小导游大视界 + + + 爱上川菜,寰行迹 + + + 乡间物语,小导游大视界 + + + 爱上川菜,寰行迹 + + + 乡间物语,小导游大视界 + + + 爱上川菜,寰行迹 + + + 乡间物语,小导游大视界 + + + 爱上川菜,寰行迹 + + + 乡间物语,小导游大视界 + + + 美丽密码 + + + 湖北恩施大清江 + + + 爱上川菜,寰行迹 + + + 乡间物语,小导游大视界 + + + 湖北恩施龙马风情小镇 + + + 美丽密码 + + + 纪录片展播科协(2) + + + 美丽密码 + + + 纪录片展播 + + + 爱上川菜,寰行迹 + + + 美丽密码 + + + 爱上川菜,寰行迹 + + + 乡间物语,小导游大视界 + + + 环球经典 + + + 彗星美人 + + + 一个明星的诞生 + + + 花开蝶满枝 + + + 甜姐儿 + + + 雨中曲 + + + 瑟堡的雨伞 + + + 红菱艳 + + + 出水芙蓉 + + + 篷车队 + + + 小公主 + + + 绅士爱美人 + + + 西区故事 + + + 窈窕淑女 + + + 音乐之声 + + + 现代女性 + + + 精彩呈现 + + + 迷局 + + + 生活大参考 + + + 知音人间 + + + 行者 + + + 迷局 + + + 伽人有约 + + + 好色之师 + + + 迷局 + + + 知音人间 + + + 行者 + + + 迷局 + + + 好色之师 + + + 伽人有约 + + + 生活大参考 + + + 行者 + + + 美丽健康厨房 + + + 迷局 + + + 智慧生活 + + + 美丽健康厨房 + + + 行者 + + + 好色之师 + + + 知音人间 + + + 生活大参考 + + + 生活大参考 + + + 迷局 + + + 行者 + + + 智慧生活 + + + 伽人有约 + + + 迷局 + + + 行者 + + + 美丽健康厨房 + + + 知音人间 + + + 生活大参考 + + + 美丽健康厨房 + + + 行者 + + + 伽人有约 + + + 生活大参考 + + + 美丽健康厨房 + + + 知音人间 + + + 女性之声 + + + 生活大参考 + + + 伽人有约 + + + 迷局 + + + 行者 + + + 知音人间 + + + 现代教育 + + + 动画片 + + + 五年级插班生 + + + 银发大学 + + + 小鬼当家 + + + 边城故事 + + + 好奇魔学堂 + + + 动画片 + + + 五年级插班生 + + + 银发大学 + + + 小鬼当家 + + + 边城故事 + + + 好奇魔学堂 + + + 动画片 + + + 五年级插班生 + + + 银发大学 + + + 小鬼当家 + + + 边城故事 + + + 好奇魔学堂 + + + 动画片 + + + 五年级插班生 + + + 银发大学 + + + 小鬼当家 + + + 边城故事 + + + 五年级插班生 + + + 银发大学 + + + 小鬼当家 + + + 边城故事 + + + 好奇魔学堂 + + + 珠海-1 + + + 天气预报 + + + 第一首映 + + + 做一天的你 + + + 金湾一周 + + + 极致 + + + 珠海新闻(重播) + + + 上午剧场 + + + 上午剧场 + + + 上午剧场 + + + 第一首映 + + + 新闻121(直播) + + + 做一天的你 + + + 下午剧场 + + + 影视界 + + + 新闻121 + + + 校园 + + + 珠海110 + + + 财知道 + + + 转播中央台新闻联播 + + + 珠海新闻(直播) + + + 天气预报 + + + 黄金剧场 + + + 黄金剧场 + + + 黄金剧场 + + + 海洋天气预报 + + + 财知道 + + + 第一房产精编 + + + 珠海新闻 + + + 珠海-2 + + + 说一不二 + + + 耳畔中国 + + + 都市荟生活 + + + 创赢工场 + + + 搭错车 + + + 搭错车 + + + 第一房产 + + + 光影纵横 + + + 都市荟生活 + + + 说一不二 + + + 创赢工场 + + + 下午剧场 + + + 第一地产 + + + 光影纵横 + + + 天气预报 + + + 有一说一 + + + 说一不二 + + + 都市荟生活 + + + 学生兵 + + + 学生兵 + + + 创赢工场 + + + 第一房产 + + + 光影纵横 + + + 说一不二 + + + 都市荟生活 + + + 珠海新闻 + + + 天气预报 + + + 第一首映 + + + 做一天的你 + + + 金湾一周 + + + 极致 + + + 珠海新闻(重播) + + + 上午剧场 + + + 上午剧场 + + + 上午剧场 + + + 第一首映 + + + 新闻121(直播) + + + 做一天的你 + + + 下午剧场 + + + 影视界 + + + 新闻121 + + + 校园 + + + 珠海110 + + + 财知道 + + + 转播中央台新闻联播 + + + 珠海新闻(直播) + + + 天气预报 + + + 黄金剧场 + + + 黄金剧场 + + + 黄金剧场 + + + 海洋天气预报 + + + 财知道 + + + 第一房产精编 + + + 珠海新闻 + + + 珠海生活 + + + 说一不二 + + + 耳畔中国 + + + 都市荟生活 + + + 创赢工场 + + + 搭错车 + + + 搭错车 + + + 第一房产 + + + 光影纵横 + + + 都市荟生活 + + + 说一不二 + + + 创赢工场 + + + 下午剧场 + + + 第一地产 + + + 光影纵横 + + + 天气预报 + + + 有一说一 + + + 说一不二 + + + 都市荟生活 + + + 学生兵 + + + 学生兵 + + + 创赢工场 + + + 第一房产 + + + 光影纵横 + + + 说一不二 + + + 都市荟生活 + + + 甘肃公共 + + + 凌晨剧场 + + + 百姓有话说 + + + 百姓绚丽甘肃 + + + 上午剧场 + + + 百姓气象站 + + + 百姓有话说 + + + 品牌之路 + + + 下午剧场 + + + 百姓绚丽甘肃 + + + 头条来了 + + + 百姓气象站 + + + 晚间剧场 + + + 百姓有话说 + + + 天下陇商 + + + 百姓纪与录 + + + 头条来了 + + + 百姓绚丽甘肃 + + + 凌晨剧场 + + + 甘肃公共应急 + + + 凌晨剧场 + + + 百姓有话说 + + + 百姓绚丽甘肃 + + + 上午剧场 + + + 百姓气象站 + + + 百姓有话说 + + + 品牌之路 + + + 下午剧场 + + + 百姓绚丽甘肃 + + + 头条来了 + + + 百姓气象站 + + + 晚间剧场 + + + 百姓有话说 + + + 天下陇商 + + + 百姓纪与录 + + + 头条来了 + + + 百姓绚丽甘肃 + + + 凌晨剧场 + + + 甘肃卫视 + + + 月牙泉剧场:五号特工组(5) + + + 纪录30分 + + + 甘肃新闻 + + + 如意甘肃我的家 + + + 丝路大讲堂 + + + 今日聚焦 + + + 法治伴你行 + + + 纪录30分 + + + 如意甘肃我的家 + + + 甘肃新闻 + + + 月牙泉剧场:五号特工组(6) + + + 中华人民共和国国歌 + + + 月牙泉剧场:五号特工组(7) + + + 雄关剧场:正者无敌(33) + + + 雄关剧场:正者无敌(34) + + + 雄关剧场:正者无敌(35) + + + 雄关剧场:正者无敌(36) + + + 雄关剧场 + + + 午间20分 + + + 甘肃天气预报 + + + 花雨剧场:信者无敌(31) + + + 花雨剧场:信者无敌(32) + + + 花雨剧场:信者无敌(33) + + + 花雨剧场:信者无敌(34) + + + 花雨剧场:信者无敌(35) + + + 动画片剧场 + + + 今日聚焦 + + + 甘肃新闻 + + + 甘肃天气预报 + + + 转播中央台新闻联播 + + + 黄金剧场 + + + 黄金剧场 + + + 好人在身边 + + + 新闻晚高峰 + + + 甘肃新闻 + + + 月牙泉剧场:五号特工组(8) + + + 甘肃少儿 + + + 奇趣大自然 + + + 动画片剧场 + + + 动画片剧场 + + + 童心梦想 + + + 王师说电竞 + + + 动画片剧场 + + + 动画片剧场 + + + 动画片剧场 + + + 哎呦黑皮 + + + 动画片剧场 + + + 超能小星探 + + + 动画片剧场 + + + 七彩空间 + + + 童心学堂 + + + 动画片剧场 + + + 奇趣大自然 + + + 天天教育 + + + 动画片剧场 + + + 甘肃文化影视 + + + 凌晨剧场 + + + 上午剧场 + + + 情暖夕阳 + + + 喧个关,帮个忙 + + + 第一生活 + + + 下午剧场 + + + 情暖夕阳 + + + 喧个关,帮个忙 + + + 晚间剧场 + + + 第一生活 + + + 第一首映 + + + 甘肃经济 + + + 凌晨剧场 + + + 清晨剧场 + + + 上午剧场 + + + 下午剧场 + + + 晚间剧场 + + + 陇原清风 + + + 经济信息联播 + + + 走进三农 + + + 项目甘肃 + + + 前沿讲座 + + + 经济信息联播 + + + 传奇 + + + 凌晨剧场 + + + 凌晨剧场 + + + 甘肃都市 + + + 新闻晚高峰 + + + 法制中国60分 + + + 晚间剧场 + + + 快手时间 + + + 兰州新区新闻 + + + 都市第1线 + + + G客G拍 + + + 艺静琳朝 + + + 经典剧场 + + + 快乐生活一点通 + + + 今日聚焦 + + + 法制中国60分 + + + 都市第1线 + + + G客G拍 + + + 艺静琳朝 + + + 家园 + + + 快手时间 + + + 甘肃新闻 + + + 快手时间 + + + 都市第1线 + + + 家园 + + + 琳动金城 + + + 生态环境 + + + 生态环境大讲堂 + + + 绿水青山中国行 + + + 生态环境大讲堂 + + + 绿水青山中国行 + + + 生态环境大讲堂 + + + 生态环境大讲堂 + + + 生态环境大讲堂 + + + 绿水青山中国行 + + + 生态环境大讲堂 + + + 绿水青山中国行 + + + 生态环境大讲堂 + + + 生态环境大讲堂 + + + 生态环境大讲堂 + + + 绿水青山中国行 + + + 生态环境大讲堂 + + + 绿水青山中国行 + + + 生态环境大讲堂 + + + 生态环境大讲堂 + + + 生态环境大讲堂 + + + 绿水青山中国行 + + + 生态环境大讲堂 + + + 绿水青山中国行 + + + 生态环境大讲堂 + + + 生态环境大讲堂 + + + 生态环境大讲堂 + + + 绿水青山中国行 + + + 生态环境大讲堂 + + + 绿水青山中国行 + + + 生态环境大讲堂 + + + 生态环境大讲堂 + + + 生态环境大讲堂 + + + 绿水青山中国行 + + + 生态环境大讲堂 + + + 绿水青山中国行 + + + 生态环境大讲堂 + + + 生态环境大讲堂 + + + 节目结束 + + + 生活时尚 + + + 给我一点甜(1):颜值即正义 + + + 闲着:开洋葱油拌面 + + + 金色公开课:胃癌防治,故事课 + + + 非遗新体验:海派绒线编结技艺 + + + 非遗新体验(19):砚刻艺术 + + + 徐汇阅读建筑(7):土山湾博物馆 + + + 一碗人间烟火(10):大灶头菜饭 + + + 一碗人间烟火(11):八宝饭 + + + 乐游上海:书香文化-淮海路 + + + 艺术大厅 + + + 校媒联盟周刊 + + + 给我一点甜(2):冰与甜之歌 + + + 四季上海 + + + 艺术大厅 + + + 艺术大厅 + + + 艺术大厅 + + + 给我一点甜(1):颜值即正义 + + + 金色公开课:胃癌防治,故事课 + + + 快乐生活帮之老人鞋 + + + 闲着:开洋葱油拌面 + + + 非遗新体验:海派绒线编结技艺 + + + 非遗新体验(19):砚刻艺术 + + + 徐汇阅读建筑(7):土山湾博物馆 + + + 一碗人间烟火(10):大灶头菜饭 + + + 一碗人间烟火(11):八宝饭 + + + 乐游上海:书香文化-淮海路 + + + 校媒联盟周刊 + + + 给我一点甜(2):冰与甜之歌 + + + 四季上海 + + + 艺术大厅 + + + 艺术大厅 + + + 艺术大厅 + + + 给我一点甜(1):颜值即正义 + + + 闲着:开洋葱油拌面 + + + 徐汇阅读建筑(7):土山湾博物馆 + + + 非遗新体验:海派绒线编结技艺 + + + 快乐生活帮之老人鞋 + + + 金色营养课(9) + + + 乐游上海:书香文化-淮海路 + + + 校媒联盟周刊 + + + 给我一点甜(2):冰与甜之歌 + + + 四季上海 + + + 艺术大厅 + + + 给我一点甜(1):颜值即正义 + + + 闲着:开洋葱油拌面 + + + 非遗新体验:海派绒线编结技艺 + + + 非遗新体验(19):砚刻艺术 + + + 徐汇阅读建筑(7):土山湾博物馆 + + + 一碗人间烟火(10):大灶头菜饭 + + + 一碗人间烟火(11):八宝饭 + + + 乐游上海:书香文化-淮海路 + + + 艺术大厅 + + + 艺术大厅 + + + 校媒联盟周刊 + + + 给我一点甜(2):冰与甜之歌 + + + 四季上海 + + + 艺术大厅 + + + 给我一点甜(3):撒糖名场面 + + + 乐游上海:浦江游览-寻味之旅 + + + 大医来了 + + + 盛世芳华(16) + + + 快乐生活帮之老人鞋 + + + 金色营养课(9) + + + 美美搭特训营1(14):巧用丝巾 + + + 美美搭特训营1(15):荧光色穿搭 + + + 给我一点甜(3):撒糖名场面 + + + 乐游上海:浦江游览-寻味之旅 + + + 大医来了 + + + 盛世芳华(16) + + + 泰晤士小镇(3):宜居泰晤士 + + + 自然之旅欣赏 + + + 电竞天堂 + + + JJ斗地主S3春季赛八强赛4-2重庆�... + + + JJ斗地主S3春季赛八强赛4-3重庆�... + + + JJ斗地主S3春季赛八强赛4-4重庆�... + + + JJ斗地主S3春季赛八强赛6-1四川�... + + + JJ斗地主S3春季赛八强赛4-2重庆�... + + + JJ斗地主S3春季赛八强赛4-3重庆�... + + + JJ斗地主S3春季赛八强赛4-4重庆�... + + + JJ斗地主S3春季赛八强赛6-1四川�... + + + JJ斗地主S3春季赛八强赛4-2重庆�... + + + JJ斗地主S3春季赛八强赛4-3重庆�... + + + JJ斗地主S3春季赛八强赛4-4重庆�... + + + JJ斗地主S3春季赛八强赛6-1四川�... + + + JJ斗地主S3春季赛八强赛4-2重庆�... + + + JJ斗地主S3春季赛八强赛4-3重庆�... + + + JJ斗地主S3春季赛八强赛4-4重庆�... + + + JJ斗地主S3春季赛八强赛6-1四川�... + + + JJ斗地主S3春季赛八强赛4-2重庆�... + + + JJ斗地主S3春季赛八强赛4-3重庆�... + + + JJ斗地主S3春季赛八强赛4-4重庆�... + + + JJ斗地主S3春季赛八强赛6-1四川�... + + + JJ斗地主S3春季赛八强赛4-2重庆�... + + + JJ斗地主S3春季赛八强赛4-3重庆�... + + + 电视指南 + + + 我喜欢我推荐-合唱先锋2021-9 + + + 我喜欢我推荐-航拍中国2020-5 + + + 我喜欢我推荐-航拍中国2020-6 + + + 我喜欢我推荐-听起来很好吃-3 + + + !我喜欢我推荐-中国湿地-1 + + + 请您欣赏-海南风光 + + + 整点冲击播-2024-24 + + + 数字飙榜-2024-5 + + + 数字飙榜-2024-6 + + + 中国文艺-2024-169 貺 + + + 我喜欢我推荐-辣椒的征途-5 + + + 我喜欢我推荐-辣椒的征途-6 + + + 垫播节目-美丽中国-新疆 + + + 我喜欢我推荐-跟着书本去旅行2021-99 + + + 我喜欢我推荐-跟着书本去旅行2021-105 + + + 我喜欢我推荐-我的家乡菜-117 + + + 我喜欢我推荐-我的家乡菜-118 + + + 我喜欢我推荐-合唱先锋2021-9 + + + 我喜欢我推荐-航拍中国2020-5 + + + 我喜欢我推荐-航拍中国2020-6 + + + 我喜欢我推荐-听起来很好吃-3 + + + !我喜欢我推荐-中国湿地-1 + + + 请您欣赏-海南风光 + + + 整点冲击播-2024-24 + + + 数字飙榜-2024-5 + + + 数字飙榜-2024-6 峺 + + + 中国文艺-2024-169 糺 + + + 我喜欢我推荐-辣椒的征途-5 + + + 我喜欢我推荐-辣椒的征途-6 + + + 垫播节目-美丽中国-新疆 + + + 我喜欢我推荐-跟着书本去旅行2021-99 + + + 我喜欢我推荐-跟着书本去旅行2021-105 + + + 我喜欢我推荐-我的家乡菜-117 + + + 我喜欢我推荐-我的家乡菜-118 + + + 我喜欢我推荐-合唱先锋2021-9 + + + 我喜欢我推荐-航拍中国2020-5 + + + 我喜欢我推荐-航拍中国2020-6 + + + 我喜欢我推荐-听起来很好吃-3 + + + !我喜欢我推荐-中国湿地-1 + + + 请您欣赏-海南风光 + + + 整点冲击播-2024-24 洺 + + + 数字飙榜-2024-5 贺 + + + 数字飙榜-2024-6 + + + 中国文艺-2024-169 + + + 我喜欢我推荐-辣椒的征途-5 + + + 我喜欢我推荐-辣椒的征途-6 + + + 垫播节目-美丽中国-新疆 + + + 我喜欢我推荐-跟着书本去旅行2021-99 + + + 我喜欢我推荐-跟着书本去旅行2021-105 + + + 我喜欢我推荐-我的家乡菜-117 + + + 我喜欢我推荐-我的家乡菜-118 + + + 我喜欢我推荐-合唱先锋2021-9 + + + 我喜欢我推荐-航拍中国2020-5 + + + 我喜欢我推荐-航拍中国2020-6 + + + 我喜欢我推荐-听起来很好吃-3 浺 + + + !我喜欢我推荐-中国湿地-1 鵺 + + + 请您欣赏-海南风光 + + + 整点冲击播-2024-24 + + + 我喜欢我推荐-辣椒的征途-5 + + + 我喜欢我推荐-辣椒的征途-6 + + + 我喜欢我推荐-2024-58跟着书本去旅行 + + + 我喜欢我推荐-2024-59跟着书本去旅行 + + + 我喜欢我推荐-我的家乡菜-75 + + + -我喜欢我推荐-野性的呼唤第二季-1 + + + 我喜欢我推荐-合唱先锋2021-10 + + + 我喜欢我推荐-航拍中国2020-7 黶 + + + 我喜欢我推荐-航拍中国2020-8 + + + 我喜欢我推荐-解码科技史2021-5 + + + !我喜欢我推荐-中国湿地-2 + + + 轻松节拍-青少年睡前脊柱操 + + + 请您欣赏-海南风光 + + + 整点冲击播-2023-69 + + + 我喜欢我推荐-匠人匠心-87 趺 + + + 我喜欢我推荐-健康全知道-40 + + + !我喜欢我推荐-军火之源-5 + + + 我喜欢我推荐-央视台球2021-9 + + + 垫播节目-美丽中国-丝路之旅 + + + 我喜欢我推荐-2024-58跟着书本去旅行 + + + 我喜欢我推荐-2024-59跟着书本去旅行 + + + 我喜欢我推荐-我的家乡菜-75 + + + 留学世界 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 睛彩中原 + + + 河南有好戏(重播) + + + 睛彩好戏 + + + 精彩剧场《王大花的革命生涯》(重播) + + + 美好剧场《父母爱情》 + + + 河南有好戏 + + + 精彩剧场《王大花的革命生涯》 + + + 河南有好戏 + + + 睛彩好戏 + + + 睛彩鉴赏 + + + 睛彩广场舞 + + + 频道宣传 + + + 足球世界-24/25赛季意甲 第14轮 佛罗伦萨-国际米兰 直播 + + + 频道宣传 + + + 最炫广场舞 + + + 舞动节拍 + + + 频道宣传 + + + 掼牌精英赛 + + + 频道宣传 + + + 瑜悦身心 + + + 频道宣传 + + + 最炫广场舞 + + + 舞动节拍 + + + 频道宣传 + + + 掼牌精英赛 + + + 频道宣传 + + + 最炫广场舞 + + + 舞动节拍 + + + 频道宣传 + + + 最炫广场舞 + + + 瑜悦身心 + + + 频道宣传 + + + 掼牌精英赛 + + + 频道宣传 + + + 舞动节拍 + + + 睛彩竞技 + + + 英超赛场-24/25赛季英超第13轮利物浦-曼城直播 + + + 频道宣传 + + + 国球荣耀-WTT中国大满贯女双决赛 + + + 欧陆足球版图 + + + 足球世界-24/25赛季意甲第14轮莱切-尤文图斯直播 + + + 频道宣传 + + + 足球世界-24/25赛季意甲第13轮AC米兰-尤文图斯 + + + 咪咕体育日报 + + + 频道宣传 + + + 欧陆足球版图 + + + 国球荣耀-WTT法兰克福冠军赛女单半决赛 + + + 国球荣耀-WTT法兰克福冠军赛女单决赛 + + + 欧陆足球版图 + + + 频道宣传 + + + 足球世界-24/25赛季西甲第13轮皇家马略卡-马德里竞技 + + + 频道宣传 + + + 足球世界-24/25赛季意甲第12轮尤文图斯-都灵 + + + 频道宣传 + + + 纪录片-阿尔塞纳·温格:不败之师 + + + 频道宣传 + + + UFC第303期主赛 + + + 频道宣传 + + + 英超赛场-24/25赛季英超第12轮曼城-托特纳姆热刺 + + + 频道宣传 + + + 足球世界-24/25赛季西甲第13轮皇家马德里-奥萨苏纳 + + + 国球荣耀-WTT法兰克福冠军赛女单半决赛 + + + 睛彩篮球 + + + 频道宣传 + + + 村BA + + + 频道宣传 + + + 超级三对三-2024超三联赛 + + + 频道宣传 + + + 2024NBL季后赛总决赛G4香港金牛-安徽文一 + + + 频道宣传 + + + 村BA + + + 频道宣传 + + + 一球一城巴黎 + + + 频道宣传 + + + 超级三对三-2024超三联赛 + + + 频道宣传 + + + 当燃CBA24/25俱乐部杯小组赛北京北汽-辽宁本钢 + + + 频道宣传 + + + 村BA + + + 频道宣传 + + + 我爱女篮WCBA常规赛上海浦发银行-东莞新彤盛 + + + 频道宣传 + + + 超级三对三-2024超三联赛 + + + 频道宣传 + + + 村BA + + + 频道宣传 + + + 篮球:为爱而生07飞人乔丹 + + + 频道宣传 + + + 当燃CBA24/25常规赛深圳马可波罗-新疆伊力特 + + + 频道宣传 + + + NBA周刊 + + + 频道宣传 + + + 当燃CBA24/25常规赛广州朗肽海本-北京北汽直播 + + + 频道宣传 + + + 我爱女篮WCBA常规赛江苏南钢-福建晋江众腾 + + + 睛彩羽毛球 + + + 足球世界24/25赛季西甲第15轮皇家马德里-赫塔菲直播 + + + 频道宣传 + + + 青少健身课程 + + + 欧陆足球版图 + + + 中国街舞联赛 + + + 看不见的顶峰 + + + 机甲大师赛 + + + 欧陆足球版图 + + + 频道宣传 + + + 看不见的顶峰 + + + 频道宣传 + + + 青少健身课程 + + + 频道宣传 + + + 户外探险 + + + 频道宣传 + + + CUBAL西北工业大学-中北大学 + + + 频道宣传 + + + U17女足亚洲杯中国-澳大利亚 + + + 频道宣传 + + + 中国街舞联赛 + + + 频道宣传 + + + 机甲大师赛 + + + 频道宣传 + + + 户外探险 + + + 频道宣传 + + + 机甲大师赛 + + + 频道宣传 + + + 青少健身课程 + + + 频道宣传 + + + 《伟大遗产》05科西嘉——宝藏之岛 + + + 频道宣传 + + + 欧陆足球版图 + + + 频道宣传 + + + 当燃CBA24/25赛季第12轮新疆伊力特-浙江稠州金租直播 + + + 频道宣传 + + + WCT世界追逐大赛2020中国冠军赛 + + + 睛彩青少 + + + 足球世界24/25赛季西甲第15轮皇家马德里-赫塔菲直播 + + + 频道宣传 + + + 青少健身课程 + + + 欧陆足球版图 + + + 中国街舞联赛 + + + 看不见的顶峰 + + + 机甲大师赛 + + + 欧陆足球版图 + + + 频道宣传 + + + 看不见的顶峰 + + + 频道宣传 + + + 青少健身课程 + + + 频道宣传 + + + 户外探险 + + + 频道宣传 + + + CUBAL西北工业大学-中北大学 + + + 频道宣传 + + + U17女足亚洲杯中国-澳大利亚 + + + 频道宣传 + + + 中国街舞联赛 + + + 频道宣传 + + + 机甲大师赛 + + + 频道宣传 + + + 户外探险 + + + 频道宣传 + + + 机甲大师赛 + + + 频道宣传 + + + 青少健身课程 + + + 频道宣传 + + + 《伟大遗产》05科西嘉——宝藏之岛 + + + 频道宣传 + + + 欧陆足球版图 + + + 频道宣传 + + + 当燃CBA24/25赛季第12轮新疆伊力特-浙江稠州金租直播 + + + 频道宣传 + + + WCT世界追逐大赛2020中国冠军赛 + + + 石家庄娱乐 + + + 天气预报 + + + 省会房产报道 + + + 开心365 + + + 午夜剧场 + + + 早间气象 + + + 省会房产报道 + + + 财经全接触 + + + 飞扬说事儿 + + + 第一健康 + + + 本草新说 + + + 省会房产报道 + + + 自在游天下 + + + 上午剧场 + + + 飞扬说事儿 + + + 观点致胜 + + + 置家帮 + + + 省会房产报道 + + + 第一健康 + + + 广电庄里淘 + + + 百姓报天气 + + + 旅游:自在游天下 + + + 好榜样时间 + + + 开心365 + + + 2017中国扑克大赛牌王电视擂台赛 + + + 下午剧场 + + + 天气预报 + + + 四集剧场 + + + 广电庄里淘 + + + 第一健康 + + + 观点致胜 + + + 省会房产报道 + + + 财经全接触 + + + 石家庄新闻综合 + + + 嘻哈客栈 + + + 气象视界 + + + 电视剧 + + + 大家来养生 + + + 石家庄新闻 + + + 民生关注 + + + 精品剧场 + + + 午报故事汇+新闻午报 + + + 乡村服务社 + + + 母婴派 + + + 置家帮 + + + 理论之窗 + + + 嘻哈客栈 + + + 午后剧场 + + + 第一金融 + + + 午后剧场 + + + 民生关注 + + + 转播中央新闻联播 + + + 转中央天气预报 + + + 石家庄新闻 + + + 黄金剧场 + + + 新闻夜班车 + + + 大家来养生 + + + 置家帮 + + + 气象视界 + + + 嘻哈客栈 + + + 石家庄生活 + + + 乡村服务社 + + + 文明石家庄人 + + + 创城纵横谈 + + + 创城播报 + + + 法治时间 + + + 本草新说 + + + 调和-精编 + + + 省会房产报道 + + + 第一消费 + + + 开蒙世界 + + + 生活情报站*气象 + + + 石家庄都市 + + + 天气预报 + + + 电视剧 + + + 嘻哈客栈 + + + 母婴派 + + + 房产报道 + + + 母婴派 + + + 嘻哈客栈 + + + 电视剧 + + + 快乐生活一点通 + + + 天气预报 + + + 津津乐道 + + + 河北新闻联播 + + + 小吴帮忙 + + + 天天说交通 + + + 津津乐道 + + + 快乐生活一点通 + + + 小吴帮忙 + + + 天天说交通 + + + 福州1-新闻 + + + 福州新闻 + + + 福州新闻 + + + 新闻110 + + + 闽医说健康 + + + 早间剧场 + + + 财经新视界 + + + 关注 + + + 福州新闻 + + + 新闻110 + + + 财经新视界 + + + 闽医说健康 + + + 午后剧场 + + + 闽医说健康 + + + 关注 + + + 新闻110 + + + 福州新闻 + + + 转播:央视新闻联播 + + + 转播:福建新闻联播 + + + 天气预报 + + + 海洋天气预报 + + + 中国城市报道 + + + 财经新视界 + + + 有理姚说 + + + 整点播报 + + + 新闻110 + + + 财经新视界 + + + 中国城市报道 + + + 福州新闻 + + + 中国城市报道 + + + 福州2套-影视 + + + 花时间剧场 + + + 闽医说健康(重) + + + 花时间剧场 + + + 闽医说健康(重) + + + 花时间剧场 + + + 闽医说健康 + + + 爱琴海剧场 + + + 合家欢剧场 + + + 爱琴海剧场(重) + + + 福州3-生活 + + + 生活零距离(重) + + + 生活剧场(重) + + + 生活零距离(重) + + + 攀讲(重) + + + 闽都金秋(重) + + + 生活剧场(重) + + + 生活零距离(重) + + + 攀讲(重) + + + 闽都金秋(重) + + + 生活剧场(重) + + + 攀讲(重) + + + 闽都金秋 + + + 攀讲 + + + 梅卿快车道 + + + 生活剧场 + + + 生活零距离 + + + 生活剧场 + + + 闽都金秋(重) + + + 攀讲(重) + + + 福建体育 + + + 今晚TV8 + + + 功夫 + + + 青春赛场 + + + 青春赛场 + + + 青春赛场 + + + 谁来耍大牌 + + + 青春赛场 + + + 青春赛场 + + + 天天体彩 + + + 英超前瞻 + + + 英超第2轮 + + + 结束 + + + 福建公共 + + + 海洋季风-我与海洋那些事 + + + 风物福建 + + + 兴农讲堂之田园公开课 + + + 律师在现场 + + + 多彩福茶 + + + 乡村欢乐购 + + + 八闽正春风 + + + 福建农村实用技术远程培训 + + + 风物福建 + + + 兴农讲堂之田园公开课 + + + 多彩福茶 + + + 乡村欢乐购 + + + 福建农村实用技术远程培训 + + + 海洋季风-我与海洋那些事 + + + 八闽正春风 + + + 兴农讲堂之田园公开课 + + + 律师在现场 + + + 福建新闻联播 + + + 八闽正春风 + + + 周游记:政和锦屏村 + + + 海洋季风-我与海洋那些事 + + + 多彩福茶 + + + 乡村欢乐购 + + + 大地欢歌(7) + + + 风物福建短视频 + + + 福建好味道 + + + 福建农村实用技术远程培训 + + + 风物福建 + + + 剧场 + + + 剧场 + + + 海洋季风-我与海洋那些事 + + + 多彩福茶 + + + 午间新时空 + + + 八闽正春风 + + + 福建好味道 + + + 律师在现场 + + + 风物福建 + + + 兴农讲堂之田园公开课 + + + 福建农村实用技术远程培训 + + + 剧场 + + + 剧场 + + + 剧场 + + + 海洋季风-渔港走透透(54) + + + 律师在现场 + + + 风物福建 + + + 兴农讲堂之田园公开课 + + + 周游记:福州三地 + + + 海洋季风-我与海洋那些事 + + + 福建好味道 + + + 多彩福茶 + + + 山海作答 + + + 乡村欢乐购 + + + 八闽正春风 + + + 风物福建短视频 + + + 海洋季风-风从海上来(109) + + + 风物福建 + + + 多彩福茶 + + + 剧场 + + + 八闽正春风 + + + 八闽机关党建 + + + 福建好味道 + + + 海洋季风-风从海上来(109) + + + 风物福建短视频 + + + 福建新闻联播 + + + 律师在现场 + + + 多彩福茶 + + + 福建少儿 + + + BOBO乐乐园 + + + 小神龙俱乐部 + + + 早间剧场 + + + 大玩家 + + + BOBO乐乐园 + + + 小神龙俱乐部 + + + 动画片 + + + 快乐一小时 + + + 动画剧场 + + + 大玩家 + + + 动画剧场 + + + 百变麻豆模特大赛 + + + 辣妈饭米粒 + + + 剧场 + + + 结束 + + + 福建教育 + + + 奇趣大自然 + + + 纪录时间 + + + 剧场 + + + 影视界 + + + 人文中国 + + + 纪录时间 + + + 妈妈宝宝 + + + 一马当先 + + + 剧场 + + + 看中国 + + + 纪录时间 + + + 影视界 + + + 一马当先 + + + 妈妈宝宝 + + + 动画片 + + + 奇趣大自然 + + + 福建教育报道 + + + 转播中央台新闻联播 + + + 看中国 + + + 剧场 + + + 剧场 + + + 影视界 + + + 纪录时间 + + + 一马当先 + + + 结束 + + + 福建文体 + + + 今晚TV8 + + + 功夫 + + + 青春赛场 + + + 青春赛场 + + + 青春赛场 + + + 谁来耍大牌 + + + 青春赛场 + + + 青春赛场 + + + 天天体彩 + + + 英超前瞻 + + + 英超第2轮 + + + 结束 + + + 福建新闻 + + + 现场精华版 + + + 刚好一周 + + + 法治中国60分 + + + 传奇 + + + F4大搜索 + + + 看东岸 + + + 刚好一周 + + + 环球报道 + + + 法治中国60分 + + + 观茶事 + + + 早安福建 + + + 早间天气快报 + + + 新闻启示录 + + + 看东岸精华版 + + + 法治中国60分 + + + 现场精华版 + + + 传奇 + + + 财经这些事 + + + 看东岸精华版 + + + 家装 + + + 新闻午报 + + + 午间天气快报 + + + 新闻启示录 + + + F4大搜索精华版 + + + 法治中国60分 + + + 新闻午报 + + + 午间天气快报 + + + 风物福建精华版 + + + 福建新发现 + + + 看东岸精华版 + + + 家装 + + + F4大搜索精华版 + + + 现场 + + + F4大搜索 + + + 环球报道 + + + 看东岸 + + + 福建大数据 + + + 风物福建 + + + 法治中国60分 + + + 福建卫视新闻 + + + 晚间天气快报 + + + 看东岸 + + + 结束 + + + 福建旅游 + + + 寰宇地理 + + + 旅游气象站 + + + 清新剧场 + + + 寰宇地理 + + + 秘境神草 + + + 旅游气象站 + + + 清新剧场 + + + 记住乡愁 + + + 纪录时间 + + + 我是大医生(重播) + + + 旅游气象站 + + + 清新福建旅游资讯榜 + + + 纪录时间 + + + 寰宇地理 + + + 我为车狂 + + + 清新福建旅游资讯榜 + + + 中影剧场 + + + 福建电视剧 + + + 午夜剧场 + + + 凌晨剧场 + + + 凌晨剧场 + + + 凌晨剧场 + + + 凌晨剧场 + + + 凌晨剧场 + + + 凌晨剧场 + + + 上午剧场 + + + 上午剧场 + + + 上午剧场 + + + 上午剧场 + + + 上午剧场 + + + 下午剧场 + + + 下午剧场 + + + 黄金剧场 + + + 黄金剧场 + + + 全民一起拍 + + + 晚间剧场 + + + 午夜剧场 + + + 结束 + + + 福建经济 + + + 新闻启示录 + + + 剧场 + + + 快乐生活一点通 + + + 麻辣面对面 + + + 互联网经济报道 + + + 说天气 + + + 快乐生活一点通 + + + 剧场 + + + 互联网经济报道 + + + 一转成双 + + + 说天气 + + + 八闽正能量 + + + 今日八闽 + + + 剧场 + + + 一转成双 + + + 股市今日谈 + + + 热线777 + + + 说天气 + + + 包公来了 + + + 快乐生活一点通 + + + 海峡视点 + + + 总裁读书会 + + + 经视院线 + + + 热线777 + + + 结束 + + + 福建综合 + + + 福建新闻联播 + + + 帮帮有1套 + + + 第1帮帮团 + + + 调解有1套 + + + 福建新闻联播 + + + 中华人民共和国国歌 + + + 午间新时空 + + + 午间全省天气预报 + + + 时代先锋 + + + 帮帮有1套 + + + 第1帮帮团 + + + 调解有1套 + + + 帮帮有1套 + + + 第1帮帮团 + + + 调解有1套 + + + 福建海洋预报 + + + 福建新闻联播 + + + 新闻启示录 + + + 向往的大海 + + + 纪录片 + + + 时代先锋 + + + 移动戏曲 + + + 唱段欣赏 + + + 戏苑百家 + + + 唱段欣赏 + + + 大戏点播 + + + 大戏点播 + + + 大戏点播 + + + 梨园荟萃 + + + 唱段欣赏 + + + 戏苑百家 + + + 戏苑百家 + + + 戏苑百家 + + + 梨园荟萃 + + + 梨园荟萃 + + + 大戏点播 + + + 大戏点播 + + + 大戏点播 + + + 大戏点播 + + + 戏苑百家 + + + 戏苑百家 + + + 戏苑百家 + + + 大戏点播 + + + 大戏点播 + + + 大戏点播 + + + 大戏点播 + + + 第一剧场 + + + 武当一剑 3/39 + + + 武当一剑 2/39 + + + 武当一剑 3/39 + + + 谢谢你医生 19/40 + + + 谢谢你医生 20/40 + + + 谢谢你医生 21/40 + + + 谢谢你医生 22/40 + + + 他是谁 3/24 + + + 他是谁 4/24 + + + 我和我的三个姐姐 20/38 + + + 我和我的三个姐姐 21/38 + + + 我和我的三个姐姐 22/38 + + + 我和我的三个姐姐 23/38 鵺 + + + 我和我的三个姐姐 24/38 鵺 + + + 我和我的三个姐姐 25/38 + + + + + + 谢谢你医生 23/40 + + + 谢谢你医生 24/40 + + + 谢谢你医生 25/40 + + + 谢谢你医生 26/40 + + + 他是谁 5/24 + + + 他是谁 6/24 + + + 武当一剑 4/39 + + + 第一财经 + + + 《第六交易日》 + + + 《来点财经范儿》 + + + 《创时代》 + + + 《头脑风暴》 + + + 《中国经济论坛》 + + + 《财经视频集萃-投资有看头》 + + + 《今日股市》 + + + 《今日股市》 + + + 《今日股市》 + + + 直播:财经早班车 + + + 直播:市场零距离 + + + 直播:市场零距离 + + + 直播:市场零距离 + + + 直播:市场零距离 + + + 直播:财经中间站 + + + 《中国经营者》 + + + 直播:市场零距离 + + + 直播:市场零距离 + + + 直播:市场零距离 + + + 直播:投资有看头 + + + 《中国经济论坛》 + + + 《中国经济论坛》 + + + 《中国经营者》 + + + 直播:今日股市 + + + 直播:谈股论金 + + + 直播:公司与行业 + + + 天财报到 + + + 直播:财经夜行线 + + + 天财报到 + + + 《首席评论》 + + + 天财报到 + + + 《财经视频集萃》 + + + 《今日股市》 + + + 《今日股市》 + + + 《今日股市》 + + + 《财经视频集萃-投资有看头》 + + + 篮球 + + + CBA经典赛事 + + + CBA赛事回顾 + + + 篮球经典影像 + + + 2014/2015CBA赛事 + + + 篮球经典影像 + + + 2014/2015CBA赛事 + + + 篮球经典影像 + + + 2014/2015CBA赛事 + + + 篮球经典影像 + + + 2014/2015CBA赛事 + + + 精品体育 + + + 精彩呈现 + + + 曼城VS富勒姆 + + + 阿斯顿维拉VS曼联 + + + 马赛VS欧塞尔 + + + 波鸿VS勒沃库森 + + + 北京VS上海 + + + 辽宁VS浙江 + + + 成都蓉城VS上海申花 + + + 天津VS深圳 + + + 上海VS辽宁 + + + 郑钦文VS克雷吉茨科娃 + + + 萨巴伦卡VS高芙 + + + 热火VS掘金 + + + 猛龙VS快船 + + + 太阳VS湖人 + + + 独行侠VS太阳 + + + 精品剧场 + + + 精品剧场 + + + 精品剧场 + + + 精品剧场 + + + 精品剧场 + + + 精品剧场 + + + 蓝步海豚 + + + 精品剧场 + + + 精品剧场 + + + 精品剧场 + + + 精品剧场 + + + 精品剧场 + + + 精品剧场 + + + 精品剧场 + + + 精品剧场 + + + 精品剧场 + + + 精品剧场 + + + 精品剧场 + + + 精品剧场 + + + 精品剧场 + + + 精品剧场 + + + 精品剧场 + + + 精品剧场 + + + 精品剧场 + + + 精品剧场 + + + 精品剧场 + + + 精品剧场 + + + 精品剧场 + + + 精品剧场 + + + 精品大剧 + + + 精彩呈现 + + + 家有喜妇(DVD版)(第09集) + + + 家有喜妇(DVD版)(第10集) + + + 家有喜妇(DVD版)(第11集) + + + 家有喜妇(DVD版)(第12集) + + + 家有喜妇(DVD版)(第13集) + + + 燕云台(第41集) + + + 燕云台(第42集) + + + 燕云台(第43集) + + + 燕云台(第44集) + + + 倚天屠龙记(第16集) + + + 德国卡赫纯钛RO反渗透净水器-渠道(右) + + + 倚天屠龙记(第17集) + + + 倚天屠龙记(第18集) + + + 倚天屠龙记(第19集) + + + 英国奥戈那折叠式取暖器-渠道(右) + + + 梦中的那片海(第15集) + + + 梦中的那片海(第16集) + + + 德国米技炉周年庆超值惠选装-渠道(右) + + + 梦中的那片海(第17集) + + + 梦中的那片海(第18集) + + + 美康利健激光前列腺治疗仪-渠道(右) + + + 女特警(第22集) + + + 女特警(第23集) + + + 《八段锦》推荐第9期 + + + 女特警(第24集) + + + 二炮手(第01集) + + + 《八段锦》推荐第9期 + + + 千金女贼(第11集) + + + 千金女贼(第12集) + + + 千金女贼(第13集) + + + 千金女贼(第14集) + + + 精品纪录 + + + 精彩呈现 + + + 第三集 长驱直入 + + + 放射学专家 徐赛英(第07集) + + + 农村小伙变身哈佛教授 康景轩(第08集) + + + 下一站,火星(第01集) + + + 第一集 往事千年 + + + 第二集 中国探月 + + + 民族丰碑 马本斋 + + + 女界光明 向警予 + + + 棹歌四海(第06集) + + + 机器人海盗 + + + 盐池——塞上牧歌传四方(20230813) + + + 谁为“熊孩子”的行为买单 + + + 玩火的孩子 + + + 少年天价网络消费 + + + 烧烤店里的医学人生(第01集) + + + CBD里的小小自习室(第02集) + + + 年夜饭浙江篇 + + + 德国米技炉周年庆超值惠选装-渠道(右) + + + 酥(第06集) + + + 长大 + + + 重返刺桐城(第02集) + + + 宋元时代 16 建中不易 + + + 英国奥戈那折叠式取暖器-渠道(右) + + + 宋元时代 17 与虎谋皮 + + + 探秘玛雅 + + + 飞碟之谜(上) + + + KGTOUE体感语音操控大吸力烟机-渠道(右) + + + 鲁班巧艺 + + + 杂碎逆袭史 + + + 红蟳姜母鸭 + + + 蒜香牛肉 + + + POKONDA智能四轮电动代步车-渠道(右) + + + 第一集 征战 + + + 第二集 慎武 + + + 德国卡赫纯钛RO反渗透净水器-渠道(右) + + + 第三集 知兵 + + + 第四集 庙算 + + + 精品萌宠 + + + 精彩呈现 + + + 3、什么食物可替代母乳喂食幼猫 + + + 第33期 “德医双馨”的资深爱宠医生—纯净版 + + + 第04期 智慧有力的著名“瘦医” + + + 第05集 吾家狗狗十四岁 + + + 第20集 猫咪的呼吸道常客 + + + 21、狗狗疼痛,不愿意运动怎么办? + + + 第26期 善于钻研病理细节的“探索者”-纯净版 + + + 第05期 手术刀剑女侠客 + + + AMOS高聚能养生钛锅(新)-怡伴(右) + + + 第02集 阿暴的嚣张生活 + + + 第18集 宠物除毛大作战 + + + 第14集 兔宝咚咚 + + + 精彩影视 + + + 柔情史 + + + 书剑情侠柳三变11 + + + 书剑情侠柳三变12 + + + 书剑情侠柳三变13 + + + 书剑情侠柳三变14 + + + 书剑情侠柳三变15 + + + 我们的队伍向太阳(27) + + + 我们的队伍向太阳(28) + + + 我们的队伍向太阳(29) + + + 我们的队伍向太阳(30) + + + 步步为营 + + + 书剑情侠柳三变16 + + + 书剑情侠柳三变17 + + + 书剑情侠柳三变18 + + + 书剑情侠柳三变19 + + + 夏洛特烦恼 + + + 灰烬重生 + + + 心迷宫 + + + 大红包 + + + 我们的队伍向太阳(31) + + + 我们的队伍向太阳(32) + + + 我们的队伍向太阳(33) + + + 大唐女法医1 + + + 秋之白华 + + + 红色轮播 + + + 奇袭 + + + 三八线上 + + + 三八线上的女兵 + + + 奇袭白虎团 + + + 铁血大动脉 + + + 友谊 + + + 毛泽东和他的儿子 + + + 《热血河山》第04集:跨过鸭绿江 + + + 《刀锋》第一集:卫国刀鸣 + + + 《刀锋》第二集:跨海过江 + + + 《刀锋》第三集:锋芒所向 + + + 《刀锋》第四集:冰天刀寒 + + + 《刀锋》第五集:搏刃长津 + + + 《刀锋》第六集:雪白血花 + + + 《英雄儿女》第一集:祖国召唤 + + + 《英雄儿女》第二集:极限战争 + + + 《英雄儿女》第三集:热血忠诚 + + + 《英雄儿女》第四集:越战越强 + + + 《英雄儿女》第五集:万众一心 + + + 《英雄儿女》第六集:永远铭记 + + + 《中华好儿女》第1集:抉择 + + + 《中华好儿女》第3集:同心 + + + 《中华好儿女》第2集:战场 + + + 《中华好儿女》第6集:血性 + + + 《中华好儿女》第4集:信念 + + + 《中华好儿女》第5集:智胜 + + + 《中华好儿女》第7集:英雄 + + + 《中华好儿女》第8集:跨越 + + + 《中华好儿女》第9集:角力 + + + 《中华好儿女》第10集:胜利 + + + 《热的雪——伟大的抗美援朝》第一集:突击云山 + + + 《热的雪——伟大的抗美援朝》第二集:挺进三所里 + + + 纪实人文 + + + 丹麦 + + + 印象 + + + 何以中国(6) + + + 以此为家 + + + 纪录片编辑室(87) + + + 纵横经典 + + + 动物我最怕(6) + + + 丹麦 + + + 纪录片编辑室(87) + + + 纵横经典 + + + 印象 + + + 丹麦 + + + 动物我最怕(6) + + + 何以中国(6) + + + 以此为家 + + + 纪录片编辑室(87) + + + 超级装 + + + 我是你的瓷儿(2) + + + 巨齿鲨 + + + 平安119(1) + + + 马王堆岁月不朽(7) + + + 马王堆岁月不朽(8) + + + 地球脉动Ⅲ(9) + + + 超级装 + + + 胶带万能 + + + 无悔青春苏翊鸣 + + + 我是你的瓷儿(2) + + + 地狱厨神美食秘境Ⅳ + + + 超级装 + + + 平安119(6) + + + 超级装 + + + 何以中国(7) + + + 超级装 + + + 中国海南雨林秘境(2) + + + 超级装 + + + 我是你的瓷儿(5) + + + 动物我最怕(7) + + + 地狱厨神美食秘境Ⅳ + + + 纪实科教 + + + 探索 + + + 中国故事 + + + 文化中国行-生生之轴 + + + 现场说法 + + + 法治中国60分 + + + 探索 + + + 记忆 + + + 健康北京 + + + 梦想北京城市形象片 + + + 法治中国60分精编版 + + + 法治进行时:警法目录 + + + 第三调解室精编版 + + + 纪录时间 + + + 健康北京:名医来了 + + + 直击最前沿 + + + 晚晴 + + + 乐在美食 + + + 品质生活 + + + 民法典通解通读 + + + 现场说法 + + + 法治进行时 + + + 第三调解室 + + + 法治中国60分 + + + 第三调解室(1) + + + 第三调解室(2) + + + 气象观天下:气象预报 + + + 气象观天下 + + + 乐在美食 + + + 职场健康说 + + + 品质生活 + + + 气象观天下:气象预报 + + + 中国故事 + + + 健康北京 + + + 一师亦友 + + + 记忆 + + + 职场健康说 + + + 小平,您好(1) + + + 第三调解室精编版 + + + 记忆精编版 + + + 故事时间:战狼·战狼2024版(32) + + + 故事时间:战狼·战狼2024版(33) + + + 探索 + + + 纬来体育台 + + + 纬来运动STUDIO [节目异动] + + + 2024-2025 NBA Daily + + + 2024-2025东亚超级联赛马尼拉电气VS釜山KCC宙斯盾(11/13/24) + + + 纬来运动STUDIO [节目异动] + + + 2024-2025 NBA Daily + + + 用心看体育 + + + 2024-2025 NBA Daily + + + 纬来运动STUDIO + + + 2024-2025 NBA篮球赛勇士VS太阳(12/1/24) + + + 2024-2025 NBA篮球赛 LIVE金块VS快艇(12/2/24) + + + 2024-25 NBAㄟˊ猜不到吧 LIVE + + + 2024-2025 NBA Daily + + + 纬来运动STUDIO + + + 113学年度富邦人寿UBA大专篮球联赛 LIVE虎尾科大VS中原大学(12/2/24)(男) + + + 113学年度富邦人寿UBA大专篮球联赛 LIVE国立体大VS高雄师大(12/2/24)(男) + + + 2024-2025 NBA篮球赛金块VS快艇(12/2/24) + + + 2024-25 NBAㄟˊ猜不到吧 + + + 纬来运动STUDIO LIVE + + + 2024-2025 NBA Daily + + + 2024-2025 NBA篮球赛金块VS快艇(12/2/24) + + + 2024-25 NBAㄟˊ猜不到吧 + + + 纬来运动STUDIO + + + 113学年度富邦人寿UBA大专篮球联赛黎明学院VS辅仁大学(11/27/24)(男) + + + 113学年度富邦人寿UBA大专篮球联赛文化大学VS台湾师大(11/27/24)(男) + + + 纬来运动STUDIO + + + 2024-2025 NBA Daily + + + 2024-2025 NBA Daily + + + 纬来戏剧台 + + + 新戏说台湾 + + + 风水!有关系 + + + 逃跑吧好兄弟 + + + 来自星星的事 + + + 来自星星的事 + + + 琅琊榜 + + + 三生三世十里桃花 + + + 三生三世十里桃花 + + + 琅琊榜 + + + 健康100分 + + + 琅琊榜 + + + 无血无泪 + + + 无血无泪 + + + 聪明过生活 + + + 琅琊榜 + + + 美丽闪亮亮 + + + 三生三世十里桃花 + + + 三生三世十里桃花 + + + 琅琊榜 + + + 无血无泪 + + + 无血无泪 + + + 琅琊榜 + + + 琅琊榜 + + + 纬来日本台 + + + 疯狂设计!趣味住宅好吃惊 + + + 日本学问大 + + + 节目精选 + + + 日本我来了 + + + 跟拍到你家 + + + 疯狂设计!趣味住宅好吃惊 + + + 日本学问大 + + + 女法官大人 + + + 王牌护理师 + + + 日本学问大 + + + 日本我来了 + + + 女法官大人 + + + 王牌护理师 + + + 疯狂设计!趣味住宅好吃惊 + + + 妙国民纠察队 + + + 女法官大人 + + + 移居世界秘境日本人好吃惊 + + + 日本学问大 + + + 大胃女王吃遍巨大美食 + + + 女法官大人 + + + 王牌护理师 + + + 跟拍神秘美女 + + + 纬来电影台 + + + 消失的子弹谢霆锋、 刘青云 + + + 武媚娘传奇 + + + 风林火山JR、 苑新雨 + + + 报告班长3庹宗华、 任贤齐 + + + 东方秃鹰洪金宝、 元彪 + + + 新警察故事成龙、 谢霆锋 + + + 警察故事续集成龙、 张曼玉 + + + 呖咕呖咕新年财刘德华、 刘青云 + + + 开封府 + + + 射鵰英雄传 + + + 射鵰英雄传 + + + 设计与思考纪录片 + + + 一个人的武林甄子丹、 王宝强 + + + 纬来精彩台 + + + 风水!有关系38 + + + 来自星星的事13 + + + 风水!有关系38 + + + 来自星星的事13 + + + 风水!有关系38 + + + 大胃王来了!吃遍台湾2 + + + 大胃王来了!东西军 + + + 风水!有关系26 + + + 医次搞定5 + + + 风水!有关系26 + + + 非常食嗑 + + + 非常食嗑 + + + 大胃王来了!吃遍台湾2 + + + 113学年度富邦人寿UBA大专篮球联赛 LIVE健行科大VS万能科大(12/2)(男) + + + 113学年度富邦人寿UBA大专篮球联赛 LIVE虎尾科大VS中原大学(12/2)(男) + + + 113学年度富邦人寿UBA大专篮球联赛 LIVE国立体大VS高雄师大(12/2)(男) + + + 113学年度富邦人寿UBA大专篮球联赛 LIVE台湾体大VS义守大学(12/2)(男) + + + 2024棒球周报(二) + + + 2024棒球周报(二) + + + 天龙八部 + + + 天龙八部 + + + 纬来综合台 + + + 大胃女王吃遍日本 + + + 爆食姐妹吃透透 + + + 惊天岳雷 + + + 花甲少年趣旅行 + + + 爆食姐妹吃透透福尔耳温枪 + + + 甄心分享小琳铛 + + + 女王大人 + + + 大胃女王吃遍日本 + + + 呷好逗相挺 + + + 武媚娘传奇 + + + 武媚娘传奇 + + + 女王大人 + + + 住宅改造王 + + + 一字千金 + + + 爆食姐妹吃透透福尔耳温枪 + + + 武媚娘传奇 + + + 武媚娘传奇 + + + 女王大人 + + + 一字千金 + + + 吃遍日本美食 + + + 住宅改造王 + + + 纬来音乐台 + + + 大丫鬟 + + + 温来趣韩国打卡 + + + 2023-2024 T1职业篮球联盟 + + + 2024 BFA亚洲U18青棒锦标赛 + + + 食分绝配 + + + 酷旅店 + + + 女王大人2 + + + 换身密谋 + + + 聪明过生活 + + + 温来趣韩国打卡 + + + 非常食嗑 + + + 发现北纬30度 + + + 神医喜来乐传奇福尔耳温枪 + + + 呷好逗相挺 + + + 廉石传奇 + + + 发现北纬30度 + + + 温来趣韩国打卡 + + + 廉石传奇 + + + 酷旅店 + + + 廉石传奇 + + + 纯享4K + + + 记住乡愁4K第八季 化屋村——悬崖之下 苗歌悠扬 + + + 记住乡愁4K第八季 三澳村——“彩虹海”上话丰年 + + + 乐享汇4K “新的唱响”演唱会(21) + + + 如果国宝会说话4K 鸮尊 一只猫头鹰的待遇 + + + 魅力塞尔维亚4K 第1集 十字路口 + + + 魅力塞尔维亚4K 第2集 浴火重生 + + + 寻古中国4K 寻夏记b7华夏青铜 + + + 寻古中国4K 寻夏记b7夏礼赓续 + + + 远方的家4K 长江行 金沙江边话永胜 + + + 远方的家4K 长江行 古韵夔州 精诚奉节 + + + 探索b7发现4K 探秘三星堆 第8集 + + + 了不起的冬天4K 第1集 速度的艺术 + + + 了不起的冬天4K 第2集 默契 + + + 鲜生史4K 第5集 苏轼 系恋一生的家乡味 + + + 味道4K 下饭菜b7绵阳篇 + + + 味道4K 原味乡间b7德江篇 上 + + + 记住乡愁4K第八季 化屋村——悬崖之下 苗歌悠扬 + + + 记住乡愁4K第八季 三澳村——“彩虹海”上话丰年 + + + 乐享汇4K “新的唱响”演唱会(21) + + + 魅力塞尔维亚4K 第1集 十字路口 + + + 魅力塞尔维亚4K 第2集 浴火重生 + + + 寻古中国4K 寻夏记b7华夏青铜 + + + 寻古中国4K 寻夏记b7夏礼赓续 + + + 远方的家4K 长江行 金沙江边话永胜 + + + 远方的家4K 长江行 古韵夔州 精诚奉节 + + + 美丽中国自然4K 亚洲象国家公园系列 生命的奔流 + + + 探索b7发现4K 探秘三星堆 第8集 + + + 了不起的冬天4K 第1集 速度的艺术 + + + 了不起的冬天4K 第2集 默契 + + + 鲜生史4K 第5集 苏轼 系恋一生的家乡味 + + + 味道4K 下饭菜b7绵阳篇 + + + 味道4K 原味乡间b7德江篇 上 + + + 记住乡愁4K第八季 化屋村——悬崖之下 苗歌悠扬 + + + 记住乡愁4K第八季 三澳村——“彩虹海”上话丰年 + + + 乐享汇4K “新的唱响”演唱会(21) + + + 绍兴公共 + + + 精彩呈现 + + + 日新越异(重播) + + + 师爷说新闻(重播) + + + 醉美越城(重播) + + + 电视剧 + + + 有房有车(重播) + + + 真话难听(重播) + + + 电视剧 + + + 电视剧 + + + 广告 + + + 晚间节目预告 + + + 新老娘舅 + + + 有房有车 + + + 真话难听 + + + 醉美越城 + + + 越城新闻 + + + 7点强档剧场 + + + 7点强档剧场 + + + 师爷说新闻 + + + 越城新闻(重播) + + + 醉美越城(重播) + + + 有房有车(重播) + + + 新老娘舅(重播) + + + 天气预报 + + + 电视剧 + + + 绍兴文化影视 + + + 精彩呈现 + + + 白天节目预告 + + + 连续剧 + + + 连续剧 + + + 连续剧 + + + 广游天下(重播) + + + 连续剧 + + + 连续剧 + + + 连续剧 + + + 晚间节目预告 + + + 风尚生活/有房有车 + + + 广游天下师母说家装 + + + 新莲花剧场 天天看大戏 + + + 小兰花 + + + 七咕咙咚呛 + + + 电视剧 + + + 连续剧 + + + 连续剧 + + + 七咕咙咚呛 + + + 传奇 + + + 绍兴新闻综合 + + + 精彩呈现 + + + 白天节目预告 + + + 绍兴新闻联播 + + + 专题 + + + 电视剧 + + + 电视剧 + + + 电视剧 + + + 绍兴新闻联播 + + + 电视剧 + + + 电视剧 + + + 电视剧 + + + 专题 + + + 晚间节目预告 + + + 第一剧场 + + + 有房有车 + + + 天气预报 + + + 方圆视点 + + + 滨海新闻 + + + 绍兴新闻联播 + + + 天气预报 + + + 转中央台新闻联播 + + + 黄金剧场 + + + 黄金剧场 + + + 全媒体时空 + + + 滨海新闻(重播) + + + 绍兴新闻联播(重播) + + + 天气预报 + + + 方圆视点 + + + 精英剧场 + + + 经典剧场 + + + 电视剧 + + + 阳光剧场三集连播 + + + 电视剧 + + + 精彩视点 + + + 电视剧 + + + 精彩视点 + + + 电视剧 + + + 电视剧 + + + 电视剧 + + + 精彩视点 + + + 舞花剧场三集连播 + + + 精彩视点 + + + 阳光剧场三集连播 + + + 精彩视点 + + + 情感剧场两集连播 + + + 红树林剧场三集连播 + + + 精彩视点 + + + 都市剧场两集连播 + + + 精彩视点 + + + 青春剧场两集连播 + + + 精彩视点 + + + 黄金剧场三集连播 + + + 经济科教 + + + 经视1线 + + + 探索 + + + 观点财经 + + + 南方财经报道 + + + 经视1线 + + + 探索 + + + 广东印记 + + + 大揭秘 + + + 真实故事 + + + 广东印记 + + + 岭南大医生 + + + 经视1线 + + + 南方财经报道 + + + 剧场 + + + 剧场 + + + 剧场 + + + 岭南大医生 + + + 经视1线 + + + 南方财经报道 + + + 岭南大医生 + + + 剧场 + + + 校园集结号 + + + 剧场 + + + 剧场 + + + 剧场 + + + 南方财经报道 + + + 经视1线 + + + 岭南大医生 + + + 剧场 + + + 大揭秘 + + + 经视1线 + + + 绵阳影视科技 + + + 全天节目导视 + + + 健康绵阳(重播) + + + 看中国 + + + 奋斗(首播) + + + 多彩剧场 + + + 国际时尚汇(重播) + + + 资料栏目 + + + 青春剧场 + + + 传奇(首播) + + + 乡韵绵州 + + + 文化中国(重播) + + + 快乐星球(首播) + + + 剧乐绵州剧场 + + + 大片品鉴汇 + + + 绵阳新闻综合 + + + 重播绵阳新闻 + + + 资料栏目 + + + 早间剧场 + + + 重播绵阳好人 + + + 重播绵阳新闻 + + + 国际时尚汇 + + + 人文中国 + + + 午后剧场 + + + 乡韵绵州 + + + 阳光政务 + + + 交通全接触 + + + 两区新闻 + + + 转播中央台新闻联播 + + + 绵阳新闻,天气预报 + + + 绵州剧场 + + + 宜居绵阳 + + + 重播天天800 + + + 晚间剧场 + + + 综合体育 + + + 英超赛场-24/25赛季英超 第13轮 利物浦-曼城 直播 + + + 频道宣传 + + + 国球荣耀-WTT中国大满贯 女双 决赛 + + + 欧陆足球版图 + + + 足球世界-24/25赛季意甲 第14轮 莱切-尤文图斯 直播 + + + 频道宣传 + + + 足球世界-24/25赛季意甲 第13轮 AC米兰-尤文图斯 + + + 咪咕体育日报 + + + 频道宣传 + + + 欧陆足球版图 + + + 国球荣耀-WTT法兰克福冠军赛 女单 半决赛 + + + 国球荣耀-WTT法兰克福冠军赛 女单 决赛 + + + 欧陆足球版图 + + + 频道宣传 + + + 足球世界-24/25赛季西甲 第13轮 皇家马略卡-马德里竞技 + + + 频道宣传 + + + 足球世界-24/25赛季意甲 第12轮 尤文图斯-都灵 + + + 频道宣传 + + + 温格:不败之师 + + + 频道宣传 + + + UFC第303期主赛 + + + 频道宣传 + + + 英超赛场-24/25赛季英超 第12轮 曼城-托特纳姆热刺 + + + 频道宣传 + + + 足球世界-24/25赛季西甲 第13轮 皇家马德里-奥萨苏纳 + + + 国球荣耀-WTT法兰克福冠军赛 女单 半决赛 + + + 美亚电影 + + + 瘦虎肥龙 + + + 千机变 + + + 一个烂赌的传说 + + + 一个烂赌的传说 + + + 老表发钱寒 + + + 意外的恋爱时光 + + + 精装难兄难弟 + + + 战神传说 + + + 顺流逆流 + + + 大武当 + + + 孩子的天空 + + + 野良犬 + + + Perfect World ~与他一起的奇蹟~ + + + 摆渡人 + + + O记三合会档案 + + + 翡翠台 + + + 宣傳易[粵] + + + 東張西望[粵] + + + 宣傳易[粵] + + + 古城百景[粵/日] + + + 上食堂 2[粵/普] + + + 歐洲鐵騎遊[粵][PG] + + + 甜心教室[粵] + + + 反斗紅星冇暑假 打工唔捱世界[粵] + + + 雙祥見[粵] + + + 肥媽李鼎[粵] + + + 到此一遊[粵] + + + 到此一遊[粵] + + + 香港早晨[粵] 及 交通消息[粵] + + + 香港早晨[粵] 及 交通消息[粵] + + + 香港早晨[粵] 及 交通消息[粵] + + + 香港早晨[粵] 及 跨境理財新機遇[粵] + + + 交易現場[粵] + + + 勁歌推介[粵] + + + 公私三文治#20[粵] + + + 無心法師#18[粵/普][PG] + + + 宣傳易[粵] + + + 交易現場[粵] 及 潮流生活誌[粵] + + + 新派煮意[粵] + + + 宣傳易[粵] + + + 跨境理財新機遇[粵] + + + 午間新聞[粵] + + + 流行都市[粵] + + + 宣傳易[粵] + + + 純熟意外#18[粵][PG] + + + 交易現場[粵] + + + 寶石寵物[粵/日] + + + Hands Up[粵] + + + 多啦A夢[粵] + + + 財經新聞[粵] + + + 今日有樓睇[粵] 及 潮流生活誌[粵] + + + 新聞檔案[粵] + + + 六點半新聞報道[粵] + + + 世界觀[粵] 及 天氣報告[粵] + + + 有理說得清[粵] 及 香港機遇新里程[粵] + + + 跨境理財新機遇[粵] + + + 東張西望[粵] + + + 愛.回家之開心速遞#2437[粵] + + + 異空感應#6[粵][PG] + + + 黑色月光#24[粵][PG] + + + 與天地對話[粵] + + + 娛樂頭條[粵] 及 環球新聞檔案[粵] + + + 晚間新聞[粵] 及 香港機遇新里程[粵] + + + 新聞檔案[粵] + + + 天氣報告[粵] 及 潮流生活誌[粵] + + + 使徒行者3#12[粵][PG] + + + 老故事 + + + 寻记时代匠人 + + + 寻记时代匠人 + + + 寻记时代匠人 + + + 衣之美(4) + + + 衣之美(4) + + + 衣之美(4) + + + 亲历:大武汉(3) + + + 中国影像志:贵阳故事(4) + + + 重访:丁武老师的故事 + + + 岁月丹青:钱绍武 + + + 岁月丹青:钱绍武 + + + 中华文明:内长城、盛世乐舞等 + + + 国货品牌:锁住面容的青春 + + + 品质中国:品效合精彩无限 + + + 品质中国:恪守品质传承美味 + + + 亲历:大武汉(4) + + + 信用中国:喻咏梅 + + + 往事钩沉:北洋水师(1) + + + 纪录:伊文思眼中的中国(1) + + + 人文地图:大宗师之孔子与泰山 + + + 中华文明:程阳桥、侗族村寨等 + + + 岁月丹青:王琦 + + + 衣之美(6) + + + 亲历:大武汉(3) + + + 中国影像志:贵阳故事(4) + + + 重访:丁武老师的故事 + + + 岁月丹青:钱绍武 + + + 中华文明:内长城、盛世乐舞等 + + + 国货品牌:锁住面容的青春 + + + 品质中国:品效合精彩无限 + + + 品质中国:恪守品质传承美味 + + + 非凡匠人:睿电应急智慧新视界 + + + 非凡匠人:抓到成功 + + + 衣之美(5) + + + 亲历:大武汉(4) + + + 信用中国:喻咏梅 + + + 往事钩沉:北洋水师(1) + + + 纪录:伊文思眼中的中国(1) + + + 人文地图:大宗师之孔子与泰山 + + + 中华文明:程阳桥、侗族村寨等 + + + 岁月丹青:王琦 + + + 衣之美(6) + + + 亲历:大武汉(3) + + + 中国影像志:贵阳故事(4) + + + 重访:丁武老师的故事 + + + 岁月丹青:钱绍武 + + + 中华文明:内长城、盛世乐舞等 + + + 国货品牌:锁住面容的青春 + + + 品质中国:品效合精彩无限 + + + 肇庆新闻 + + + 动画片 + + + 肇庆新闻(重播) + + + 民生007(重播) + + + 上午剧场 + + + 西江讲坛 + + + 肇庆新闻 + + + 端州视线 + + + 午间剧场 + + + 广东新闻联播 + + + 转播中央台新闻联播 + + + 肇庆新闻 + + + 天气预报 + + + 高要视线 + + + 怀集视点 + + + 肇庆红色记忆 + + + 肇庆新闻 + + + 精品剧场 + + + 肇庆新闻 + + + 民生007 + + + 肇庆生活服务 + + + 卡通天地 + + + 早间剧场 + + + 肇庆新闻 + + + 民生007 + + + 百姓剧场 + + + 肇庆新闻 + + + 大众剧场 + + + 西江讲坛 + + + 民生007 + + + 肇庆红色记忆 + + + 至尊剧场 + + + 天气预报 + + + 高要视线 + + + 怀集视点 + + + 家庭剧场 + + + 苏州文化生活 + + + 精彩呈现 + + + 魅力剧场无所畏惧(38-39) + + + 纪录片时间 + + + 情感剧场狂飙(2-4) + + + 生活剧场去有风的地方(10-11) + + + 纪录片时间 + + + 教育节目 + + + 五星剧场不可能完成的任务(45-46) + + + 纪录片时间 + + + 第一健康 + + + 食客准备 + + + 苏州财经报道 + + + 第一时间 + + + 直播苏州 + + + 苏州文化生活-苏州新闻综合-苏州生活资讯-苏州社会经济 + + + 都市养生佳 + + + 剧场 + + + 测试卡 + + + 第一现场 + + + 早安深圳 + + + 1时间 + + + 小鼓大戏 + + + 葛洪养生苑 + + + 法观天下 + + + 苏州新闻综合 + + + 纪录发现 + + + 电视剧 + + + 苏州新闻 + + + 电视剧 + + + 健康黄丝带 + + + 新闻夜班车 + + + 电视剧 + + + 联播苏州 + + + 世界大观 + + + 长篇评话 + + + 第一时间 + + + 乐活六点档 + + + 苏州新闻 + + + 新闻联播 + + + 电视剧 + + + 新闻夜班车 + + + 苏州要闻 + + + 联播苏州 + + + 苏州财经报道 + + + 纪录发现 + + + 苏州生活资讯 + + + 精彩呈现 + + + 吴中报道 + + + 早间剧场天下长河(16-20) + + + 联播苏州 + + + 宝贝看鉴 + + + 休闲剧场熟年(6-11) + + + 苏州电视书场蒋云仙 + + + 食客准备 + + + 第一健康 + + + 吴中报道 + + + 联播苏州 + + + 李刚评话 + + + 第一时间 + + + 苏州财经报道 + + + 吴中报道 + + + 青春剧场骊歌行(55) + + + 光芒(1) + + + 再见 + + + 茂名公共 + + + 荔园剧场 + + + 动画片 + + + 一线新闻 + + + 百姓连线 + + + 大连播 + + + 影视界 + + + 茂名新闻联播 + + + 荔园剧场 + + + 茂名综合 + + + 晚间剧场 + + + 百姓连线 + + + 转中央台新闻联播 + + + 茂名新闻联播 + + + 新闻聚焦 + + + 天天剧场 + + + 国际时装欣赏 + + + 晚间剧场 + + + + + + 茶闻天下 + + + 倩倩直播间精编版 + + + 遇见茶 + + + 茶闻天下 + + + 洞察 + + + 加油吧,茶艺师 + + + 蹭茶 + + + 雅市茶空间 + + + 茶闻天下 + + + 最美茶艺师 + + + 雅市茶空间 + + + 茶闻天下 + + + 茗声大震 + + + 遇见茶 + + + 蹭茶 + + + 茯茶学院 + + + 加油吧,茶艺师 + + + 蹭茶 + + + 茶闻天下 + + + 洞察 + + + 最美茶艺师 + + + 莆田一套 + + + 有味有醋 + + + 秋生讲古 + + + 专题节目 + + + 歌曲《天下妈祖》 + + + 国歌 + + + 莆田新闻联播 + + + 今日视线 + + + 专题节目 + + + 健康生活 + + + 平凡之路 (27、28、29、30) + + + 歌曲《天下妈祖》 + + + 公益在身边 + + + 莆田新闻联播 + + + 今日视线 + + + 大家说法 + + + 专题节目 + + + 警察荣誉 (25、26、27、28) + + + 动画片 + + + 歌曲《天下妈祖》 + + + 妈祖髻教程 + + + 秋生讲古 + + + 今日视线 + + + 专题节目 + + + 转播中央台新闻联播 + + + 转播福建新闻联播 + + + 莆田新闻联播 + + + 蝶变 + + + 专题节目 + + + 有味有醋 + + + 今日视线 + + + 天气预报 + + + 莆田新闻联播 + + + 专题节目 + + + 妈祖髻教程 + + + 专题节目 + + + 今日视线 + + + 莆田二套 + + + 仙游新闻 + + + 荔城新闻 + + + 城厢新闻 + + + 涵江新闻 + + + 秀屿新闻 + + + 北岸新闻 + + + 国歌 + + + 健康生活 + + + 医保近距离 + + + 秋生讲古 + + + 有味有醋 + + + 健康生活 + + + 探寻古树名木 + + + 大家说法 + + + 医保近距离 + + + 秋生讲古 + + + 有味有醋 + + + 健康生活 + + + 探寻古树名木 + + + 大家说法 + + + 医保近距离 + + + 有味有醋 + + + 主播带你游绶溪 + + + 仙游新闻 + + + 荔城新闻 + + + 城厢新闻 + + + 涵江新闻 + + + 秀屿新闻 + + + 北岸新闻 + + + 主播带你游绶溪 + + + 秋生讲古 + + + 《莆仙戏剧场》七奶奶进京 + + + 大家说法 + + + 有味有醋 + + + 奇幻谜瑞岛(15、16) + + + 仙游新闻 + + + 荔城新闻 + + + 城厢新闻 + + + 涵江新闻 + + + 秀屿新闻 + + + 北岸新闻 + + + 天气预报 + + + 主播带你游绶溪 + + + 有味有醋 + + + 秋生讲古 + + + 健康生活 + + + 旅游气象 + + + 大家说法 + + + 主播带你游绶溪 + + + 海洋气象 + + + 仙游新闻 + + + 荔城新闻 + + + 城厢新闻 + + + 涵江新闻 + + + 秀屿新闻 + + + 北岸新闻 + + + 天气预报 + + + 照亮你 (32、33) + + + 旅游气象预报 + + + 蒙语卫视 + + + 索艺乐 + + + 环球30分 + + + 内蒙古新闻 + + + 晚间新闻 + + + 午夜剧场 + + + 午间剧场 + + + 环球30分 + + + 标准语会话 + + + 每周一歌 + + + 乌力格尔 + + + 索伦嘎 + + + 重播中央台新闻联播 + + + 早间新闻 + + + 落地城市天气预报 + + + 早间新闻 + + + 上午剧场 + + + 文体大看台 + + + 索伦嘎 + + + 环球30分 + + + 午间新闻 + + + 内蒙古天气预报 + + + 乌力格尔 + + + 午间新闻 + + + 午间剧场 + + + 索伦嘎 + + + 下午剧场 + + + 文化时尚 + + + 索伦嘎 + + + 动画片 + + + 娜荷芽 + + + 内蒙古新闻 + + + 文化时尚 + + + 重播中央台新闻联播 + + + 藏语卫视 + + + 温暖的村庄 + + + 温暖的村庄 + + + 温暖的村庄 + + + 健康西藏 + + + 健康西藏主题曲 + + + 宣传片 + + + 西藏新闻联播 + + + 宣传片 + + + 推手 + + + 推手 + + + 推手 + + + 推手 + + + 藏地悟语 + + + 宣传片 + + + 国歌 + + + 宣传片 + + + 新闻联播 + + + 宣传片 + + + 健康西藏 + + + 健康西藏主题曲 + + + 宣传片 + + + 康巴语新闻 + + + 宣传片 + + + 导视 + + + 奋进的旋律 + + + 电视购物 + + + 奋进的旋律 + + + 宣传片 + + + 西藏新闻联播 + + + 电视购物 + + + 奋进的旋律 + + + 电视购物 + + + 奋进的旋律 + + + 电视购物 + + + 奋进的旋律 + + + 电视购物 + + + 宣传片 + + + 译天下 + + + 午间天气预报 + + + 信息窗口 + + + 宣传片 + + + 电视购物 + + + 导视 + + + 湾区儿女 + + + 电视购物 + + + 湾区儿女 + + + 电视购物 + + + 湾区儿女 + + + 电视购物 + + + 湾区儿女 + + + 宣传片 + + + 湾区儿女 + + + 广告 + + + 宣传片 + + + 邦锦梅朵 + + + 广告 + + + 康巴语新闻 + + + 宣传片 + + + 新闻联播 + + + 广告 + + + 宣传片 + + + 广告 + + + 天气预报 + + + 导视 + + + 广告 + + + 黄大妮 + + + 广告 + + + 黄大妮 + + + 广告 + + + 宣传片 + + + 跟我学普通话 + + + 宣传片 + + + 西藏新闻联播 + + + 广告 + + + 天气预报 + + + 广告 + + + 跟我学普通话 + + + 信息窗口 + + + 宣传片 + + + 广告 + + + 译天下 + + + 导视 + + + 温暖的村庄 + + + 西宁生活 + + + 吃香喝辣 + + + 夏都美居秀(重播) + + + 开机版 + + + 夏都美居秀(重播) + + + 阳光剧场 + + + 养生坊(重播) + + + 陇上直通车(重播) + + + 一起动起来(重播) + + + 夏都美居秀(重播) + + + 夏都特训营午间版(重播) + + + 吃香喝辣(重播) + + + 电视剧场 + + + 一起去旅游(重播) + + + 吃香喝辣 + + + 夏都特训营晚间版 + + + 生活剧场 + + + 垄上直通车 + + + 吃香喝辣 + + + 有请当事人 + + + 电视剧场 + + + 一起去旅游 + + + 养生坊 + + + 西宁综合 + + + 空中特卖场 + + + 夏都金融在线 + + + 夏都说法 + + + 开机版 + + + 夏都地产 + + + 夏都零距离 + + + 零距离关注 + + + 空中特卖场 + + + 空中特卖场 + + + 夏都说法 + + + 空中特卖场 + + + 超级有道 + + + 第一资讯 + + + 夏都新闻联播 + + + 夏都零距离 + + + 零距离关注 + + + 夏都说法 + + + 空中特卖场 + + + 空中特卖场 + + + 零距离关注 + + + 超级有道 + + + 夏都零距离 + + + 夏都新闻联播 + + + 天气预报 + + + 转播中央台新闻联播 + + + 绿色家园 + + + 夏都说法 + + + 超级有道 + + + 夏都金融在线 + + + 夏都新闻联播 + + + 夏都零距离 + + + 第一资讯 + + + 夏都地产 + + + 西安丝路 + + + 奇趣大自然 + + + 探索 + + + 快乐旅游 + + + 健康播报 + + + 快乐冲冲冲 + + + 快乐汇 + + + 健康播报 + + + 快乐冲冲冲 + + + 奇趣大自然 + + + 奇趣大自然 + + + 电视剧 + + + 快乐汇 + + + 时尚健康 + + + 奇趣大自然 + + + 电视剧 + + + 健康播报 + + + 快乐旅游 + + + 西安新闻 + + + 探索 + + + 大赢家 + + + 西安商务资讯 + + + 电视剧 + + + 登峰谝吃 + + + 非常访谈 + + + 视野 + + + 口述 + + + 电视剧 + + + 电视剧 + + + 电视剧 + + + 口述 + + + 气象播报 + + + 非常访谈 + + + 新闻联播 + + + 狼行天下 + + + 电视剧 + + + 狼行天下 + + + 福从天降 + + + 西安新闻 + + + 西安商务资迅 + + + 电视剧 + + + 登峰谝吃 + + + 非常访谈 + + + 视野 + + + 口述 + + + 电视剧 + + + 电视剧 + + + 电视剧 + + + 口述 + + + 气象播报 + + + 非常访谈 + + + 新闻联播 + + + 狼行天下 + + + 电视剧 + + + 狼行天下 + + + 福从天降 + + + 西安新闻 + + + 西安影视 + + + 电视剧 + + + 探索 + + + 好好生活重播 + + + 电影全色彩重播 + + + 娱乐同步西安重播 + + + 影迷俱乐部 + + + 电视剧 + + + 影迷俱乐部重播 + + + 西安零距离重播 + + + 青春加气站重播 + + + 娱乐同步西安重播 + + + 卡通剧场 + + + 青春加气站 + + + 娱乐同步西安 + + + 电影全色彩 + + + 电视剧 + + + 电影全色彩重播 + + + 青春加气站重播 + + + 娱乐同步西安重播 + + + 西安新闻综合 + + + 电视剧 + + + 电视剧 + + + 晨曲 + + + 西安新闻 + + + 直播西安重播 + + + 时事关天重播 + + + 电视剧 + + + 城市记录 + + + 午间新闻 + + + 直播西安重播 + + + 新闻夜总汇 + + + 电视剧 + + + 今日西安 + + + 大秦腔 + + + 直播西安 + + + 新闻夜总汇 + + + 关注 + + + 西安新闻 + + + 电视剧 + + + 晚间新闻 + + + 时事关天 + + + 点击TV + + + 新闻夜总汇 + + + 西安移动电视 + + + 劲爆点 + + + 时装国际 + + + MTV学英语 + + + 音乐风云榜 + + + 老唱片 + + + 音乐无限 + + + 娱乐同步西安 + + + 我爱音乐 + + + 梨园大擂台 + + + 时尚风云榜 + + + 音乐风行榜 + + + 娱乐纵天下 + + + 亚洲音乐中心 + + + 音乐无限 + + + 娱乐中心 + + + 劲爆点 + + + 时尚俱乐部 + + + MTV天籁村 + + + 淑女大学堂 + + + 明星 + + + 城市周刊 + + + 医患心连心 + + + 时尚俱乐部 + + + 音乐风云榜 + + + 时尚风云榜 + + + 音乐天空 + + + 娱乐中心 + + + 音乐无限 + + + 艺海人生 + + + 中国影音广场 + + + 明星 + + + MTV学英语 + + + 梨园大擂台 + + + 西安都市 + + + 电视剧 + + + 青春加气站 + + + 娱乐同步西安 + + + 电影全色彩 + + + 快乐旅游 + + + 电视剧 + + + 西安零距离 + + + 好好生活 + + + 电视剧 + + + 关注 + + + 健康播报 + + + 好好生活 + + + 西安故事 + + + 电视剧 + + + 西安故事 + + + 西安零距离 + + + 天气预报 + + + 西湖明珠 + + + 小重逢(44) + + + 小重逢(45) + + + 小重逢(46) + + + 小重逢(43) + + + 小重逢(44) + + + 小重逢(45) + + + 开心茶馆 + + + 开心茶馆 + + + 开心茶馆 + + + 警界41 + + + 警界41 + + + 今日汽车 + + + 最好的我们 + + + 小重逢(46) + + + 小区大事 + + + 小区大事 + + + 小区大事 + + + 花女的抗战(25) + + + 明珠新闻 + + + 花女的抗战(26) + + + 今日最大牌 + + + 今日最大牌 + + + 今日最大牌 + + + 今日最大牌 + + + FIH女子曲棍球世界超级联赛开幕 + + + 2024FIH女子曲棍球世界超级联赛 + + + 阿六头说新闻 + + + 花女的抗战(27) + + + 健康生活圈 + + + 气象 + + + 明珠新闻 + + + 和事佬 + + + 和事佬 + + + 和事佬 + + + 开心茶馆 + + + 今日最大牌 + + + 阿六头说新闻 + + + 健康生活圈 + + + 房产零距离 + + + 小重逢(47) + + + 爱乐时间 + + + 西藏卫视 + + + 狂飙(35) + + + 狂飙(36) + + + 跟我学藏语 + + + 珠峰讲堂 + + + 爱拼会赢(17) + + + 爱拼会赢(18) + + + 西藏新闻联播 + + + 人间正道是沧桑(27) + + + 人间正道是沧桑(27) + + + 人间正道是沧桑(28) + + + 经营栏目 + + + 雪豹(12) + + + 创收栏目 + + + 宣传片 + + + 雪豹(13) + + + 创收栏目 + + + 创收栏目 + + + 宣传片 + + + 跟我学藏语 + + + 西藏新闻联播 + + + 西游记续(15) + + + 创收栏目 + + + 西游记续(16) + + + 创收栏目 + + + 亮剑(1) + + + 创收栏目 + + + 亮剑(2) + + + 创收栏目 + + + 午间新闻 + + + 西藏诱惑 + + + 大侠霍元甲(15) + + + 创收栏目 + + + 午间新闻 + + + 大侠霍元甲(16) + + + 创收栏目 + + + 大侠霍元甲(17) + + + 创收栏目 + + + 大侠霍元甲(18) + + + 创收栏目 + + + 邦锦梅朵:动画乐园 + + + 转播中央台新闻联播 + + + 西藏新闻联播 + + + 大决战(32) + + + 大决战(33) + + + 读·行·西藏 + + + 西藏诱惑 + + + 西藏新闻联播 + + + 经营栏目 + + + 西藏影视文化 + + + 广告19 + + + 西藏新闻联播 + + + (台标)频道宣传片 + + + 宣传片 + + + 广告1 + + + 沸腾人生 + + + 宣传片 + + + 广告2 + + + 沸腾人生 + + + 宣传片 + + + 广告3 + + + 沸腾人生 + + + 宣传片 + + + 广告4 + + + 沸腾人生 + + + 宣传片 + + + 广告5 + + + 人生之路 + + + 宣传片 + + + 广告6 + + + 人生之路 + + + 宣传片 + + + 有房有车 + + + 宣传片 + + + 好生活 + + + 宣传片 + + + 广告7 + + + 江山美人 + + + 今晚九点 + + + 宣传片 + + + 广告8 + + + 玫瑰之战 + + + 宣传片 + + + 广告9 + + + 玫瑰之战 + + + 宣传片 + + + 广告10 + + + 玫瑰之战 + + + 宣传片 + + + 广告11 + + + (台标)频道宣传片 + + + 西藏诱惑 + + + 宣传片 + + + 广告12 + + + 江山美人 + + + 广告13 + + + 宣传片 + + + 天气预报 + + + 宣传片 + + + 有房有车 + + + 宣传片 + + + 健康与生活 + + + 宣传片 + + + 广告14 + + + 今晚九点 + + + 广告15 + + + 宣传片 + + + 好生活 + + + 宣传片 + + + 广告16 + + + 玫瑰之战 + + + 宣传片 + + + 广告17 + + + 玫瑰之战 + + + 宣传片 + + + 广告18 + + + 三体 + + + 西藏藏语卫视 + + + 凌晨剧场 + + + 凌晨剧场 + + + 凌晨剧场 + + + 西藏新闻联播 + + + 凌晨剧场 + + + 凌晨剧场 + + + 凌晨剧场 + + + 《最美西藏》 + + + 两学一做(宣) + + + 央视新闻联播 + + + 西藏新闻联播 + + + 《多彩舞台》 + + + 《译天下》 + + + 中国梦西藏故事 + + + 上午剧场 + + + 上午剧场 + + + 上午剧场 + + + 电视购物 + + + 上午剧场 + + + 西藏应急宣传片 + + + 《周末影院》 + + + 电视购物 + + + 《午间天气预报》 + + + 《健康之友》 + + + 西藏应急宣传片 + + + 下午剧场 + + + 下午剧场 + + + 下午剧场 + + + 下午剧场 + + + 下午剧场 + + + 《多彩舞台》 + + + 《我们》 + + + 《青稞风》 + + + 《邦锦梅朵》 + + + 《天气预报》 + + + 黄金剧场:请你原谅我 + + + 黄金剧场:请你原谅我 + + + 央视新闻联播 + + + 西藏新闻联播 + + + 《天气预报》 + + + 《我们》 + + + 《青稞风》 + + + 腾飞梦想 + + + 《译天下》 + + + 中国梦西藏故事 + + + 证券资讯 + + + 证券时间 + + + 证券时间 + + + 闫知有理 + + + 股道秦来 + + + 闫知有理 + + + 股道秦来 + + + 闫知有理 + + + 股道秦来 + + + 闫知有理 + + + 证券时间 + + + 证券时间 + + + 证券时间 + + + 证券时间 + + + 股道秦来 + + + 证券时间 + + + 证券时间 + + + 证券时间 + + + 证券时间 + + + 证券时间 + + + 证券时间 + + + 象视界 + + + 中国节日节气奇妙游精选1 + + + 中国节日节气奇妙游精选2 + + + 中国节日节气奇妙游精选3 + + + 中国节日节气奇妙游精选4 + + + 中国节日节气奇妙游精选5 + + + 中国节日节气奇妙游精选6 + + + 中国节日节气奇妙游精选7 + + + 中国节日节气奇妙游精选8 + + + 中国节日节气奇妙游精选9 + + + 中国节日节气奇妙游精选1 + + + 中国节日节气奇妙游精选2 + + + 中国节日节气奇妙游精选3 + + + 中国节日节气奇妙游精选4 + + + 中国节日节气奇妙游精选5 + + + 中国节日节气奇妙游精选6 + + + 中国节日节气奇妙游精选7 + + + 中国节日节气奇妙游精选8 + + + 中国节日节气奇妙游精选9 + + + 中国节日节气奇妙游精选1 + + + 中国节日节气奇妙游精选2 + + + 中国节日节气奇妙游精选3 + + + 中国节日节气奇妙游精选4 + + + 中国节日节气奇妙游精选5 + + + 中国节日节气奇妙游精选6 + + + 财富天下 + + + 投资100问 + + + 匠谈 + + + 聚焦涨幅榜 + + + 缠友说势 + + + 全天节目结束 + + + 全天节目结束 + + + 全天节目结束 + + + 匠谈 + + + 聚焦涨幅榜 + + + 牛眼寻金 + + + 投资100问 + + + 主力第一线 + + + 财富e视界 + + + 主力第一线 + + + 资金为王 + + + 财经热搜 + + + 财富e视界 + + + 投资100问 + + + 股市全攻略 + + + 主力第一线 + + + 资金为王 + + + 牛眼寻金 + + + 实战派 + + + 名家指路 + + + 财经热搜 + + + 股市全攻略 + + + 投资100问 + + + 聚焦涨幅榜 + + + 牛眼寻金 + + + 资金为王 + + + 主力第一线 + + + 财经热搜 + + + 投资100问 + + + 股市全攻略 + + + 聚焦涨幅榜 + + + 贵州乡村生态 + + + 纪录片 + + + 山海同心 + + + 农科课堂 + + + 茶香贵州 + + + 纪录片 + + + 纪录片 + + + 山海同心 + + + 农科课堂 + + + 茶香贵州 + + + 纪录片 + + + 纪录片 + + + 山海同心 + + + 农科课堂 + + + 农科课堂 + + + 茶香贵州 + + + 纪录片 + + + 纪录片 + + + 农科课堂 + + + 剧场 + + + 栏目 + + + 剧场 + + + 栏目 + + + 剧场 + + + 栏目 + + + 剧场 + + + 栏目 + + + 剧场 + + + 栏目 + + + 茶香贵州 + + + 山海同心 + + + 剧场 + + + 栏目 + + + 剧场 + + + 栏目 + + + 剧场 + + + 栏目 + + + 剧场 + + + 栏目 + + + 剧场 + + + 栏目 + + + 剧场 + + + 栏目 + + + 剧场 + + + 栏目 + + + 剧场 + + + 栏目 + + + 纪录片 + + + 贵州三农 + + + 山海同心 + + + 农科课堂 + + + 剧场 + + + 栏目 + + + 剧场 + + + 栏目 + + + 贵州三农 + + + 山海同心 + + + 纪录片 + + + 纪录片 + + + 贵州公共 + + + 百姓旅游 + + + 百姓财经 + + + 第二放映室 + + + 电视剧场 + + + 第二放映室 + + + 家园美居 + + + 电视剧场 + + + 天天来帮忙 + + + 百姓关注 + + + 百姓财经 + + + 第二放映室 + + + 家园美居 + + + 退休好生活 + + + 天天来帮忙 + + + 百姓关注 + + + 新闻今日谈 + + + 非常友茗堂 + + + 第二放映室 + + + 家园 + + + 贵州卫视 + + + 贵州新闻联播 + + + 贵州新闻联播 + + + 多彩贵州旅游天气导航 + + + 小敏家(20) + + + 小敏家(21) + + + 酱香原产地 + + + 论道 + + + 小敏家(22) + + + 小敏家(23) + + + 沸腾吧火锅2:最爱杂碎-北京卤煮火锅 + + + 沸腾吧火锅2:最爱杂碎-湖北荆州鱼杂火锅 + + + 贵州新闻联播 + + + 中华人民共和国国歌 + + + 等着我 + + + 开心超人联盟之平行时空大冒险:猫咪救援队 + + + 开心超人联盟之平行时空大冒险:肌肉训练营 + + + 开心超人联盟之平行时空大冒险:我们不是凶手 + + + 白天剧场:狙击部队(9) + + + 白天剧场:狙击部队(10) + + + 白天剧场:狙击部队(11) + + + 白天剧场:狙击部队(12) + + + 白天剧场:狙击部队(13) + + + 白天剧场:狙击部队(14) + + + 白天剧场:狙击部队(15) + + + 白天剧场:狙击部队(16) + + + 白天剧场:狙击部队(17) + + + 历史上的今天 + + + 动静新闻 + + + 贵州新闻联播 + + + 贵州天气预报 + + + 转播中央台新闻联播 + + + 黄金剧场:摧毁(29) + + + 黄金剧场:摧毁(30) + + + 医生开讲 + + + 医生开讲 + + + 医生开讲 + + + 贵州大众生活 + + + 家有购物 + + + 一健你就效 + + + 食荐出真滋 + + + 剧场 + + + 生活一直播 + + + 电影魔方 + + + 牌王争霸 + + + 剧场 + + + 家园 + + + 上午剧场 + + + 家园美居 + + + 下午剧场 + + + 生活购 + + + 一健你就效 + + + 食荐出真滋 + + + 牌王争霸 + + + 晚间剧场 + + + 生活一直播 + + + 电影魔方 + + + 家有购物 + + + 贵州影视文艺 + + + 电视剧剧场 + + + 家园 + + + 电视剧剧场 + + + 家园美居 + + + 法网情深 + + + 唱响贵州 + + + 法网情深 + + + 电视剧剧场 + + + 家园 + + + 电视剧剧场 + + + 唱响贵州 + + + 微电影前沿 + + + 开心帮3 + + + 电视剧剧场 + + + 越活越来劲 + + + 法网情深 + + + 中国相册 + + + 电视剧剧场 + + + 贵州科教 + + + 教育频道logo + + + 科教寰宇地理11月27日 + + + 教育频道呼号 + + + 贵州广播电视台教育事业部 + + + 科教寰宇地理11月28日 + + + 教育频道爱教育迎未来教育事业部 + + + 科教科普云课堂12月1日 + + + 动静教育频道 + + + 科教寰宇地理11月29日 + + + 教育频道爱教育迎未来教育事业部 + + + 教育频道呼号 + + + 科教寰宇地理11月30日 + + + 科技改变生活教育成就未来 + + + 科教人文中国12月1日 + + + 科教寰宇地理12月1日 + + + 动静教育频道 + + + 科教栏目D2 + + + 科教栏目D3 + + + 动静教育频道 + + + 教育频道爱教育迎未来教育事业部 + + + 科教栏目D4 + + + 贵州广播电视台教育事业部 + + + 科教栏目D5 + + + 科技改变生活教育成就未来 + + + 教育频道爱教育迎未来教育事业部 + + + 科教栏目D6 + + + 动静教育频道 + + + 科教栏目D7 + + + 教育频道爱教育迎未来教育事业部 + + + 教育频道爱教育迎未来教育事业部 + + + 科教栏目D8 + + + 科技改变生活教育成就未来 + + + 科教栏目D9 + + + 动静教育频道 + + + 教育频道logo + + + 科教栏目D10 + + + 教育频道爱教育迎未来教育事业部 + + + 科教栏目D11 + + + 贵州科教健康 + + + 人文中国 + + + 寰宇地理 + + + 奇趣大自然 + + + 人文中国 + + + 寰宇地理 + + + 太阳雨 + + + 科普云课堂 + + + 人文中国 + + + 寰宇地理 + + + 奇趣大自然 + + + 人文中国 + + + 寰宇地理 + + + 奇趣大自然 + + + 广告 + + + 人文中国 + + + 寰宇地理 + + + 重案六组Ⅱ(8) + + + 栏目 + + + 广告 + + + 重案六组Ⅱ(9) + + + 栏目 + + + 广告 + + + 重案六组Ⅱ(10) + + + 栏目 + + + 重案六组Ⅱ(11) + + + 栏目 + + + 广告 + + + 重案六组Ⅱ(12) + + + 栏目 + + + 广告 + + + 重案六组Ⅱ(13) + + + 栏目 + + + 广告 + + + 重案六组Ⅱ(14) + + + 栏目 + + + 重案六组Ⅱ(15) + + + 栏目 + + + 广告 + + + 重案六组Ⅱ(16) + + + 栏目 + + + 重案六组Ⅱ(17) + + + 栏目 + + + 太阳雨 + + + 科普云课堂 + + + 寰宇地理 + + + 人文中国 + + + 寰宇地理 + + + 剧场 + + + 栏目 + + + 剧场 + + + 栏目 + + + 奇趣大自然 + + + 太阳雨 + + + 贵阳生活 + + + 怀旧剧场-重《我叫刘传说》26,27 + + + 童心无限-重 + + + 融媒问政-重 + + + 中国城市报道-重 + + + 奇趣大自然-重 + + + 传奇-重 + + + 直播贵阳-重 + + + 动画片-重钢小侠66,67,68 + + + 奇趣大自然-重 + + + 天气早知道 + + + 怀旧剧场《我叫刘传说》28,29 + + + 直播贵阳-重 + + + 民生实验室-重92 + + + 传奇-重 + + + 中国城市报道-重 + + + 童心无限: + + + 中国城市报道-首 + + + 民生实验室93 + + + 融媒问政-首 + + + 文化节目:人参5 + + + 奇趣大自然-重 + + + 天气预报 + + + “新气象-新作为”2024西部陆海新通道视听公益 + + + 生活剧场《战昆仑》23,24 + + + 动画片《大头儿子和小头爸爸》181,182,18 + + + 贵阳综合 + + + 中国城市报道-重 + + + 融媒问政-重 + + + 直播贵阳-重 + + + 民生实验室-重 + + + 精品剧场-重《宜昌保卫战》 36《盛宴》 1 + + + 传奇-重 + + + 融媒问政-重 + + + 中国城市报道-重 + + + 直播贵阳-重 + + + 国歌 + + + 天气早知道 + + + 动画片:《棉花糖快乐生活》100,101 + + + 传奇-重 + + + 直播贵阳-重 + + + 中国城市报道-重 + + + 融媒问政-重 + + + “新气象?新作为”2024西部陆海新通道视听公益 + + + 直播贵阳-重 + + + 纪录片:名城文脉12 + + + 奇趣大自然 + + + 直播贵阳 + + + 贵阳新闻联播 + + + 转中央台新闻联播 + + + 直播贵阳-重 + + + 融媒问政-重 + + + 贵州省庆祝中华人民共和国成立75周年公益节目展播 + + + 直播贵阳-重 + + + 贵阳新闻联播-重 + + + 融媒问政-重 + + + 纪录片:名城文脉13 + + + 精品剧场-首《盛宴》2,3 + + + 超级体育 + + + 精彩呈现 + + + 实况录像-2024年四大洲速度滑冰锦标赛 2 + + + 实况录像-2024/2025赛季花样滑冰大奖赛 美国站 + + + 国际足球赛场-24-25赛季法国足球甲级联赛第3轮 + + + 实况录像-2024年世界健美操锦标赛 1 + + + 赛事集锦-2024年射箭世界杯总决赛1 + + + 健身动起来 + + + 体坛晨报 + + + 赛事集锦(奥林匹克)-2024年中国杯世界花样滑冰大奖赛 表演滑 + + + 2024/2025赛季雪车世界杯-中国北京站 女子钢架雪车决赛 + + + 2024年国际乒联混合团体世界杯-第一阶段 第2轮(韩国队-中国台北队) + + + 体坛快讯 + + + 2024年国际乒联混合团体世界杯-第一阶段 第2轮(中国队-印度队) + + + 艺术里的奥林匹克 + + + 实况录像-2024/2025赛季中国男子篮球职业联赛 第12轮 + + + 2024/2025德国足球甲级联赛-第12轮(多特蒙德-拜仁慕尼黑) + + + 实况录像-2024/2025赛季单板滑雪世界杯 中国美林站 平行大回转 + + + 体育新闻 + + + 天下足球 + + + 2024/2025赛季中国男子篮球职业联赛(浙江方兴渡-九台农商银行) + + + 体育世界 + + + 实况录像-2024/2025赛季斯诺克英国锦标赛 决赛 第二阶段 + + + 超级电影 + + + 那山,那人,那狗 + + + 李明瑞 + + + 抗日名将卫立煌 + + + 不老奇事 + + + 我和我的家乡:回乡之路 + + + 云中的郎木寺 + + + 绝代 + + + 车祸疑云 + + + 电影《年兽》 + + + 电影《你若安好》 + + + 电影《武神苏乞儿之黄金海盗》 + + + 电影《百团大战》 + + + 超级电视剧 + + + 精彩呈现 + + + 黑白禁区(第15集) + + + 黑白禁区(第16集) + + + 黑白禁区(第17集) + + + 黑白禁区(第18集) + + + 黑白禁区(第19集) + + + 刘家媳妇(第11集) + + + 刘家媳妇(第12集) + + + 刘家媳妇(第13集) + + + 刘家媳妇(第14集) + + + 刘家媳妇(第15集) + + + 我怕来不及(第05集) + + + 我怕来不及(第06集) + + + 我怕来不及(第07集) + + + 我怕来不及(第08集) + + + 巾帼枭雄之悬崖(普通话)(第10集) + + + 巾帼枭雄之悬崖(普通话)(第11集) + + + 巾帼枭雄之悬崖(普通话)(第12集) + + + 巾帼枭雄之悬崖(普通话)(第13集) + + + 烽烟尽处(第04集) + + + 烽烟尽处(第05集) + + + 烽烟尽处(第06集) + + + 烽烟尽处(第07集) + + + 长歌行(第45集) + + + 长歌行(第46集) + + + 长歌行(第47集) + + + 岁岁年年柿柿红(第05集) + + + 漠风吟(第09集) + + + 漠风吟(第10集) + + + 漠风吟(第11集) + + + 故乡的泥土(第10集) + + + 故乡的泥土(第11集) + + + 故乡的泥土(第12集) + + + 锦绣安宁(第37集) + + + 锦绣安宁(第38集) + + + 超级综艺 + + + 精彩呈现 + + + 特战荣耀(第06集) + + + 特战荣耀(第07集) + + + 特战荣耀(第08集) + + + 勇者之战 + + + 选对健康 + + + 国之颂 + + + 此生要去的100个地方 + + + 越战越勇 + + + 非常6+1 + + + 星光大道 + + + 开门大吉 + + + 非遗里的中国第2季 + + + 一笑一周 + + + 国家宝藏 第四季 + + + 会唱歌的院子 + + + 乐在旅途 第二季 + + + 星光大道—这一站星光 + + + 开门大吉 + + + 绽放吧!妈妈 + + + 向幸福出发 + + + 特战荣耀(第09集) + + + 特战荣耀(第10集) + + + 车迷 + + + 车迷会:斯巴鲁、酷车驾到 + + + 车迷演播室、酷车驾到 + + + 酷车驾到、车迷会 + + + 车迷演播室、酷车驾到 + + + 摩托范儿、酷车驾到、仙偷客栈 + + + 车迷会、酷车驾到 + + + 公益宣传片 + + + 车迷会:斯巴鲁、酷车驾到 + + + 车迷演播室、酷车驾到 + + + 酷车驾到、车迷会 + + + 车迷演播室、酷车驾到 + + + 摩托范儿、酷车驾到、仙偷客栈 + + + 车迷会、酷车驾到 + + + 公益宣传片 + + + 车迷会:斯巴鲁、酷车驾到 + + + 小谷爱车 + + + 酷车驾到 + + + 车迷演播室、酷车驾到 + + + 小谷爱车、仙偷客栈 + + + 酷车驾到 + + + 酷车驾到、车迷会 + + + 车迷会、酷车驾到 + + + 公益宣传片 + + + 小谷爱车、仙偷客栈 + + + 酷车驾到 + + + 酷车驾到、车迷会 + + + 车迷演播室、酷车驾到 + + + 摩托范儿、车迷会、仙偷客栈 + + + 小谷爱车、仙偷客栈 + + + 酷车驾到 + + + 辽宁体育 + + + 实况录像 + + + 实况录像 + + + 实况录像 + + + 智慧斗士大师赛 + + + 十一代仁医 + + + 欢乐饭米粒儿 + + + 欢乐饭米粒儿 + + + 十一代仁医 + + + 欢乐饭米粒儿 + + + 名医之道 + + + 智慧斗士 + + + 名医之道 + + + 智慧斗士 + + + 名医之道 + + + 智慧斗士 + + + 好日子 + + + 智慧斗士 + + + 名医之道 + + + 智慧斗士 + + + 名医之道 + + + 智慧斗士 + + + 名医之道 + + + ONE + + + 名医之道 + + + ONE + + + 智慧斗士 + + + 名医之道 + + + 智慧斗士 + + + 名医之道 + + + 智慧斗士 + + + 名医之道 + + + 智慧斗士 + + + 辽望体育 + + + 实况录像 + + + 智慧斗士 + + + 智慧斗士 + + + 实况录像 + + + 辽宁体育休闲 + + + 实况录像 + + + 实况录像 + + + 实况录像 + + + 智慧斗士大师赛 + + + 十一代仁医 + + + 欢乐饭米粒儿 + + + 欢乐饭米粒儿 + + + 十一代仁医 + + + 欢乐饭米粒儿 + + + 名医之道 + + + 智慧斗士 + + + 名医之道 + + + 智慧斗士 + + + 名医之道 + + + 智慧斗士 + + + 好日子 + + + 智慧斗士 + + + 名医之道 + + + 智慧斗士 + + + 名医之道 + + + 智慧斗士 + + + 名医之道 + + + ONE + + + 名医之道 + + + ONE + + + 智慧斗士 + + + 名医之道 + + + 智慧斗士 + + + 名医之道 + + + 智慧斗士 + + + 名医之道 + + + 智慧斗士 + + + 辽望体育 + + + 实况录像 + + + 智慧斗士 + + + 智慧斗士 + + + 实况录像 + + + 辽宁公共 + + + 爱国者 + + + 专题 + + + 知否知否 + + + 知否知否 + + + 专题 + + + 知否知否 + + + 专题 + + + 知否知否 + + + 专题 + + + 新白娘子传奇 + + + 导视 + + + 新白娘子传奇 + + + 专题 + + + 新白娘子传奇 + + + 专题 + + + 新白娘子传奇 + + + 专题 + + + 新白娘子传奇 + + + 专题 + + + 导视 + + + 时光机 + + + 专题 + + + 兄弟营 + + + 专题 + + + 兄弟营 + + + 专题 + + + 兄弟营 + + + 专题 + + + 兄弟营 + + + 兄弟营 + + + 专题 + + + 导视 + + + 兄弟营 + + + 兄弟营 + + + 兄弟营 + + + 兄弟营 + + + 导视 + + + 时光机 + + + 第一现场 + + + 导视 + + + 爱国者 + + + 专题 + + + 爱国者 + + + 专题 + + + 辽宁北方 + + + 大海热线 + + + 直通市县区 + + + 逗你乐翻天 + + + 全城热恋 + + + 电影 + + + 剧场 + + + 剧场 + + + 十一代仁医 + + + 全城热恋 + + + 名医之道 + + + 我的选择 + + + 名医之道 + + + 美食每刻 + + + 名医之道 + + + 逗你乐翻天 + + + 十一代仁医 + + + 直通市县区 + + + 名医之道 + + + 全城热恋 + + + 十一代仁医 + + + 美食每刻 + + + 十一代仁医 + + + 健康朋友圈 + + + 名医之道 + + + 北方警事 + + + 十一代仁医 + + + 娱乐样样红 + + + 名医之道 + + + 北方财经 + + + 北方警事 + + + 24天气预报 + + + 全城热恋 + + + 24天气预报 + + + 大海热线 + + + 健康朋友圈 + + + 全城热恋 + + + 逗你乐翻天 + + + 辽宁新闻 + + + 直通市县区 + + + 电影 + + + 辽宁卫视 + + + 记住乡愁5 + + + 午夜剧场 + + + 午夜剧场 + + + 午夜剧场 + + + 风物辽宁 + + + 午夜剧场 + + + 午夜剧场 + + + 黑土地 + + + 第一时间 + + + 第一时间 + + + 食全食美 + + + 动画片剧场 + + + 白天剧场:薛平贵与王宝钏 + + + 白天剧场:薛平贵与王宝钏 + + + 白天剧场:薛平贵与王宝钏 + + + 海洋预报 + + + 说天下 + + + 白天剧场:薛平贵与王宝钏 + + + 白天剧场:薛平贵与王宝钏 + + + 白天剧场:薛平贵与王宝钏 + + + 白天剧场:薛平贵与王宝钏 + + + 欢乐集结号 + + + 食全食美 + + + 风物辽宁 + + + 气象资讯 + + + 辽宁新闻 + + + 辽宁天气预报 + + + 转播中央台新闻联播 + + + 北方剧场:父母爱情(37) + + + 北方剧场:父母爱情(38) + + + 欢乐饭米粒儿 + + + 欢乐集结号 + + + 欢乐集结号 + + + 辽宁影视剧 + + + 绝密任务(26) + + + 推介 + + + 手枪队(26) + + + 推介 + + + 手枪队(27) + + + 推介 + + + 手枪队(28) + + + 推介 + + + 手枪队(29) + + + 推介 + + + 手枪队(30) + + + 推介 + + + 手枪队(30) + + + 推介 + + + 手枪队(31) + + + 推介 + + + 手枪队(31) + + + 推介 + + + 手枪队(32) + + + 推介 + + + 老家门口大舞台 + + + 乐享食光 + + + 推介 + + + 刀光枪影(31) + + + 孙老师聊正气集锦节目 + + + 推介 + + + 刀光枪影(31) + + + 推介 + + + 刀光枪影(32) + + + 孙老师聊正气 + + + 推介 + + + 刀光枪影(32) + + + 孙老师聊正气 + + + 推介 + + + 刀光枪影(33) + + + 推介 + + + 刀光枪影(33) + + + 孙老师聊正气 + + + 推介 + + + 殊死七日(25) + + + 殊死七日(25) + + + 孙老师聊正气 + + + 推介 + + + 殊死七日(26) + + + 孙老师聊正气集锦节目 + + + 推介 + + + 殊死七日(26) + + + 孙老师聊正气 + + + 推介 + + + 殊死七日(27) + + + 推介 + + + 殊死七日(27) + + + 九死一生(22) + + + 推介 + + + 九死一生(23) + + + 推介 + + + 九死一生(24) + + + 推介 + + + 九死一生(25) + + + 九死一生(26) + + + 推介 + + + 九死一生(27) + + + 推介 + + + 绝密任务(27) + + + 绝密任务(27) + + + 辽宁教育青少 + + + 剧场 + + + 剧场 + + + 情满人间 + + + 新知主播说 + + + 新知科技馆 + + + 乡村大喇叭 + + + 街坊那些事 + + + 街坊那些事 + + + 乡村大喇叭 + + + 知新老伙计 + + + 剧场 + + + 剧场 + + + 知新老伙计 + + + 剧场 + + + 剧场 + + + 知新老伙计 + + + 揭秘 + + + 情满人间 + + + 街坊那些事 + + + 知新老伙计 + + + 剧场 + + + 剧场 + + + 剧场 + + + 食心食意 + + + 北方房产 + + + 炫动天下 + + + 新知主萌播 + + + 新知主播说 + + + 新知 + + + 新知开讲 + + + 剧场 + + + 剧场 + + + 剧场 + + + 剧场 + + + 辽宁生活 + + + 大城小事 + + + 等着我 + + + 缘来不晚 + + + 等着我 + + + 名师高徒 + + + 元气讲堂 + + + 剧场 + + + 十一代仁医 + + + 剧场 + + + 剧场 + + + 十一代仁医 + + + 生活导报 + + + 十一代仁医 + + + 缘来不晚 + + + 等着我 + + + 剧场 + + + 元气讲堂 + + + 剧场 + + + 剧场 + + + 元气讲堂 + + + 名师高徒 + + + 生活导报 + + + 缘来不晚 + + + 爱的选择 + + + 缘来不晚 + + + 大城小事 + + + 名师高徒 + + + 辽宁经济 + + + 专题 + + + 绞杀1943 + + + 专题 + + + 绞杀1943 + + + 绞杀1943 + + + 专题 + + + 绞杀1943 + + + 专题 + + + 天生吃货 + + + 有医说医 + + + 直播生活 + + + 直播生活早高峰 + + + 专题 + + + 快乐斗地主 + + + 专题 + + + 大江大河2 + + + 专题 + + + 大江大河2 + + + 专题 + + + 大江大河2 + + + 专题 + + + 大江大河2 + + + 专题 + + + 乡里相亲 + + + 直播生活晚高峰 + + + 绞杀1943 + + + 天生吃货 + + + 有医说医 + + + 快乐斗地主 + + + 专题 + + + 绞杀1943 + + + 辽宁都市 + + + 剧场 + + + 剧场 + + + 剧场 + + + 剧场 + + + 新闻正前方 + + + 新北方 + + + 新闻早早报 + + + 寻源探本 + + + 都市生活汇 + + + 寻源探本 + + + 都市生活汇 + + + 新闻正前方 + + + 新北方 + + + 寻源探本 + + + 剧场 + + + 剧场 + + + 寻源探本 + + + 都市红绿灯 + + + 新闻正前方 + + + 新北方 + + + 健康一身轻 + + + 剧场 + + + 剧场 + + + 剧场 + + + 都市生活汇 + + + 新北方 + + + 剧场 + + + 辽宁青少 + + + 剧场 + + + 剧场 + + + 情满人间 + + + 新知主播说 + + + 新知科技馆 + + + 乡村大喇叭 + + + 街坊那些事 + + + 街坊那些事 + + + 乡村大喇叭 + + + 知新老伙计 + + + 剧场 + + + 剧场 + + + 知新老伙计 + + + 剧场 + + + 剧场 + + + 知新老伙计 + + + 揭秘 + + + 情满人间 + + + 街坊那些事 + + + 知新老伙计 + + + 剧场 + + + 剧场 + + + 剧场 + + + 食心食意 + + + 北方房产 + + + 炫动天下 + + + 新知主萌播 + + + 新知主播说 + + + 新知 + + + 新知开讲 + + + 剧场 + + + 剧场 + + + 剧场 + + + 剧场 + + + 追剧少女 + + + 伦敦上空的鹰 + + + 横空出世 + + + 坚不可摧 + + + 红日 + + + 战争角落 + + + 比利·林恩的中场战事(普通话) + + + 战火 + + + 奇爱博士 + + + 青年刘伯承 + + + 伦敦上空的鹰 + + + 横空出世 + + + 坚不可摧 + + + 红日 + + + 战争角落 + + + 郑州商都 + + + 生活+ + + + 影家剧场 + + + 跟我走吧 + + + 有一说一 + + + 有啥说啥 + + + 生活+ + + + 有一说一 + + + 天天美食 + + + 快乐生活一点通 + + + 有啥说啥 + + + 生活+ + + + 快乐生活一点通 + + + 生活+ + + + 跟我走吧 + + + 天天美食 + + + 跟我走吧 + + + 快乐生活一点通 + + + 有啥说啥 + + + 生活+ + + + 影家剧场 + + + 跟我走吧 + + + 有一说一 + + + 天天美食 + + + 快乐生活一点通 + + + 有啥说啥 + + + 生活+ + + + 影家剧场 + + + 跟我走吧 + + + 有一说一 + + + 天天美食 + + + 快乐生活一点通 + + + 有啥说啥 + + + 郑州妇女 + + + 整点看房 + + + 大牌也团购 + + + 第一房产 + + + 第一家居 + + + 整点看房 + + + 大牌也团购 + + + 汽车帮 + + + 第一家居 + + + 整点看房 + + + 大牌也团购 + + + 第一房产 + + + 第一家居 + + + 整点看房 + + + 大牌也团购 + + + 汽车帮 + + + 第一家居 + + + 整点看房 + + + 大牌也团购 + + + 第一房产 + + + 第一家居 + + + 整点看房 + + + 大牌也团购 + + + 汽车帮 + + + 第一家居 + + + 整点看房 + + + 大牌也团购 + + + 第一房产 + + + 第一家居 + + + 整点看房 + + + 大牌也团购 + + + 汽车帮 + + + 第一家居 + + + 整点看房 + + + 大牌也团购 + + + 整点看房 + + + 大牌也团购 + + + 汽车帮 + + + 整点看房 + + + 大牌也团购 + + + 第一房产 + + + 第一家居 + + + 整点看房 + + + 大牌也团购 + + + 汽车帮 + + + 第一家居 + + + 整点看房 + + + 大牌也团购 + + + 第一房产 + + + 第一家居 + + + 整点看房 + + + 大牌也团购 + + + 汽车帮 + + + 第一家居 + + + 整点看房 + + + 第一家居 + + + 整点看房 + + + 大牌也团购 + + + 汽车帮 + + + 整点看房 + + + 大牌也团购 + + + 第一房产 + + + 整点看房 + + + 大牌也团购 + + + 郑州全交通 + + + 整点看房 + + + 大牌也团购 + + + 第一房产 + + + 第一家居 + + + 整点看房 + + + 大牌也团购 + + + 汽车帮 + + + 第一家居 + + + 整点看房 + + + 大牌也团购 + + + 第一房产 + + + 第一家居 + + + 整点看房 + + + 大牌也团购 + + + 汽车帮 + + + 第一家居 + + + 整点看房 + + + 大牌也团购 + + + 第一房产 + + + 第一家居 + + + 整点看房 + + + 大牌也团购 + + + 汽车帮 + + + 第一家居 + + + 郑州戏曲 + + + 午夜剧场 + + + 1900剧场 + + + 频道开播总片头 + + + 快乐生活一点通 + + + 上午剧场 + + + 上午剧场 + + + 上午剧场 + + + 小神龙俱乐部 + + + 下午剧场 + + + 下午剧场 + + + 下午剧场 + + + 晚间剧场 + + + 晚间剧场 + + + 晚间剧场 + + + 晚间剧场 + + + 晚间剧场 + + + 晚间剧场 + + + 午夜剧场 + + + 午夜剧场 + + + 郑州文体 + + + 郑在收藏 + + + 电竞风云 + + + 剧场 + + + 豫乐剧场 + + + 你不知道的事 + + + 精彩一刻 + + + 文化中原 + + + 笑啥咧笑 + + + 饮食男女 + + + 超级赞 + + + 文化中原 + + + 精彩一刻 + + + 谁是高手 + + + 饮食男女 + + + 饮食男女 + + + 笑啥咧笑 + + + 你不知道的事 + + + 饮食男女 + + + 精彩一刻 + + + 笑啥咧笑 + + + 天气预报 + + + 文化中原 + + + 饮食男女 + + + 你不知道的事 + + + 饮食男女 + + + 超级赞 + + + 笑啥咧笑 + + + 谁是高手 + + + 饮食男女 + + + 郑州新闻 + + + 联播郑州 + + + 你不知道的事 + + + 有一说一 + + + 剧场 + + + 微影小站 + + + 有一说一 + + + 你不知道的事 + + + 郑州新闻,直通政务 + + + 联播郑州 + + + 郑州大民生精编版 + + + 喷吧 + + + 我的选择 + + + 有一说一 + + + 微影小站 + + + 新闻360 + + + 联播郑州 + + + 郑州大民生精编版 + + + 剧场 + + + 你不知道的事 + + + 喷吧 + + + 郑州大民生 + + + 转播中央台新闻联播 + + + 郑州新闻,直通政务 + + + 剧场 + + + 联播郑州 + + + 郑州新闻,直通政务 + + + 郑州大民生 + + + 喷吧 + + + 郑州生活 + + + 健康道·科学养生 + + + 节目结束 + + + 健康汇·八面来风 + + + 笑啥咧笑 + + + 健康帮 + + + 歌曲 + + + 健康道·科学养生 + + + 歌曲 + + + 健康秀 + + + 一点不夸张 + + + 健康帮 + + + 健康秀 + + + 歌曲 + + + 健康汇·八面来风 + + + 健康帮 + + + 健康道·科学养生 + + + 一点不夸张 + + + 健康汇·八面来风 + + + 健康秀 + + + 健康帮 + + + 健康汇·八面来风 + + + 笑啥咧笑 + + + 健康秀 + + + 歌曲 + + + 姥家门前看大戏 + + + 健康秀 + + + 健康帮 + + + 歌曲 + + + 健康汇·八面来风 + + + 健康道·科学养生 + + + 一点不夸张 + + + 健康道·科学养生 + + + 健康汇·八面来风 + + + 歌曲 + + + 视界四号站 + + + 梅卿快车道 + + + 视界四号站 + + + 健康帮 + + + 健康道·科学养生 + + + 都市剧场 + + + 精彩赏析:爱的追踪(6) + + + 乱世危情(22) + + + 乱世危情(23) + + + 乱世危情(24) + + + 精彩赏析:幸福36计(1) + + + 精彩赏析:宜昌保卫战(1) + + + 精彩赏析:护宝风云(3) + + + 乱世危情(25) + + + 乱世危情(26) + + + 精彩赏析:一个都不能少(2) + + + 精彩赏析:正是青春璀璨时(2) + + + 精彩赏析:一马换三羊(3) + + + 精彩赏析:爱的追踪(4) + + + 独狼(11) + + + 独狼(12) + + + 独狼(13) + + + 精彩赏析:尖锋之烈焰青春(1) + + + 精彩赏析:黎明决战(2) + + + 精彩赏析:黄土高天(2) + + + 精彩赏析:守望的天空(2) + + + 精彩赏析:宜昌保卫战(4) + + + 乱世危情(27) + + + 乱世危情(28) + + + 乱世危情(29) + + + 乱世危情(30) + + + 乱世危情(31) + + + 精彩赏析:幸福36计(1) + + + 精彩赏析:八方传奇(3) + + + 精彩赏析:老男孩(4) + + + 独狼(14) + + + 独狼(15) + + + 独狼(16) + + + 精彩赏析:甜蜜(2) + + + 精彩赏析:宜昌保卫战(5) + + + 乱世危情(32) + + + 乱世危情(33) + + + 乱世危情(34) + + + 乱世危情(35) + + + 乱世危情(36) + + + 精彩赏析:正阳门下(1) + + + 独狼(17) + + + 独狼(18) + + + 独狼(19) + + + 精彩赏析:幸福36计(1) + + + 精彩赏析:午夜蝴蝶(2) + + + 精彩赏析:爱的追踪(4) + + + 野火春风斗古城 + + + 精彩赏析:一马换三羊(1) + + + 乱世危情(30) + + + 重广融媒 + + + 精彩呈现 + + + 一家装饰专题 + + + 公益广告合集10分钟版 + + + 一家装饰专题 + + + 昙花梦18 + + + 一家装饰专题 + + + 昙花梦19 + + + 一家装饰专题 + + + 尖刀7 + + + 一家装饰专题 + + + 公益广告3分钟 + + + 尖刀8 + + + 一家装饰专题 + + + 电视广告服务热线 + + + 公益广告3分钟 + + + 尖刀9 + + + 一家装饰专题 + + + 公益广告3分钟 + + + 尖刀10 + + + 一家装饰专题 + + + 电视广告服务热线 + + + 尖刀11 + + + 一家装饰专题 + + + 公益广告3分钟 + + + 走出硝烟的女人38 + + + 一家装饰专题 + + + 公益广告3分钟 + + + 走出硝烟的女人39 + + + 一家装饰专题 + + + 公益广告3分钟 + + + 走出硝烟的女人40 + + + 一家装饰专题 + + + 电视广告服务热线 + + + 公益广告3分钟 + + + 走出硝烟的女人41 + + + 一家装饰专题 + + + 电视广告服务热线 + + + 黎明前的抉择27 + + + 一家装饰专题 + + + 电视广告服务热线 + + + 公益广告3分钟 + + + 黎明前的抉择28 + + + 一家装饰专题 + + + 睛彩车市 + + + 黎明前的抉择29 + + + 一家装饰专题 + + + 公益广告3分钟 + + + 黎明前的抉择30 + + + 一家装饰专题 + + + 电视广告服务热线 + + + 黎明前的抉择31 + + + 一家装饰专题 + + + 昙花梦18 + + + 一家装饰专题 + + + 昙花梦19 + + + 一家装饰专题 + + + 重庆农村 + + + 民宿里的中国4 + + + 天天农事通 + + + 民宿里的中国5 + + + 田间课堂20 + + + 天天农事通 + + + 蒙药双通丹 + + + 李伯清书场42 + + + 代号山豹61 + + + 蒙药双通丹 + + + 李伯清书场43 + + + 一家装饰 + + + 代号山豹62 + + + 塘十三加盒 + + + 李伯清书场44 + + + 代号山豹63 + + + 塘十三加盒 + + + 代号山豹64 + + + 蒙药双通丹 + + + 李伯清书场45 + + + 潜龙25 + + + 一家装饰 + + + 潜龙26 + + + 塘十三加盒 + + + 地名重庆(18):重庆工业博物馆 + + + 潜龙27 + + + 塘十三加盒 + + + 李伯清书场46 + + + 一家装饰 + + + 潜龙28 + + + 蒙药双通丹 + + + 潜龙29 + + + 潜龙30 + + + 蒙药双通丹 + + + 地名重庆(11):民主村食堂 + + + 潜龙31 + + + 塘十三加盒 + + + 农科进行时 + + + 一家装饰 + + + 天天农事通 + + + 一家装饰 + + + 地名重庆(18):重庆工业博物馆 + + + 勇者01 + + + 塘十三加盒 + + + 勇者02 + + + 塘十三加盒 + + + 地名重庆(12):大兴村食堂改 + + + 天天农事通 + + + 农科进行时 + + + 重庆卫视 + + + 中国故事:中国2(9):实业(下) + + + TICO欢乐假日 + + + 谢谢你来了 + + + 谢谢你来了 + + + 反击(44) + + + 反击(45) + + + 西部金融周刊 + + + 重庆第一眼 + + + 食尚味道 + + + 早间气象 + + + 加油!好少年 + + + 英雄剧场:彭德怀元帅(25) + + + 英雄剧场:彭德怀元帅(26) + + + 英雄剧场:彭德怀元帅(27) + + + 英雄剧场:彭德怀元帅(28) + + + 嗨!新重庆STORY + + + 第1眼新闻 + + + 午间气象服务 + + + 英雄剧场:彭德怀元帅(29) + + + 英雄剧场:彭德怀元帅(30) + + + 英雄剧场:彭德怀元帅(31) + + + 英雄剧场:彭德怀元帅(32) + + + 英雄剧场:彭德怀元帅(33) + + + 英雄剧场:彭德怀元帅(34) + + + 第1眼新闻 + + + 财经壹资讯 + + + 天气预报 + + + 重庆新闻联播 + + + 今日关注 + + + 转播中央台新闻联播 + + + 传奇剧场:蜂巢(39) + + + 传奇剧场:蜂巢(40) + + + 重庆第1眼 + + + 谢谢你来了 + + + 非常时尚 + + + 壮士出川(37) + + + 风景区气象服务 + + + 壮士出川(38) + + + 重庆国际 + + + 财经壹资讯 + + + 栏目剧:冷暖人生 + + + 雾都夜话 + + + 电视剧 + + + 巴渝剧场 + + + 动画片 + + + 食全食美 + + + 重庆新闻 + + + 财经壹资讯 + + + 美食非常道 + + + 中国故事 + + + 栏目剧 + + + 电视剧 + + + 谢谢你来了(重播) + + + 拍案说法 + + + 重庆新闻 + + + 财经壹资讯 + + + 电视剧 + + + 凡人有喜 + + + 老手艺 + + + 中国故事 + + + 拍案说法 + + + 美食非常道 + + + 不健不散 + + + 食全食美 + + + 老手艺 + + + 谢谢你来了(重播) + + + 栏目剧 + + + 电视剧 + + + 食全食美 + + + 凡人有喜 + + + 重庆娱乐 + + + 渝乐现场 + + + 文体娱乐玩转重庆之龙塘湖公园 + + + 文体娱乐探为观止之焦兴涛 + + + 文体娱乐玩转重庆之百年三洞桥 + + + 文体娱乐探为观止之川流不息 + + + 文体娱乐益安宁丸杯第十三期 + + + 渝乐耍大牌 + + + 虎胆英雄32 + + + 虎胆英雄33 + + + 渝乐耍大牌 + + + 渝乐现场 + + + 电视剧英雄盟01 + + + 电视剧英雄盟02 + + + 电视剧英雄盟03 + + + 渝乐耍大牌 + + + 血色交锋39 + + + 血色交锋40 + + + 文体娱乐探为观止之精典专访 + + + 渝乐现场 + + + 渝战渝勇 + + + 渝乐现场 + + + 蜂鸟出击33 + + + 蜂鸟出击34 + + + 重庆少儿 + + + 视美少儿频道关机屏2024 + + + TICO魔力扣 + + + TICOC世界上 + + + TICOC世界中 + + + TICOC世界下 + + + TICO巨星饭 + + + TICO梦想部落 + + + TICO成长快车 + + + TICO动漫星球 + + + TICO动漫空间 + + + TICOC世界 + + + 重庆影视 + + + 战火英雄13 + + + 战火英雄14 + + + 专题 + + + 渝乐派 + + + 家有本草 + + + 怒江之战18 + + + 专题 + + + 怒江之战19 + + + 专题 + + + 怒江之战20 + + + 专题 + + + 怒江之战21 + + + 重庆文体娱乐 + + + 渝乐现场 + + + 文体娱乐玩转重庆之龙塘湖公园 + + + 文体娱乐探为观止之焦兴涛 + + + 文体娱乐玩转重庆之百年三洞桥 + + + 文体娱乐探为观止之川流不息 + + + 文体娱乐益安宁丸杯第十三期 + + + 渝乐耍大牌 + + + 虎胆英雄32 + + + 虎胆英雄33 + + + 渝乐耍大牌 + + + 渝乐现场 + + + 电视剧英雄盟01 + + + 电视剧英雄盟02 + + + 电视剧英雄盟03 + + + 渝乐耍大牌 + + + 血色交锋39 + + + 血色交锋40 + + + 文体娱乐意游未尽第三季 + + + 渝乐现场 + + + 渝战渝勇 + + + 渝乐现场 + + + 蜂鸟出击33 + + + 蜂鸟出击34 + + + 重庆新农村 + + + 民宿里的中国4 + + + 天天农事通 + + + 民宿里的中国5 + + + 田间课堂20 + + + 天天农事通 + + + 蒙药双通丹 + + + 李伯清书场42 + + + 代号山豹61 + + + 蒙药双通丹 + + + 李伯清书场43 + + + 一家装饰 + + + 代号山豹62 + + + 塘十三加盒 + + + 李伯清书场44 + + + 代号山豹63 + + + 塘十三加盒 + + + 代号山豹64 + + + 蒙药双通丹 + + + 李伯清书场45 + + + 潜龙25 + + + 一家装饰 + + + 潜龙26 + + + 塘十三加盒 + + + 地名重庆(18):重庆工业博物馆 + + + 潜龙27 + + + 塘十三加盒 + + + 李伯清书场46 + + + 一家装饰 + + + 潜龙28 + + + 蒙药双通丹 + + + 潜龙29 + + + 潜龙30 + + + 蒙药双通丹 + + + 地名重庆(11):民主村食堂 + + + 潜龙31 + + + 塘十三加盒 + + + 农科进行时 + + + 一家装饰 + + + 天天农事通 + + + 一家装饰 + + + 地名重庆(18):重庆工业博物馆 + + + 勇者01 + + + 塘十三加盒 + + + 勇者02 + + + 塘十三加盒 + + + 地名重庆(12):大兴村食堂改 + + + 天天农事通 + + + 农科进行时 + + + 重庆新闻 + + + 网罗天下 + + + 重庆专访 + + + 鸟瞰新重庆 + + + 财经壹资讯 + + + 重庆新闻联播 + + + 网罗天下 + + + 天天630 + + + 鸟瞰新重庆 + + + 重庆新闻联播 + + + 重庆专访 + + + 网罗天下 + + + 天天630 + + + 财经壹资讯 + + + 重庆新闻联播 + + + 中华人民共和国国歌 + + + 天天630 + + + 网罗天下 + + + 第1眼新闻 + + + 重庆第1眼 + + + 天天630 + + + 重庆专访 + + + 网罗天下 + + + 第1眼新闻 + + + 午间气象 + + + 财经壹资讯 + + + 重庆第1眼 + + + 天天630 + + + 重庆专访 + + + 大美重庆 + + + 重庆第1眼 + + + 财经壹资讯 + + + 第1眼新闻 + + + 大美重庆 + + + 重庆专访 + + + 天天630 + + + 财经壹资讯 + + + 网罗天下 + + + 天天630 + + + 区县气象 + + + 重庆新闻联播 + + + 天天630 + + + 网罗天下 + + + 天天630 + + + 重庆新闻联播 + + + 重庆专访 + + + 财经壹资讯 + + + 网罗天下 + + + 天天630 + + + 重庆时尚生活 + + + 生活麻辣烫 + + + 福寿胶囊时尚 + + + 寻源探本 + + + 一家装饰 + + + 蒙药双通丹 + + + 塘十三 + + + 塘十三 + + + 一家装饰 + + + 蒙药双通丹 + + + 塘十三 + + + 蒙药双通丹 + + + 蒙药双通丹 + + + 塘十三 + + + 一家装饰 + + + 寻源探本 + + + 精英律师53 + + + 精英律师54 + + + 精英律师55 + + + 精英律师56 + + + 冷暖人生之社恐遇上社牛1 + + + 蒙药双通丹 + + + 冷暖人生之社恐遇上社牛2 + + + 蒙药双通丹 + + + 爱心帮帮帮 + + + 重庆生活资讯 + + + 巴黎奥运会-跳水女子10米跳台决赛 + + + 巴黎奥运会-体操单项决赛 + + + 世界田联钻石联赛-布鲁塞尔站 + + + CBA第8轮-深圳马可波罗VS广州朗肽海本 + + + 世界技巧运动锦标赛 + + + 中华人民共和国国歌 + + + 艺术里的奥林匹克 + + + 世界健美操锦标赛 + + + 巴黎奥运会-男女滑板碗池决赛 + + + 巴黎奥运会-男篮决赛 + + + 中国羽毛球大师赛 + + + 花样滑冰大奖赛-法国站 + + + 艺术里的奥林匹克 + + + 速度滑冰世界杯-日本站 + + + WTA总决赛单打小组赛-保利尼VS郑钦文 + + + 逐冰追雪 + + + 艺术里的奥林匹克 + + + 中国杯世界花样滑冰大奖赛 + + + 法甲联赛第13轮-巴黎圣日耳曼VS南特 + + + 德甲联赛-第12轮-柏林联VS勒沃库森 + + + 奥秘无穷 + + + 艺术里的奥林匹克 + + + 中国杯世界花样滑冰大奖赛-表演滑 + + + 世乒联总决赛 + + + CBA常规赛第11轮-浙江方兴渡VS广东东阳光 + + + 巴黎奥运会-网球比赛 + + + 重庆社会与法 + + + 社会与法渝北媒体中心专题第五期 + + + 社会与法财经360 + + + 代号山豹33 + + + 反诈骗之京东白条 + + + 代号山豹34 + + + 社会与法法官来了 + + + 反诈骗之京东白条 + + + 地名重庆(16):江北城 + + + 社会与法雾都夜话前 + + + 社会与法大城小事 + + + 勇者71 + + + 勇者72 + + + 勇者73 + + + 勇者74 + + + 勇者75 + + + 社会与法凡人有喜 + + + 社会与法雾都夜话前 + + + 社会与法大城小事 + + + 社会与法拍案700 + + + 社会与法雾都夜话晚1 + + + 地名重庆(16):江北城 + + + 社会与法雾都夜话晚2 + + + 地名重庆(16):江北城 + + + 勇者76 + + + 勇者77 + + + 勇者78 + + + 勇者79 + + + 重庆科教 + + + 科普中国改变世界的30分钟 + + + 包青天17 + + + 包青天18 + + + 版第179期 + + + 包青天19 + + + 百通丹01版 + + + 包青天20 + + + 百通丹02版 + + + 包青天21 + + + 百通丹03版 + + + 包青天22 + + + 版第179期 + + + 包青天23 + + + 百通丹01版 + + + 包青天24 + + + 百通丹02版 + + + 战火青春47 + + + 百通丹03版 + + + 战火青春48 + + + 百通丹01版 + + + 战火青春49 + + + 百通丹02版 + + + 战火青春50 + + + 百通丹03版 + + + 战火青春51 + + + 版第179期 + + + 战火青春52 + + + 百通丹01版 + + + 战火青春53 + + + 百通丹02版 + + + 科普中国改变世界的30分钟 + + + 寰宇地理 + + + 孤胆英雄61 + + + 百通丹03版 + + + 孤胆英雄62 + + + 百通丹01版 + + + 孤胆英雄63 + + + 探索 + + + 寰宇地理 + + + 重庆移动 + + + 精彩呈现 + + + 移动早新闻上 + + + 朝闻天下 + + + 青少年运动卡攀岩体验团 + + + 乐在其中 + + + 视频片段 + + + 新闻直播间 + + + 正说家装 + + + 视频片段 + + + 重庆美食 + + + 新闻30分 + + + 视频片段 + + + 乐听乐美 + + + 视频片段 + + + 正说家装 + + + 生活提示 + + + 视频片段 + + + 新闻直播间 + + + 正说家装 + + + 重庆美食 + + + 乐在其中 + + + 体坛快讯 + + + 移动看新闻下 + + + 新闻联播 + + + 青少年运动卡网球 + + + 正说家装 + + + 乐听乐美 + + + 重庆新闻联播 + + + 天天630 + + + 体坛快讯 + + + 乐听乐美 + + + 生活提示 + + + 24小时 + + + 重温经典 + + + 结束 + + + 结束 + + + 结束 + + + 大耳朵图图第一季 18 + + + 大耳朵图图第一季 19 + + + 行走天下-青海 07 + + + 行走天下-青海 08 + + + 太行山上 02 + + + 太行山上 02 + + + 太行山上 03 + + + 插树岭 18 + + + 插树岭 19 + + + 欢乐颂 26 + + + 欢乐颂 27 + + + 大耳朵图图第一季 18 + + + 大耳朵图图第一季 19 + + + 行走天下-青海 07 + + + 行走天下-青海 08 + + + 太行山上 02 + + + 太行山上 03 + + + 插树岭 18 + + + 插树岭 19 + + + 欢乐颂 26 + + + 欢乐颂 27 + + + 大耳朵图图第一季 20 + + + 大耳朵图图第一季 21 + + + 行走天下-青海 09 + + + 行走天下-青海 10 + + + 太行山上 04 + + + 太行山上 05 + + + 插树岭 20 + + + 插树岭 21 + + + 欢乐颂 28 + + + 欢乐颂 29 + + + 结束 + + + 金牌综艺 + + + 精彩呈现 + + + 中国地名大会 第三季 + + + 一往无前的蓝 + + + 登录圆鱼洲 + + + 德云斗笑社 第2季 + + + 英国奥戈那折叠式取暖器-渠道(右) + + + 越战越勇(2024) + + + 德国米技炉周年庆超值惠选装-渠道(右) + + + 越战越勇(2024) + + + 美康利健激光前列腺治疗仪-渠道(右) + + + 向幸福出发(2024) + + + 令人心动的offer第5季 + + + BEYONPAN钛锅升级款-渠道(右) + + + 非遗里的中国第2季 + + + 德国米技炉周年庆超值惠选装-渠道(右) + + + 非遗里的中国第2季 + + + 英国奥戈那折叠式取暖器-渠道(右) + + + 十三邀第8季 + + + 活力满分的夏天 + + + 金色学堂 + + + 乐学大讲堂 + + + 烹饪:豆沙面包 + + + 上海老年大学-美丽中国 + + + 诗书画:诗书画史上的通才大家 + + + 烹饪:水果蛋糕 + + + 大医来了 + + + 金色公开课 + + + 烹饪:豆沙面包 + + + 金色盛会:徐德兴 + + + 海洋风光 + + + 生活好技艺:点心 + + + 花样新时尚:江南越韵之美(14) + + + 乐学书画:篆刻(5) + + + 乐学大讲堂 + + + 烹饪:豆沙面包 + + + 上海老年大学-美丽中国 + + + 诗书画:诗书画史上的通才大家 + + + 烹饪:水果蛋糕 + + + 大医来了 + + + 烹饪:豆沙面包 + + + 烹饪:水果蛋糕 + + + 快乐生活帮 + + + 生活好技艺:点心 + + + 花样新时尚:江南越韵之美(14) + + + 乐学书画:篆刻(5) + + + 金色营养课 + + + 烹饪:豆沙面包 + + + 大医来了 + + + 金色公开课 + + + 烹饪:香蕉酥排 + + + 虹口区老年大学:百舞惊鸿 + + + 金色盛会(8):俞膺 + + + 快乐生活帮 + + + 烹饪:豆沙面包 + + + 烹饪:水果蛋糕 + + + 乐学书画:钢笔淡彩(1) + + + 烹饪:香蕉酥排 + + + 海洋风光 + + + 乐学大讲堂 + + + 烹饪:豆沙面包 + + + 上海老年大学-美丽中国 + + + 诗书画:诗书画史上的通才大家 + + + 烹饪:水果蛋糕 + + + 快乐生活帮 + + + 烹饪:豆沙面包 + + + 海洋风光 + + + 金色盛会:徐德兴 + + + 戏剧赏析:京剧 + + + 烹饪:香蕉酥排 + + + 烹饪:豆沙面包 + + + 上海老年大学东华大学分校:流光 + + + 生活好技艺:中西式点心-菠萝包 + + + 花样新时尚:江南越韵之美(15) + + + 乐学书画:钢笔淡彩(1) + + + 烹饪:水果蛋糕 + + + 烹饪:豆沙面包 + + + 智慧学习营:智能手机的生活应用 + + + 大医来了 + + + 金色公开课 + + + 烹饪:水果蛋糕 + + + 上海老年大学浦东分校-小河淌水 + + + 上海老年大学奉贤分校-国舞国韵 + + + 金色盛会(8):俞膺 + + + 大医来了 + + + 金色公开课 + + + 烹饪:水果蛋糕 + + + 上海老年大学浦东分校-小河淌水 + + + 上海老年大学奉贤分校-国舞国韵 + + + 金色盛会(8):俞膺 + + + 生活好技艺:中西式点心-菠萝包 + + + 花样新时尚:江南越韵之美(15) + + + 乐学书画:钢笔淡彩(1) + + + 烹饪:水果蛋糕 + + + 烹饪:豆沙面包 + + + 智慧学习营:智能手机的生活应用 + + + 金鹰卡通 + + + 熊出没之怪兽计划Ⅱ + + + 熊出没之怪兽计划Ⅱ + + + 熊出没之怪兽计划Ⅱ + + + 熊出没之怪兽计划Ⅱ + + + 闪亮闪亮太伶美 + + + 熊熊帮帮团Ⅰ、熊熊帮帮团Ⅱ + + + 熊出没之怪兽计划Ⅱ + + + 熊出没之秋日团团转 + + + 熊出没之秋日团团转 + + + 猪猪侠之超星五灵侠Ⅶ + + + 飞行幼乐园 + + + 巴啦啦小魔仙之曜星守护者 + + + 熊出没之秋日团团转 + + + 炫卡斗士Ⅱ + + + 爆笑虫子在中国 + + + 量子战队之恐龙守护Ⅱ + + + 熊出没之探险日记Ⅰ等 + + + 金鹰纪实 + + + 看世界 + + + 平民英雄 + + + 点赞中国 + + + 纪实真好看 + + + 传奇 + + + 动物星球 + + + 探索 + + + 探索 + + + 看世界 + + + 寰宇地理 + + + 历史片场 + + + 动物星球 + + + 动物星球 + + + 寰宇地理 + + + 动物星球 + + + 点赞中国 + + + 历史片场 + + + 纪实风云 + + + 精彩全纪实 + + + 精彩全纪实 + + + 精彩全纪实 + + + 纪实真好看 + + + 历史片场 + + + 寰宇地理 + + + 动物星球 + + + 纪实风云 + + + 纪录时间 + + + 点赞中国 + + + 新闻大求真 + + + 历史片场 + + + 纪实真好看 + + + 纪实风云 + + + 探索 + + + 传奇 + + + 看世界 + + + 钱江 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 钱江都市 + + + 12月1日串播QW11 + + + 浙江名医馆(集团)2024-336(健康浙江) + + + 健康浙江 主持人打call 医生打call + + + 1009 社区合伙人 + + + 《《锻刀之绝地重生》(二轮)》56(剧场版) + + + 《《锻刀之绝地重生》(二轮)》57(剧场版) + + + 《《锻刀之绝地重生》(二轮)》58(剧场版) + + + 1009 社区合伙人 + + + 健康浙江 主持人打call 医生打call + + + 《雾都》正在MTV + + + 《《锻刀之绝地重生》(二轮)》59(剧场版) + + + 1009 社区合伙人 + + + 健康浙江 主持人打call 医生打call + + + 《《锻刀之绝地重生》(二轮)》60(剧场版) + + + 1009 社区合伙人 + + + 《雾都》正在花絮2 + + + 健康浙江 主持人打call 医生打call + + + 《冰锋》47(剧场版) + + + 健康浙江 主持人打call 医生打call + + + 《雾都》正在花絮2 + + + 《冰锋》48(剧场版) + + + 专题 3月7日2380按摩椅20分 + + + 财富地产家2024-336(重播版) + + + 健康浙江 主持人打call 医生打call + + + 《冰锋》49(剧场版) + + + 1009 社区合伙人 + + + 浙江名医馆(集团)2024-336(健康浙江) + + + 健康浙江 发布 + + + 健康浙江 主持人打call 医生打call + + + 《雾都》正在MTV + + + 1009 社区合伙人 + + + 钱江传播 浙里帮40秒 + + + 《《锻刀之绝地重生》(二轮)》61(剧场版) + + + 12月2日串播QB1 + + + 12月1日福彩天天乐 + + + 1009 社区合伙人 + + + 健康浙江 发布 + + + 超能 冠名《雾都》正在花絮1 + + + 1009 社区合伙人 + + + 1119社区合伙人(国坤堂干草) + + + 12月2日串播QB2 + + + 《《锻刀之绝地重生》(二轮)》62(剧场版) + + + 专题 3月8日贡宝林秋梨膏10分 + + + 12月2日串播QB3 + + + 1009 社区合伙人 + + + 《雾都》正在花絮2 + + + 1119社区合伙人(国坤堂干草) + + + 12月2日串播QB4 + + + 浙江名医馆2024-337(精编版) + + + 专题 财富地产家精编版1202版10分钟 + + + 12月2日串播QB5 + + + 1119社区合伙人(国坤堂干草) + + + 《雾都》正在MTV + + + 1009 社区合伙人 + + + 12月2日串播QB6 + + + 复刻杭州三十六道美食 火蒙鞭笋 + + + 专题 11.25-12.5 国坤堂惠民团购会-30分钟 + + + 《中国地》1(剧场版) + + + 12月2日串播QB7 + + + 《中国地》2(剧场版) + + + 专题 财富地产家精编版1202版15分钟 + + + 1009 社区合伙人 + + + 超能 冠名《雾都》正在花絮1 + + + 1119社区合伙人(国坤堂干草) + + + 12月2日串播QB8 + + + 《中国地》3(剧场版) + + + 《中国地》4(剧场版) + + + 好易购 + + + 新闻0072024-049(重播版) + + + 范大姐帮忙2024-337(中午版) + + + 1009 社区合伙人 + + + 健康浙江 主持人打call 医生打call + + + 《雾都》正在MTV + + + 修改版 卫视 有歌2024 宣传片1227 + + + 《雾都》正在花絮2 + + + 12月2日串播QB9 + + + 1009 社区合伙人 + + + 健康浙江 主持人打call 医生打call + + + 《雾都》正在MTV + + + 12月2日串播QB10 + + + 《冰锋》50(剧场版) + + + 专题 1202 舒悦 钱江10分钟 + + + 12月2日串播QB11 + + + 修改版 卫视 有歌2024 宣传片1227 + + + 1009 社区合伙人 + + + 超能 冠名《雾都》正在花絮1 + + + 健康浙江 主持人打call 医生打call + + + 《雾都》正在MTV + + + 1009 社区合伙人 + + + 12月2日串播QB12 + + + 《冰锋》51(剧场版) + + + 1009 社区合伙人 + + + 《雾都》正在MTV + + + 修改版 卫视 有歌2024 宣传片1227 + + + 《雾都》正在花絮2 + + + 12月2日串播QB13 + + + 范大姐帮忙2024-337(午后版) + + + 12月2日串播QB14 + + + 专题 财富地产家精编版1202版15分钟 + + + 《冰锋》52(剧场版) + + + 12月2日串播QB15 + + + 浙江名医馆2024-337 + + + 《雾都》正在MTV + + + 健康浙江 发布 + + + 12月2日串播QW1 + + + 范大姐帮忙 + + + 1119社区合伙人(国坤堂干草) + + + 12月2日串播QW2 + + + 社区合伙人2024-337 + + + 浙江名医馆(集团)2024-337(健康浙江) + + + 超能 冠名《雾都》正在花絮1 + + + 12月2日串播QW3 + + + 超能 冠名《雾都》正在花絮1 + + + 修改版 卫视 有歌2024 宣传片1227 + + + 健康浙江 主持人打call 医生打call + + + 1119社区合伙人(国坤堂干草) + + + 12月2日串播QW4 + + + 《雾都》28(剧场版) + + + 12月2日串播QW5 + + + 超能 冠名《雾都》正在花絮1 + + + 1119社区合伙人(国坤堂干草) + + + 修改版 卫视 有歌2024 宣传片1227 + + + 《雾都》正在花絮2 + + + 1009 社区合伙人 + + + 健康浙江 主持人打call 医生打call + + + 12月2日串播QW6 + + + 《雾都》29(剧场版) + + + 12月2日串播QW7 + + + 12月2日串播QW8 + + + 九点半 + + + 财富地产家2024-283 + + + 12月2日福彩天天乐 + + + 1119社区合伙人(国坤堂干草) + + + 1009 社区合伙人 + + + 12月2日串播QW9 + + + 钱江传播 浙里帮40秒 + + + 超能 冠名《雾都》正在花絮1 + + + 《心想事成》47(剧场版) + + + 《雾都》正在MTV + + + 健康浙江 发布 + + + 0708节约粮食文明用餐 + + + 12月2日串播QW10 + + + 《心想事成》48(剧场版) + + + 0708节约粮食文明用餐 + + + 《雾都》正在花絮2 + + + 《《锻刀之绝地重生》(二轮)》61(剧场版) + + + 银川公共 + + + 精彩节目 + + + 市井传奇 + + + 新闻开讲 + + + 银川新闻联播新闻观察 + + + 直播银川 + + + 天天剧场 + + + 新闻开讲 + + + 银川新闻联播新闻观察 + + + 直播银川 + + + 午后剧场 + + + 资讯前沿 + + + 卡通剧场 + + + 新闻开讲 + + + 直播银川 + + + 转播中央台新闻联播 + + + 新闻观察 + + + 银川新闻联播 + + + 黄金剧场 + + + 晚间新闻 + + + 县区报道 + + + 最佳现场 + + + 星空剧场 + + + 银川文体 + + + 壹品时间 + + + 连续剧 + + + 风尚 + + + 音乐风云榜 + + + 连续剧 + + + 聚焦 + + + 小荣搜城 + + + 银川生活 + + + 精彩节目 + + + 探索 + + + 非常邵喧 + + + 奇趣大自然 + + + 金脸谱微电影 + + + 美丽俏佳人 + + + 电视剧 + + + 法制中国 + + + 法治银川 + + + 非常邵喧 + + + 汇生活 + + + 民生法制 + + + 兴工强市 + + + 卫生与健康 + + + 22点影院 + + + 新视界 + + + Discovery探索 + + + 法治银川 + + + 非常邵喧 + + + 情感剧场 + + + 银川消防 + + + 兴工强市 + + + 壹品时尚 + + + 房产报道 + + + 法治银川 + + + 22点影院 + + + 长春市民 + + + 吃喝玩乐 + + + 幸福食光 + + + 牌王电视擂台赛 + + + 正说家装 + + + 欢喜厨房 + + + 幸福食光 + + + 正说家装 + + + 吃喝玩乐 + + + 金牌管家 + + + 长春新闻 + + + 幸福食光 + + + 电视购物 + + + 健康之路 + + + 正说家装 + + + 牌王电视擂台赛 + + + 吃喝玩乐 + + + 正说家装 + + + 幸福食光 + + + 厨王争霸 + + + 长春政法报道 + + + 民生直播间 + + + 牌王电视擂台赛 + + + 吃喝玩乐 + + + 欢喜厨房 + + + 幸福食光 + + + 金牌管家 + + + 快乐生活一点通 + + + 长春政法报道 + + + 长春新闻 + + + 梅卿快车道 + + + 流年碎影 + + + 正说家装 + + + 牌王电视擂台赛 + + + 长春文旅体育 + + + 快乐大舞台 + + + 逗你乐翻天 + + + 优游行 + + + 奋斗 + + + 拾取光阴 + + + 岁月如歌新版 + + + 快乐大舞台 + + + 优游行 + + + 电影藏密 + + + 快乐喜剧 + + + 拾取光阴 + + + 快乐喜剧 + + + 拾取光阴 + + + 逗你乐翻天 + + + 天籁之音 + + + 拾取光阴 + + + 奋斗 + + + 优游行 + + + 剧场 + + + 优游行 + + + 剧场 + + + 《孙子兵法》 + + + 长春汽车 + + + 给你一个亿 + + + 流年碎影 + + + 透明厨房 + + + 生活行家 + + + 吃喝玩乐 + + + 幸福街18号 + + + 食在健康 + + + 党建园地 + + + 党风廉政视点 + + + 政协论坛 + + + 传奇 + + + 快乐生活一点通 + + + 健康之路 + + + 健康一身轻 + + + 长春经济 + + + 居家地产一 + + + 居家地产二 + + + 拍拍购 + + + 居家汽车版 + + + 居家装修 + + + 拍拍购 + + + 拍拍购 + + + 中国股市报告 + + + 居家地产一 + + + 居家地产二 + + + 居家汽车版 + + + 拍拍购 + + + 居家装修 + + + 居家地产一 + + + 长春综合 + + + 长春生活圈 + + + 正说家装 + + + 剧场 + + + 长春生活圈 + + + 城市速递午间版 + + + 正说家装 + + + 希望田野 + + + 快乐生活一点通 + + + 历史上的今天 + + + 直播达人秀 + + + 正说家装 + + + 奋斗 + + + 长春生活圈 + + + 快乐生活一点通 + + + 城市速递晚间版 + + + 长春新闻 + + + 转播中央电视台新闻联播 + + + 剧场 + + + 正说家装 + + + 长春新闻 + + + 历史上的今天 + + + 我的选择 + + + 长沙影视 + + + 重播五集剧场 + + + 白天剧场 + + + 白天剧场 + + + 白天剧场 + + + 白天剧场 + + + 消费大视野 + + + 白天剧场 + + + 白天剧场 + + + 白天剧场 + + + 白天剧场 + + + 休闲剧场 + + + 休闲剧场 + + + 休闲剧场 + + + 五集剧场 + + + 五集剧场 + + + 五集剧场 + + + 五集剧场 + + + 长沙政法 + + + 政法报道 + + + 知音人间 + + + 健康长沙 + + + 观点致胜 + + + 夜线 + + + 政法报道 + + + 买房帮帮帮 + + + 夜线 + + + 8点开讲 + + + 政法报道 + + + 专题片 + + + 健康长沙 + + + 8点开讲 + + + 观点致胜 + + + 第1家装 + + + 陕西一套 + + + 养母的花样年华 + + + 帮忙有一套 + + + 晚曲,台标,彩图 + + + 台标,晨曲 + + + 百家碎戏,大剧有一套 + + + 中华人民共和国国歌 + + + 北国英雄 + + + 专题 + + + 剧宣 + + + 北国英雄 + + + 专题 + + + 频宣 + + + 北国英雄 + + + 大剧有一套 + + + 帮忙有一套 + + + 百家碎戏:秋娥打官司 + + + 专题 + + + 梅花儿香 + + + 梅花儿香 + + + 频宣 + + + 大剧有一套 + + + 百家碎戏:被利用的母爱 + + + 专题 + + + 百家碎戏:老街故事(5) + + + 专题 + + + 百家碎戏:老街故事(6) + + + 专题 + + + 国风秦韵 + + + 专题 + + + 与狼共舞 + + + 专题 + + + 陕西天气预报 + + + 百家碎戏:冤家路宽 + + + 今日点击 + + + 陕西新闻联播 + + + 梦中的那片海 + + + 晚间新闻站 + + + 帮忙有一套 + + + 剧宣 + + + 百家碎戏:冤家路宽 + + + TV一周刊(928) + + + 养母的花样年华 + + + 陕西七套 + + + 陕西新闻联播 + + + 开心笑不停 + + + WWE世界摔跤娱乐 + + + 电视剧 + + + 团团赚 + + + 频宣 + + + 夺宝秦兵 + + + 重播:英超联赛 + + + 人文中国 + + + 开心笑不停 + + + 团团赚 + + + 畅游天下 + + + 开心斗地主 + + + 开心笑不停 + + + 导视 + + + 团团赚 + + + 夺宝秦兵 + + + 搏击王 + + + 开心斗地主 + + + 陕西三套 + + + 健康好生活 + + + 好管家 + + + 健康好生活 + + + 电视剧 + + + 好管家 + + + 电视剧 + + + 好管家 + + + 电视剧 + + + 健康好生活 + + + 电视剧 + + + 好管家 + + + 乐淘淘 + + + 财富生活 + + + 陕西新闻联播 + + + 陕西大卫生 + + + 乐淘淘 + + + 陕西二套 + + + 光阴里的故事 + + + 频宣 + + + 陕西新闻联播 + + + 频宣 + + + 天天网事 + + + 晚曲,台标,彩图 + + + 台标,晨曲 + + + 都市朗读者 + + + 频宣 + + + 都市动起来 + + + 频宣 + + + 好管家 + + + 频宣 + + + 他是谁 + + + 频宣 + + + 天天网事 + + + 频宣 + + + 都市朗读者 + + + 频宣 + + + 他是谁 + + + 频宣 + + + 他是谁 + + + 频宣 + + + 丝路美食之旅(10) + + + 丝路美食之旅(11) + + + 频宣 + + + 都市动起来 + + + 频宣 + + + 都市快报 + + + 频宣 + + + 虎胆巍城 + + + 频宣 + + + 虎胆巍城 + + + 频宣 + + + 虎胆巍城 + + + 频宣 + + + 虎胆巍城 + + + 频宣 + + + 虎胆巍城 + + + 频宣 + + + 怒放 + + + 频宣 + + + 好管家 + + + 频宣 + + + 都市热线 + + + 频宣 + + + 跟我回家 + + + 频宣 + + + 跟我回家 + + + 频宣 + + + 跟我回家 + + + 都市快报 + + + 天天网事 + + + 陕西故事 + + + 频宣 + + + 都市朗读者 + + + 频宣 + + + 快报生活+ + + + 频宣 + + + 光阴里的故事 + + + 陕西五套 + + + 文娱天天报 + + + 快乐能妗子 + + + 新说案 + + + 电视剧 + + + 秦声飞扬 + + + 名师高徒 + + + 百姓健康 + + + 快乐能妗子 + + + 文娱天天报 + + + 新说案 + + + 名师高徒 + + + 电视剧 + + + 快乐能妗子 + + + 文娱天天报 + + + 新说案 + + + 秦声飞扬 + + + 快乐能妗子 + + + 文娱天天报之天天美食 + + + 百姓健康 + + + 合家欢剧场 + + + 名师高徒 + + + 新说案 + + + 文娱天天报 + + + 陕西体育休闲 + + + 陕西新闻联播 + + + 开心笑不停 + + + WWE世界摔跤娱乐 + + + 电视剧 + + + 团团赚 + + + 频宣 + + + 夺宝秦兵 + + + 重播:英超联赛 + + + 人文中国 + + + 开心笑不停 + + + 团团赚 + + + 畅游天下 + + + 开心斗地主 + + + 开心笑不停 + + + 导视 + + + 团团赚 + + + 夺宝秦兵 + + + 搏击王 + + + 开心斗地主 + + + 陕西八套 + + + 秘杀名单 + + + 经典影时光 + + + 电视剧 + + + 健康大专家 + + + 青春蒙太奇 + + + 实力夹片秀 + + + 环球大银幕 + + + 陕西公共 + + + 文娱天天报 + + + 快乐能妗子 + + + 新说案 + + + 电视剧 + + + 秦声飞扬 + + + 名师高徒 + + + 百姓健康 + + + 快乐能妗子 + + + 文娱天天报 + + + 新说案 + + + 名师高徒 + + + 电视剧 + + + 快乐能妗子 + + + 文娱天天报 + + + 新说案 + + + 秦声飞扬 + + + 快乐能妗子 + + + 文娱天天报之天天美食 + + + 百姓健康 + + + 合家欢剧场 + + + 名师高徒 + + + 新说案 + + + 文娱天天报 + + + 陕西六套 + + + 电视购物 + + + 电视购物 + + + 电视购物 + + + 电视购物 + + + 电视购物 + + + 电视购物 + + + 电视购物 + + + 电视购物 + + + 陕西农林卫视 + + + 拉家常 + + + 秦之声大剧院 + + + 为老乡支一招 + + + 第一农经 + + + 拉家常 + + + 音画三秦 + + + 秦之声大剧院 + + + 第一农经 + + + 为老乡支一招 + + + 拉家常 + + + 秦之声大剧院 + + + 第一农经 + + + 为老乡支一招 + + + 中国农资秀 + + + 拉家常 + + + 秦之声大剧院 + + + 铁道游击队25 + + + 铁道游击队26 + + + 铁道游击队27 + + + 铁道游击队28 + + + 拉家常 + + + 专题节目十一 + + + 中国农资秀 + + + 秦之声大剧院 + + + 拉家常 + + + 为老乡支一招 + + + 秦之声大剧院 + + + 勇敢的心98 + + + 勇敢的心99 + + + 勇敢的心100 + + + 壮士出川1 + + + 打狗棍91 + + + 打狗棍92 + + + 第一农经 + + + 为老乡支一招 + + + 拉家常 + + + 第一农经 + + + 中国农资秀 + + + 专题节目二十七 + + + 农村大市场 + + + 东方侠客8 + + + 东方侠客9 + + + 陕西卫视 + + + 纪录时间 + + + 华山论鉴(重) + + + 剧:隋唐英雄传13 + + + 剧:隋唐英雄传14 + + + 剧:隋唐英雄传15 + + + 剧:隋唐英雄传16 + + + 剧:隋唐英雄传17 + + + 纪录时间 + + + 中华人民共和国国歌 + + + 陕西新闻联播(重) + + + 剧:武松 16 + + + 剧:武松 17 + + + 剧:武松 18 + + + 剧:武松 19 + + + 剧:薛仁贵传奇 1 + + + 剧:薛仁贵传奇 2 + + + 剧:薛仁贵传奇 3 + + + 剧:薛仁贵传奇 4 + + + 剧:薛仁贵传奇 5 + + + 动漫: 超能钢小侠 + + + 旅游天气预报 + + + 陕西新闻联播 + + + 转:中央新闻联播 + + + 剧:西北岁月21 + + + 剧:西北岁月 22 + + + 剧:飞哥大英雄 36 + + + 剧:飞哥大英雄 37 + + + 纪录时间 + + + 陕西四套 + + + 影享力 + + + 电视剧 + + + 非常派(重播) + + + 非常派(重播) + + + 电影直通车 + + + 首映 + + + 影享力 + + + 电视剧 + + + 影享力 + + + 首映 + + + 非常派 + + + 子夜影城 + + + 陕西影视 + + + 影享力 + + + 电视剧 + + + 非常派(重播) + + + 非常派(重播) + + + 电影直通车 + + + 首映 + + + 影享力 + + + 电视剧 + + + 影享力 + + + 首映 + + + 非常派 + + + 子夜影城 + + + 陕西新闻资讯 + + + 养母的花样年华 + + + 帮忙有一套 + + + 晚曲,台标,彩图 + + + 台标,晨曲 + + + 百家碎戏,大剧有一套 + + + 中华人民共和国国歌 + + + 北国英雄 + + + 专题 + + + 剧宣 + + + 北国英雄 + + + 专题 + + + 频宣 + + + 北国英雄 + + + 大剧有一套 + + + 帮忙有一套 + + + 百家碎戏:秋娥打官司 + + + 专题 + + + 梅花儿香 + + + 梅花儿香 + + + 频宣 + + + 大剧有一套 + + + 百家碎戏:被利用的母爱 + + + 专题 + + + 百家碎戏:老街故事(5) + + + 专题 + + + 百家碎戏:老街故事(6) + + + 专题 + + + 国风秦韵 + + + 专题 + + + 与狼共舞 + + + 专题 + + + 陕西天气预报 + + + 百家碎戏:冤家路宽 + + + 今日点击 + + + 陕西新闻联播 + + + 梦中的那片海 + + + 晚间新闻站 + + + 帮忙有一套 + + + 剧宣 + + + 百家碎戏:冤家路宽 + + + TV一周刊(928) + + + 养母的花样年华 + + + 陕西生活 + + + 健康好生活 + + + 好管家 + + + 健康好生活 + + + 电视剧 + + + 好管家 + + + 电视剧 + + + 好管家 + + + 电视剧 + + + 健康好生活 + + + 电视剧 + + + 好管家 + + + 乐淘淘 + + + 财富生活 + + + 陕西新闻联播 + + + 陕西大卫生 + + + 乐淘淘 + + + 陕西都市青春 + + + 光阴里的故事 + + + 频宣 + + + 陕西新闻联播 + + + 频宣 + + + 天天网事 + + + 晚曲,台标,彩图 + + + 台标,晨曲 + + + 都市朗读者 + + + 频宣 + + + 都市动起来 + + + 频宣 + + + 好管家 + + + 频宣 + + + 他是谁 + + + 频宣 + + + 天天网事 + + + 频宣 + + + 都市朗读者 + + + 频宣 + + + 他是谁 + + + 频宣 + + + 他是谁 + + + 频宣 + + + 丝路美食之旅(10) + + + 丝路美食之旅(11) + + + 频宣 + + + 都市动起来 + + + 频宣 + + + 都市快报 + + + 频宣 + + + 虎胆巍城 + + + 频宣 + + + 虎胆巍城 + + + 频宣 + + + 虎胆巍城 + + + 频宣 + + + 虎胆巍城 + + + 频宣 + + + 虎胆巍城 + + + 频宣 + + + 怒放 + + + 频宣 + + + 好管家 + + + 频宣 + + + 都市热线 + + + 频宣 + + + 跟我回家 + + + 频宣 + + + 跟我回家 + + + 频宣 + + + 跟我回家 + + + 都市快报 + + + 天天网事 + + + 陕西故事 + + + 频宣 + + + 都市朗读者 + + + 频宣 + + + 快报生活+ + + + 频宣 + + + 光阴里的故事 + + + 青岛TV1 + + + 一路朝阳23 + + + 新财经 + + + 名城文脉 + + + 劳动者 + + + 今日+ + + + 《学问》第六季 + + + 岛城先锋 + + + 奋力走在前 + + + 青岛新闻 + + + 早间气象 + + + 行风在线 + + + 财经广角 + + + 名城文脉 + + + 我站立的地方01 + + + 劳动者 + + + 青岛新闻 + + + 青岛海洋预报 + + + 岛城119 + + + 新财经 + + + 午间气象 + + + 一路朝阳07 + + + 一路朝阳08 + + + 奋力走在前 + + + 中国城市报道 + + + 今日+健康 + + + 今日+ + + + 制胜新经济 + + + 转播山东新闻联播 + + + 奋力走在前 + + + 转播中央台新闻联播 + + + 青岛新闻 + + + 天气预报1 + + + 探海 + + + 美好生活04 + + + 美好生活05 + + + 晚间新闻 + + + 名城文脉 + + + 武梁祠01 + + + 制胜新经济 + + + 奋力走在前 + + + 天气预报2 + + + 一路朝阳25 + + + 青岛TV2 + + + 真情调解 + + + 生活快线 + + + 新财经 + + + 生活在线上 + + + 生活在线中 + + + 生活在线下 + + + 早间气象 + + + 新财经 + + + 最强医声 + + + 健康青岛 + + + 真情调解 + + + 生活快线 + + + 生活在线上 + + + 生活在线中 + + + 生活在线下 + + + 午间气象 + + + 生活天天秀上 + + + 生活天天秀中 + + + 生活天天秀下 + + + 真情调解 + + + 生活有伴 + + + 生活快线 + + + (二)天气预报上 + + + (二)天气预报下 + + + 生活天天秀上 + + + 生活天天秀中 + + + 生活天天秀下 + + + 生活在线上 + + + 生活在线中 + + + 生活在线下 + + + 健康我来说 + + + 一见钟情 + + + 新财经 + + + 青岛全接触 + + + (二)天气预报上 + + + (二)天气预报下 + + + 生活在线上 + + + 生活在线中 + + + 生活在线下 + + + 一见钟情 + + + 青岛TV3 + + + 风筝 + + + 玫瑰之战05 + + + 玫瑰之战06 + + + 早间气象3分钟 + + + 我们的婚姻50 + + + 我们的婚姻51 + + + 我们的婚姻52 + + + 人生之路47 + + + 人生之路48 + + + 人生之路49 + + + 午间气象3分钟 + + + 财经广角 + + + 六和堂40 + + + 六和堂41 + + + 六和堂42 + + + 六和堂43 + + + 红房子51 + + + 红房子52 + + + 红房子53 + + + (三)天气预报 + + + 大江大河之岁月如歌16 + + + 大江大河之岁月如歌17 + + + (三)天气预报 + + + 玫瑰之战07 + + + 玫瑰之战08 + + + 红色娘子军 + + + 青岛TV4 + + + 棋牌英雄传之够级英雄2024 + + + 学业规划3.0 + + + 一起旅行吧 + + + 青岛全接触 + + + 棋牌英雄传之够级英雄2024 + + + 早间气象 + + + 棋牌英雄传之智斗地主2024 + + + 青岛老有才了 + + + 棋牌英雄传之够级英雄2024 + + + 棋牌英雄传之智斗地主2024 + + + 午间气象 + + + 棋牌英雄传之够级英雄2024 + + + 一起旅行吧 + + + 青岛全接触 + + + 青春之城16 + + + 青春之城17 + + + 一起旅行吧 + + + 青岛全接触 + + + 都市文化 + + + 青岛老有才了 + + + 天气预报 + + + 棋牌英雄传之智斗地主2024 + + + 棋牌英雄传之够级英雄2024 + + + 天气预报 + + + 一起旅行吧 + + + 都市文化 + + + 青岛老有才了 + + + 棋牌英雄传之智斗地主2024 + + + 棋牌英雄传之够级英雄2024 + + + 青岛TV5 + + + 真情调解 + + + 《最强医声》特别节目 + + + 青岛老有才了 + + + 生活有伴 + + + 真情调解 + + + 早间气象 + + + 棋牌英雄传之够级英雄2024 + + + 学业规划3.0 + + + 《最强医声》特别节目 + + + 棋牌英雄传之够级英雄2024 + + + 午间气象 + + + 真情调解 + + + 学业规划3.0 + + + 真情调解 + + + 棋牌英雄传之智斗地主2024 + + + 棋牌英雄传之够级英雄2024 + + + 体育风 + + + 天气预报 + + + 生活有伴 + + + 航拍中国 + + + 天气预报 + + + 真情调解 + + + 青岛老有才了 + + + 生活有伴 + + + 都市文化 + + + 真情调解 + + + 青岛TV6 + + + 天气预报 + + + 汉字解密 + + + 不惑之旅19 + + + 不惑之旅20 + + + 不惑之旅21 + + + 不惑之旅22 + + + 人世间21 + + + 人世间22 + + + 人世间23 + + + 人世间24 + + + 人世间25 + + + 小白帆乐园(四) + + + 小白帆乐园(三) + + + 小白帆乐园(六) + + + 小白帆大舞台 + + + 青岛教育新闻 + + + 名师导学 + + + 名师导学 + + + 汉字解密 + + + 汉字解密 + + + 师说 + + + 师说 + + + 青岛教育新闻 + + + 正是少年读书时 + + + 师说 + + + 师说 + + + 小白帆大舞台 + + + 教育新观察 + + + 天气预报 + + + 青岛影视 + + + 风筝 + + + 玫瑰之战05 + + + 玫瑰之战06 + + + 早间气象3分钟 + + + 我们的婚姻50 + + + 我们的婚姻51 + + + 我们的婚姻52 + + + 人生之路47 + + + 人生之路48 + + + 人生之路49 + + + 午间气象3分钟 + + + 财经广角 + + + 六和堂40 + + + 六和堂41 + + + 六和堂42 + + + 六和堂43 + + + 红房子51 + + + 红房子52 + + + 红房子53 + + + (三)天气预报 + + + 大江大河之岁月如歌16 + + + 大江大河之岁月如歌17 + + + (三)天气预报 + + + 玫瑰之战07 + + + 玫瑰之战08 + + + 红色娘子军 + + + 青岛教育 + + + 天气预报 + + + 汉字解密 + + + 不惑之旅19 + + + 不惑之旅20 + + + 不惑之旅21 + + + 不惑之旅22 + + + 人世间21 + + + 人世间22 + + + 人世间23 + + + 人世间24 + + + 人世间25 + + + 小白帆乐园(四) + + + 小白帆乐园(三) + + + 小白帆乐园(六) + + + 小白帆大舞台 + + + 青岛教育新闻 + + + 名师导学 + + + 名师导学 + + + 汉字解密 + + + 汉字解密 + + + 师说 + + + 师说 + + + 青岛教育新闻 + + + 正是少年读书时 + + + 师说 + + + 师说 + + + 小白帆大舞台 + + + 教育新观察 + + + 天气预报 + + + 青岛新闻综合 + + + 一路朝阳23 + + + 新财经 + + + 名城文脉 + + + 劳动者 + + + 今日+ + + + 《学问》第六季 + + + 岛城先锋 + + + 奋力走在前 + + + 青岛新闻 + + + 早间气象 + + + 行风在线 + + + 财经广角 + + + 名城文脉 + + + 我站立的地方01 + + + 劳动者 + + + 青岛新闻 + + + 青岛海洋预报 + + + 岛城119 + + + 新财经 + + + 午间气象 + + + 一路朝阳07 + + + 一路朝阳08 + + + 奋力走在前 + + + 中国城市报道 + + + 今日+健康 + + + 今日+ + + + 制胜新经济 + + + 转播山东新闻联播 + + + 奋力走在前 + + + 转播中央台新闻联播 + + + 青岛新闻 + + + 天气预报1 + + + 探海 + + + 美好生活04 + + + 美好生活05 + + + 晚间新闻 + + + 名城文脉 + + + 武梁祠01 + + + 制胜新经济 + + + 奋力走在前 + + + 天气预报2 + + + 一路朝阳25 + + + 青岛生活服务 + + + 真情调解 + + + 生活快线 + + + 新财经 + + + 生活在线上 + + + 生活在线中 + + + 生活在线下 + + + 早间气象 + + + 新财经 + + + 最强医声 + + + 健康青岛 + + + 真情调解 + + + 生活快线 + + + 生活在线上 + + + 生活在线中 + + + 生活在线下 + + + 午间气象 + + + 生活天天秀上 + + + 生活天天秀中 + + + 生活天天秀下 + + + 真情调解 + + + 生活有伴 + + + 生活快线 + + + (二)天气预报上 + + + (二)天气预报下 + + + 生活天天秀上 + + + 生活天天秀中 + + + 生活天天秀下 + + + 生活在线上 + + + 生活在线中 + + + 生活在线下 + + + 健康我来说 + + + 一见钟情 + + + 新财经 + + + 青岛全接触 + + + (二)天气预报上 + + + (二)天气预报下 + + + 生活在线上 + + + 生活在线中 + + + 生活在线下 + + + 一见钟情 + + + 青岛财经资讯 + + + 棋牌英雄传之够级英雄2024 + + + 学业规划3.0 + + + 一起旅行吧 + + + 青岛全接触 + + + 棋牌英雄传之够级英雄2024 + + + 早间气象 + + + 棋牌英雄传之智斗地主2024 + + + 青岛老有才了 + + + 棋牌英雄传之够级英雄2024 + + + 棋牌英雄传之智斗地主2024 + + + 午间气象 + + + 棋牌英雄传之够级英雄2024 + + + 一起旅行吧 + + + 青岛全接触 + + + 青春之城16 + + + 青春之城17 + + + 一起旅行吧 + + + 青岛全接触 + + + 都市文化 + + + 青岛老有才了 + + + 天气预报 + + + 棋牌英雄传之智斗地主2024 + + + 棋牌英雄传之够级英雄2024 + + + 天气预报 + + + 一起旅行吧 + + + 都市文化 + + + 青岛老有才了 + + + 棋牌英雄传之智斗地主2024 + + + 棋牌英雄传之够级英雄2024 + + + 青岛都市 + + + 真情调解 + + + 《最强医声》特别节目 + + + 青岛老有才了 + + + 生活有伴 + + + 真情调解 + + + 早间气象 + + + 棋牌英雄传之够级英雄2024 + + + 学业规划3.0 + + + 《最强医声》特别节目 + + + 棋牌英雄传之够级英雄2024 + + + 午间气象 + + + 真情调解 + + + 学业规划3.0 + + + 真情调解 + + + 棋牌英雄传之智斗地主2024 + + + 棋牌英雄传之够级英雄2024 + + + 体育风 + + + 天气预报 + + + 生活有伴 + + + 航拍中国 + + + 天气预报 + + + 真情调解 + + + 青岛老有才了 + + + 生活有伴 + + + 都市文化 + + + 真情调解 + + + 青海卫视 + + + 午夜剧场 + + + 午夜剧场 + + + 午夜剧场 + + + 午夜剧场 + + + 午夜剧场 + + + 午夜剧场 + + + 纪录时间 + + + 纪录时间 + + + 动画片剧场:航海少年团 + + + 昆仑眼 + + + 午夜剧场 + + + 青海新闻联播 + + + 江源扫描 + + + 纪录时间 + + + 昆仑剧场:新白娘子传奇(12) + + + 昆仑剧场:新白娘子传奇(13) + + + 昆仑剧场:新白娘子传奇(14) + + + 昆仑剧场:新白娘子传奇(15) + + + 昆仑剧场:新白娘子传奇(16) + + + 午间360 + + + 郁金香剧场:新白娘子传奇(17) + + + 郁金香剧场:新白娘子传奇(18) + + + 郁金香剧场:新白娘子传奇(19) + + + 郁金香剧场:新白娘子传奇(20) + + + 郁金香剧场:新白娘子传奇(21) + + + 动画片剧场:航海少年团 + + + 青海新闻联播 + + + 转播中央新闻联播 + + + 第一挑战剧场:换了人间(23) + + + 第一挑战剧场:换了人间(24) + + + 昆仑眼 + + + 晚间播报 + + + 今日青海 + + + 深夜剧场 + + + 大牌开讲 + + + 深夜剧场 + + + 青海经视 + + + 午夜剧场 + + + 经视法案 + + + 百姓1时间 + + + 晚间播报 + + + 白天剧场 + + + 白天剧场 + + + 白天剧场 + + + 江源扫描 + + + 百姓1时间 + + + 经视法案 + + + 中华好养生 + + + 白天剧场 + + + 白天剧场 + + + 小神龙俱乐部 + + + 百姓1时间 + + + 经视法案 + + + 首播剧场 + + + 首播剧场 + + + 百姓1时间 + + + 经视法案 + + + 午夜剧场 + + + 青海综合 + + + 重播中央台新闻联播 + + + 天气预报 + + + 江河浪花 + + + 电视剧场 + + + 金色童年 + + + 青海新闻联播 + + + 天气预报 + + + 剧场 + + + 动画片 + + + 名家讲坛 + + + 电视剧场 + + + 青海新闻联播 + + + 天气预报 + + + 生活视线 + + + 吉祥金桥 + + + 电视剧场 + + + 重播中央台新闻联播 + + + 青海新闻联播 + + + 青海都市 + + + 第一首映 + + + 极致 + + + 电视剧场 + + + 极致 + + + 午间360度 + + + 乡村纪事 + + + 动画片剧场 + + + 电视剧 + + + 电视剧场 + + + 本省天气预报 + + + 青海新闻联播 + + + 电视剧场 + + + 晚间气象 + + + 健康之路 + + + 午夜剧场 + + + 鞍山新闻综合 + + + 原声中国(2) + + + 再见曲 + + + 测试卡 + + + 记住乡愁5(18) + + + 生活加油站 + + + 第一生活 + + + 家庭小课堂 + + + 中华人民共和国国歌 + + + 鞍山新闻 + + + 空中立交桥 + + + 纪录鞍山(2) + + + 生活加油站 + + + 记住乡愁5(18) + + + 生活加油站 + + + 家庭小课堂 + + + 生活加油站 + + + 卢作孚(1):出路 + + + 家庭小课堂 + + + 警察荣誉(31) + + + 家庭小课堂 + + + 警察荣誉(32) + + + 第一生活 + + + 娘亲舅大(16) + + + 生活加油站 + + + 娘亲舅大(17) + + + 娘亲舅大(18) + + + 生活加油站 + + + 第一生活 + + + 家庭小课堂 + + + 棉花糖和云朵妈妈-快乐生活2 + + + 直播前沿 + + + 辽宁新闻 + + + 转播中央台新闻联播 + + + 鞍山新闻 + + + 链接·鞍山新闻+ + + + 天气预报 + + + 廉政时空 + + + 警察荣誉(33) + + + 警察荣誉(34) + + + 鞍山新闻 + + + 链接·鞍山新闻+ + + + 天气预报 + + + 第一生活 + + + 舞动童年 + + + 记住乡愁5(18) + + + 卢作孚(1):出路 + + + 韶关新闻 + + + 重播发现特产 + + + 重播县市区连线·新丰 + + + 欢乐早场 + + + 重播发现特产 + + + 重播县市区连线·新丰 + + + 下午大放送 + + + 石头剪刀布 + + + 全市新闻联播 + + + 第一新闻 + + + 县市区连线·始兴 + + + 技能天下 + + + 韶视剧场 + + + 风云剧场 + + + 胡同 31/36 + + + 胡同 32/36 惴 + + + 胡同 33/36 + + + 胡同 34/36 + + + 胡同 35/36 + + + 胡同 36/36 + + + 风云剧场-叶卡捷琳娜二世(俄罗斯)第一季7(许可证版) + + + 风云剧场-叶卡捷琳娜二世(俄罗斯)第一季8(许可证版) + + + 风云剧场-叶卡捷琳娜二世(俄罗斯)第一季9(许可证版) + + + 谁说我结不了婚 1/39 + + + 谁说我结不了婚 2/39 + + + 谁说我结不了婚 3/39 + + + 谁说我结不了婚 4/39 + + + 谁说我结不了婚 5/39 + + + 谁说我结不了婚 6/39 沶 + + + !如果奔跑是我的人生 20/28 + + + !如果奔跑是我的人生 21/28 + + + !如果奔跑是我的人生 22/28 + + + 风云剧场-叶卡捷琳娜二世(俄罗斯)第一季10(许可证版) + + + 风云剧场-叶卡捷琳娜二世(俄罗斯)第二季1(许可证版) + + + 风云剧场-叶卡捷琳娜二世(俄罗斯)第二季2(许可证版) + + + 风云足球 + + + 精彩呈现 + + + 德甲联赛第6轮:柏林联-多特蒙德 + + + 英超联赛第7轮:阿斯顿维拉-曼联 + + + 足球华彩:城记-米兰 + + + 足球华彩:城记-罗马 + + + 足球华彩:罗马城十大经典比赛 + + + 欧冠联赛小组赛:塞维利亚-阿森纳 + + + 欧冠联赛:巴塞罗那-顿涅茨克矿工 + + + 欧冠小组赛:巴黎圣日耳曼-米兰 + + + 欧冠小组赛:米兰-巴黎圣日耳曼 + + + 英超联赛第7轮:阿斯顿维拉-曼联 + + + 2024-2025法甲第7轮:雷恩-摩纳哥 + + + 2024南美杯决赛 + + + 2023-2024赛季意甲联赛第34轮 + + + 2023-2024赛季意甲联赛第35轮 + + + 法甲联赛第5轮:洛里昂-摩纳哥 + + + 2023-2024法甲第5轮:雷恩-里尔 + + + 全国青少年三大球运动会男足 + + + 德甲第12轮:多特蒙德-拜仁慕尼黑 + + + 英超第13轮:水晶宫-纽卡斯尔联 + + + 2024-2025法甲第7轮:雷恩-摩纳哥 + + + 风云音乐 + + + CCTV音乐厅-2022-87-名家名曲(3) + + + 一起音乐吧-2022-50 温婉旋律最抚人心 + + + 乐享汇-2023-20 + + + 星光大道-2024-11 + + + 回声嘹亮-2022-36 + + + 地中海风尚-2020-81 + + + 地中海风尚-2020-82 + + + 中国节拍-2023-123 + + + 一起音乐吧-2022-49 时光系列-10年代(下) + + + 乐享汇-2023-19 饵 + + + 星光大道-2024-10 浺 + + + 音乐公开课-2024-30 浺 + + + 地中海风尚-2020-80 + + + 一起音乐吧-2023-99 + + + 乐享汇-2023-21 + + + 地中海风尚-2020-83 + + + 地中海风尚-2020-84 + + + 星光大道-2024-12 + + + 童声唱-2024-27 + + + CCTV音乐厅-2022-88-名家名曲(4) + + + 高尔夫网球 + + + 赛事集锦:高尔夫欧巡赛精选(7) + + + 赛事集锦:ATP1000男子网球大师赛 + + + 赛事集锦:高尔夫欧巡赛精选(2) + + + 2024年美国网球公开赛女单半决赛 + + + 赛事集锦:高尔夫欧巡赛精选(21) + + + 美网女单第四轮:郑钦文-维基奇 + + + 赛事集锦:高尔夫欧巡赛精选(20) + + + ATP1000男子网球大师赛巴黎站 + + + 2024年LPGA锦标赛第三轮 + + + 巴黎奥运会网球精选混双半决赛 + + + 2022年英国高尔夫公开赛第三轮 + + + 2024武汉网球公开赛女单1/4决赛 + + + 赛事集锦:英国女子高尔夫公开赛 + + + 2024年中国网球公开赛男单第一轮 + + + 赛事集锦:高尔夫欧巡赛精选(23) + + + 高清大片 + + + 马文的战争 + + + 庐山恋2010 + + + 柳如是 + + + 搞定岳父大人 + + + 马文的战争 + + + 浮城谜事 + + + 华丽之后 + + + 歼十出击 + + + 盗版爱情 + + + 擦枪走火 + + + 交锋 + + + 建党伟业 + + + 堵车 + + + 达人也疯狂 + + + 大人物 + + + 床下有人 + + + 初恋时光 + + + 超时空救兵 + + + 魅力潇湘 + + + 澡堂也疯狂 + + + 第3期:郭德纲于谦为啥打起来了? + + + 生活圈 + + + 生活圈 + + + 巧用酸味来养生(三) + + + 巧用酸味来养生(四) + + + 回家吃饭 + + + 回家吃饭 + + + 回家吃饭 + + + 回家吃饭 + + + 大嫁风尚(第35集) + + + 大嫁风尚(第36集) + + + 大嫁风尚(第37集) + + + 大嫁风尚(第38集) + + + 暴走财神3 + + + 乡村爱情8:浪漫曲(下)(第29集) + + + 乡村爱情8:浪漫曲(下)(第30集) + + + 乡村爱情8:浪漫曲(下)(第31集) + + + 金银细作 + + + 金陵刻经 + + + 香江叹茶 + + + 怒放(第08集) + + + 怒放(第09集) + + + 怒放(第10集) + + + 怒放(第11集) + + + 怒放(第12集) + + + 第15期:INTO1甘望星踢馆体育赛 + + + 蟒山 + + + 魅力足球 + + + 英超第3轮:切尔西-水晶宫 + + + 英超第3轮:西汉姆联-曼城 + + + 英超第3轮:切尔西-水晶宫 + + + 亚冠1/4决赛:浦和红钻-BG巴吞联 + + + 英超第3轮:西汉姆联-曼城 + + + 英超第3轮:切尔西-水晶宫 + + + 亚冠1/4决赛:浦和红钻-BG巴吞联 + + + 英超第3轮:西汉姆联-曼城 + + + 黄河卫视 + + + 谁是高手双升 + + + 夜黄河剧场 + + + 早间剧场 + + + 早间剧场 + + + 山西新闻联播 + + + 汇通天下 + + + 1890 + + + 黄河大交通 + + + 黄河新闻 + + + 黄河一拨就灵 + + + 谁是高手双升 + + + 民生大剧场 + + + 真相解码 + + + 汇通天下 + + + 黄河大交通 + + + 黄河新闻 + + + 1890 + + + 真相解码 + + + 黄河大剧场 + + + 真相解码 + + + 黑莓动画 + + + 56_西行纪 + + + 21_一人之下第二季 + + + 09_我靠充值当武帝 + + + 35_名侦探柯南(一)(普通话版) + + + 08_星辰变第二季 + + + 17_蓝色监狱 + + + 21_马达加斯加企鹅第二季 + + + 05_葬送的芙莉莲 + + + 14_雷欧奥特曼 重制版 普通话版 + + + 04_宝贝多米之动物真奇妙 + + + 06_优宝儿歌第三季 + + + 刷牙歌 + + + 小乌龟也会飞 + + + 01_百变马丁儿歌 + + + 21_安迪的海底冒险中文版 + + + 07_钢铁飞龙2龙魂觉醒 + + + 24_超级水上竞技赛 + + + 08_小马宝莉:我的可爱标志上 + + + 19_百变校巴7 + + + 汪汪队立大功第3季22 + + + 21_钶龙战记 + + + 百变布鲁可第4季第7集 + + + 26_嗨道奇第2季中文版 + + + 51_熊出没之小小世界 + + + 04_猪猪侠之超星五灵侠6 + + + 110_一只笨笨的小恐龙 + + + 13_植物精灵大战僵尸怪 + + + 大牙和巫女的DIY娃娃粘画争夺战 + + + 70_笨蛋波波与小宝 + + + 43_坦克世界动画:阻击黑暗野兽 + + + 僵尸博士制造黑暗小志 来偷霸王龙能量魔方心奇爆龙 + + + 22_神探丝丝 下 + + + 06_载重直升机 + + + 21_重力与卫星 + + + 黑莓电影 + + + 挑战未来 + + + 改编剧本 + + + 电击少女 + + + 无眸之杀 + + + 拳霸3 + + + 情定红海滩 + + + 斗战苍穹 + + + 曝b7光 + + + 守边人 + + + 新干线大爆破 + + + 孙悟空大战盘丝洞 + + + 黑龙江农业科教 + + + 开始 + + + 改变世界的30分钟 + + + 北大荒新闻 + + + 北大荒观察 + + + 遇事找法 + + + 记住乡愁 + + + 欢乐英雄转 + + + 嗨翻课堂 + + + 一起传承吧 + + + 三农最前线 + + + 记住乡愁 + + + 白天剧场 + + + 北大荒观察 + + + 北大荒新闻 + + + 白天剧场 + + + 白天剧场 + + + 欢乐英雄转 + + + 北大荒观察 + + + 北大荒新闻 + + + 欢乐英雄转 + + + 三农直播间 + + + 北大荒新闻 + + + 改变世界的30分钟 + + + 欢乐英雄转 + + + 三农直播间 + + + 全省新闻联播 + + + 精品节目 + + + 黑龙江卫视 + + + 百年巨匠2:邓稼先(下) + + + 爱上这座城 + + + 故事里的黑龙江 + + + 一起读书吧2 + + + 打狗棍 + + + 打狗棍 + + + 共度晨光 + + + 共度晨光 + + + 飞虎队 + + + 飞虎队 + + + 棉花糖和云朵妈妈之快乐生活2:最棒的纸盒屋(上) + + + 棉花糖和云朵妈妈之快乐生活2:最棒的纸盒屋(下) + + + 棉花糖和云朵妈妈之快乐生活2:反着来的游戏(上) + + + 棉花糖和云朵妈妈之快乐生活2:反着来的游戏(下) + + + 棉花糖和云朵妈妈之快乐生活2:奶奶的宝贝(上) + + + 棉花糖和云朵妈妈之快乐生活2:奶奶的宝贝(下) + + + 阳光剧场:飞虎队 + + + 阳光剧场:飞虎队 + + + 阳光剧场:飞虎队 + + + 阳光剧场:猎杀 + + + 阳光剧场:猎杀 + + + 阳光剧场:猎杀 + + + 阳光剧场:猎杀 + + + 阳光剧场:猎杀 + + + 视点 + + + 天气预报 + + + 全省新闻联播 + + + 转播中央台新闻联播 + + + 中国龙剧场:好事成双 15 + + + 中国龙剧场:好事成双 16 + + + 幸福私房菜 + + + 活力剧场:狙击部队 + + + 活力剧场:狙击部队 + + + 黑龙江少儿 + + + 开始 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + 动画片 + + + 了不起的少年 + + + 动画片 + + + 剧场 + + + 剧场 + + + 剧场 + + + 剧场 + + + 剧场 + + + 剧场 + + + 剧场 + + + 动画片 + + + 了不起的少年 + + + 动画片 + + + 动画片 + + + 动画片 + + + 了不起的少年 + + + 动画片 + + + 动画片 + + + 黑龙江影视 + + + 开始 + + + 剧场 + + + 剧场 + + + 剧场 + + + 剧场 + + + 剧场 + + + 剧场 + + + 剧场 + + + 剧场 + + + 名医开讲 + + + 剧场 + + + 剧场 + + + 剧场 + + + 医疗快车 + + + 剧场 + + + 剧场 + + + 剧场 + + + 剧场 + + + 剧场 + + + 医疗快车 + + + 剧场 + + + 剧场 + + + 名医开讲 + + + 剧场 + + + 影视靓点 + + + 剧场 + + + 剧场 + + + 剧场 + + + 剧场 + + + 剧场 + + + 黑龙江文体 + + + 开始 + + + 昆仑决(304) + + + 昆仑决(305) + + + 昆仑决(306) + + + 周末游龙江 + + + 快乐POKER派:斗地主精编 + + + 快乐POKER派 + + + 百草养生苑 + + + 悬崖(23) + + + 悬崖(24) + + + 悬崖(25) + + + 周末游龙江 + + + 悬崖(25) + + + 快乐POKER派:斗地主精编 + + + 医疗快车 + + + 快乐POKER派 + + + 悬崖(25) + + + 悬崖(26) + + + 悬崖(27) + + + 悬崖(28) + + + 快乐POKER派 + + + 相亲相爱 + + + 快乐POKER派 + + + 剧场 + + + 云享旅拍 + + + 快乐POKER派 + + + 黑龙江新闻 + + + 开始 + + + 新闻法治在线 + + + 以案说法 + + + 龙视直播间 + + + 天天说新闻 + + + 以案说法 + + + 新闻法治在线 + + + 龙视直播间 + + + 真相 + + + 百草养生苑 + + + 以案说法 + + + 新闻法治在线 + + + 剧场 + + + 仁心说医事 + + + 天天说新闻 + + + 天天见医面 + + + 剧场 + + + 仁心说医事 + + + 剧场 + + + 仁心说医事 + + + 剧场 + + + 天天见医面 + + + 剧场 + + + 剧场 + + + 仁心说医事 + + + 剧场 + + + 仁心说医事 + + + 剧场 + + + 龙视直播间 + + + 天天说新闻 + + + 新闻法治在线 + + + 真相 + + + 以案说法 + + + 天天说新闻 + + + 新闻联播 + + + 新闻法治在线 + + + 黑龙江新闻法制 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 黑龙江都市 + + + 开始 + + + 新闻夜航 + + + 以案说法 + + + 真相 + + + 以案说法 + + + 新闻夜航 + + + 以案说法 + + + 新闻夜航 + + + 天天说新闻 + + + 全省新闻联播 + + + 新闻夜航 + + + 仁心说医事 + + + 剧场 + + + 仁心说医事 + + + 剧场 + + + 仁心说医事 + + + 剧场 + + + 你好医生 + + + 剧场 + + + 仁心说医事 + + + 剧场 + + + 名医课堂帮您解决 + + + 剧场 + + + 你好医生 + + + 剧场 + + + 剧场 + + + 剧场 + + + 仁心说医事 + + + 剧场 + + + 名医课堂帮您解决 + + + 剧场 + + + 剧场 + + + 天下夜航 + + + 新闻夜航 + + + 以案说法 + + + 剧场 + + + 以案说法 + + + 新闻夜航 + + + 齐鲁 + + + 我是大美人 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 平民英雄 + + + 新闻大求真 + + + 新闻大求真 + + + 新闻当事人 + + + 我的纪录片 + + + 新闻大求真 + + + 我的纪录片 + + + 中华人民共和国国歌 + + + 湖南新闻联播 + + + 偶像独播剧场:情谜睡美人(74) + + + 动画片剧场 + + + 偶像独播剧场:情谜睡美人(75) + + + 偶像独播剧场:情谜睡美人(76) + + + 偶像独播剧场:情谜睡美人(77) + + + 偶像独播剧场:情谜睡美人(78) + + + 龙祥时代 + + + 暴雨驕陽 + + + 前度 + + + 一見發財 + + + 報告班長2 + + + 追夢人 + + + 千王 + + + 伊莎貝拉(雙語) + + + 北京樂與路 + + + 鬼抓人 + + + 三少爺的劍 + + + 一個好爸爸 + + + NEWTV超级综艺 + + + 06_特战荣耀 + + + 07_特战荣耀 + + + 08_特战荣耀 + + + 勇者之战 + + + 选对健康 + + + 国之颂 + + + 此生要去的100个地方 + + + 越战越勇 + + + 非常6+1 + + + 星光大道 + + + 开门大吉 + + + 非遗里的中国第2季 + + + 一笑一周 + + + 国家宝藏 第四季 + + + 会唱歌的院子 + + + 乐在旅途 第二季 + + + NEWTV超级体育 + + + 实况录像-2024年四大洲速度滑冰锦标赛 2 + + + 实况录像-2024/2025赛季花样滑冰大奖赛 美国站 + + + 国际足球赛场-24-25赛季法国足球甲级联赛第3轮 + + + 实况录像-2024年世界健美操锦标赛 1 + + + 赛事集锦-2024年射箭世界杯总决赛1 + + + 健身动起来 + + + 体坛晨报 + + + 赛事集锦(奥林匹克)-2024年中国杯世界花样滑冰大奖赛 表演滑 + + + 2024/2025赛季雪车世界杯-中国北京站 女子钢架雪车决赛 + + + 2024年国际乒联混合团体世界杯-第一阶段 第2轮(韩国队-中国台北队) + + + 体坛快讯 + + + 2024年国际乒联混合团体世界杯-第一阶段 第2轮(中国队-印度队) + + + 艺术里的奥林匹克 + + + 实况录像-2024/2025赛季中国男子篮球职业联赛 第12轮 + + + 2024/2025德国足球甲级联赛-第12轮(多特蒙德-拜仁慕尼黑) + + + 实况录像-2024/2025赛季单板滑雪世界杯 中国美林站 平行大回转 + + + NEWTV超级电影 + + + 那山,那人,那狗 + + + 李明瑞 + + + 抗日名将卫立煌 + + + 不老奇事 + + + 我和我的家乡:回乡之路 + + + 云中的郎木寺 + + + 绝代 + + + 车祸疑云 + + + 电影《年兽》 + + + 电影《你若安好》 + + + 电影《武神苏乞儿之黄金海盗》 + + + 电影《百团大战》 + + + NEWTV超级电视剧 + + + 15_黑白禁区 + + + 16_黑白禁区 + + + 17_黑白禁区 + + + 18_黑白禁区 + + + 19_黑白禁区 + + + 11_刘家媳妇 + + + 12_刘家媳妇 + + + 13_刘家媳妇 + + + 14_刘家媳妇 + + + 15_刘家媳妇 + + + 05_我怕来不及 + + + 06_我怕来不及 + + + 07_我怕来不及 + + + 08_我怕来不及 + + + 10_巾帼枭雄之悬崖(普通话) + + + 11_巾帼枭雄之悬崖(普通话) + + + 12_巾帼枭雄之悬崖(普通话) + + + 13_巾帼枭雄之悬崖(普通话) + + + 04_烽烟尽处 + + + 05_烽烟尽处 + + + 06_烽烟尽处 + + + 07_烽烟尽处 + + + 45_长歌行 + + + 46_长歌行 + + + NEWTV精品大剧 + + + 09_家有喜妇(DVD版) + + + 10_家有喜妇(DVD版) + + + 11_家有喜妇(DVD版) + + + 12_家有喜妇(DVD版) + + + 13_家有喜妇(DVD版) + + + 41_燕云台 + + + 42_燕云台 + + + 43_燕云台 + + + 44_燕云台 + + + 16_倚天屠龙记 + + + 德国卡赫纯钛RO反渗透净水器-渠道(右) + + + 17_倚天屠龙记 + + + 18_倚天屠龙记 + + + 19_倚天屠龙记 + + + 英国奥戈那折叠式取暖器-渠道(右) + + + 15_梦中的那片海 + + + 16_梦中的那片海 + + + 德国米技炉周年庆超值惠选装-渠道(右) + + + 17_梦中的那片海 + + + 18_梦中的那片海 + + + 美康利健激光前列腺治疗仪-渠道(右) + + + 22_女特警 + + + NEWTV精品纪录 + + + 第三集 长驱直入 + + + 07_放射学专家 徐赛英 + + + 08_农村小伙变身哈佛教授 康景轩 + + + 01_下一站,火星 + + + 第一集 往事千年 + + + 第二集 中国探月 + + + 民族丰碑 马本斋 + + + 女界光明 向警予 + + + 06_棹歌四海 + + + 第5集:机器人海盗 + + + 盐池——塞上牧歌传四方(20230813) + + + 谁为“熊孩子”的行为买单 + + + 玩火的孩子 + + + 少年天价网络消费 + + + 01_烧烤店里的医学人生 + + + 02_CBD里的小小自习室 + + + 第5集:年夜饭浙江篇 + + + 德国米技炉周年庆超值惠选装-渠道(右) + + + 06_酥 + + + 第3集:长大 + + + 02_重返刺桐城 + + + 国史通鉴b7宋元时代 16 建中不易 + + + 英国奥戈那折叠式取暖器-渠道(右) + + + 国史通鉴b7宋元时代 17 与虎谋皮 + + + 探秘玛雅 + + + 飞碟之谜(上) + + + KGTOUE体感语音操控大吸力烟机-渠道(右) + + + NEWTV古装剧场 + + + 19_大戏法 + + + 20_大戏法 + + + 21_大戏法 + + + 22_大戏法 + + + 10_三生三世枕上书 + + + 11_三生三世枕上书 + + + 12_三生三世枕上书 + + + 13_三生三世枕上书 + + + 46_长歌行 + + + 47_长歌行 + + + 德国米技炉周年庆超值惠选装-渠道(右) + + + 48_长歌行 + + + 49_长歌行 + + + 英国奥戈那折叠式取暖器-渠道(右) + + + 31_九流霸主 + + + 32_九流霸主 + + + KGTOUE体感语音操控大吸力烟机-渠道(右) + + + 33_九流霸主 + + + 34_九流霸主 + + + 35_锦绣安宁 + + + POKONDA智能四轮电动代步车-渠道(右) + + + NEWTV军旅剧场 + + + 19_黎明决战 + + + 20_黎明决战 + + + 21_黎明决战 + + + 22_黎明决战 + + + 23_黎明决战 + + + 27_海魂 + + + 28_海魂 + + + 29_海魂 + + + 30_海魂 + + + 04_前夜 + + + 05_前夜 + + + 美康利健激光前列腺治疗仪-渠道(右) + + + 06_前夜 + + + 07_前夜 + + + 29_李三枪 + + + BEYONPAN钛锅升级款-渠道(右) + + + 30_李三枪 + + + 31_李三枪 + + + 32_李三枪 + + + 14_画眉 + + + 15_画眉 + + + 16_画眉 + + + NEWTV家庭剧场 + + + 36_儿女情更长 + + + 37_儿女情更长 + + + 38_儿女情更长 + + + 39_儿女情更长 + + + 01_我的爱对你说 + + + 02_我的爱对你说 + + + 03_我的爱对你说 + + + 04_我的爱对你说 + + + 21_都市外乡人 + + + 22_都市外乡人 + + + 23_都市外乡人 + + + 01_大都市小爱情 + + + 德国卡赫纯钛RO反渗透净水器-渠道(右) + + + 09_真情给你 + + + 10_真情给你 + + + 11_真情给你 + + + 英国奥戈那折叠式取暖器-渠道(右) + + + 12_真情给你 + + + 11_高兴的酸甜苦辣 + + + 德国米技炉周年庆超值惠选装-渠道(右) + + + 12_高兴的酸甜苦辣 + + + 美康利健激光前列腺治疗仪-渠道(右) + + + NEWTV热播精选 + + + 英雄之战 + + + 27_最好的时代 + + + 28_最好的时代 + + + 29_最好的时代 + + + 30_最好的时代 + + + 31_最好的时代 + + + 千古风流人物第4季 + + + 24_乐游原 + + + 25_乐游原 + + + KGTOUE体感语音操控大吸力烟机-渠道(右) + + + 26_乐游原 + + + 27_乐游原 + + + POKONDA智能四轮电动代步车-渠道(右) + + + 龙门镇客栈 + + + 德国卡赫纯钛RO反渗透净水器-渠道(右) + + + 21_梅花红桃 + + + 22_梅花红桃 + + + 23_梅花红桃 + + + 英国奥戈那折叠式取暖器-渠道(右) + + + NEWTV爱情喜剧 + + + 快枪手 + + + 18_真情给你 + + + 19_真情给你 + + + 20_真情给你 + + + 21_真情给你 + + + 22_真情给你 + + + 爱情史 + + + KGTOUE体感语音操控大吸力烟机-渠道(右) + + + 19_三分野 + + + 20_三分野 + + + POKONDA智能四轮电动代步车-渠道(右) + + + 21_三分野 + + + 22_三分野 + + + 德国卡赫纯钛RO反渗透净水器-渠道(右) + + + 23_三分野 + + + 独奏恋之曲 + + + NEWTV动作电影 + + + 伏虎武松 + + + 终结者:创世纪 + + + 龙门镇客栈 + + + 雏盗 + + + 晨星 + + + 夺命剑之风云再起 + + + POKONDA智能四轮电动代步车-渠道(右) + + + 死亡斗士 + + + 使命营救 + + + 德国卡赫纯钛RO反渗透净水器-渠道(右) + + + 大狂蜂:起源 + + + 沙鹰行动 + + + 英国奥戈那折叠式取暖器-渠道(右) + + + 维和女警:暴力安全区 + + + NEWTV怡伴健康 + + + 英国奥戈那折叠式取暖器-渠道(右) + + + 17_天涯浴血 + + + 18_天涯浴血 + + + 19_天涯浴血 + + + 重归故里(上) + + + 重归故里(下) + + + 琼剧《状元桥》 + + + 曲线美化 + + + 激活弹性 + + + 回家吃饭 + + + 22_李三枪 + + + 23_李三枪 + + + KGTOUE体感语音操控大吸力烟机-渠道(右) + + + 十四小时的营救 + + + 35_新边城浪子 + + + POKONDA智能四轮电动代步车-渠道(右) + + + 36_新边城浪子 + + + 相声《卖布头》 表演者:侯宝林 郭启儒 + + + 群口相声《草原唱响》 表演:乌兰图雅 李寅飞 + + + 群口相声《传帮带》 表演:刘钊 孙超 杨议 + + + 相声剧《我要当一线》 表演:姜昆 大兵 + + + 相声《黄鹤楼》 表演:戴志诚 郑健 + + + 孩子谁该养 + + + KGTOUE体感语音操控大吸力烟机-渠道(右) + + + 难要的执行款 + + + 传统节日小学堂b7中秋(下) + + + POKONDA智能四轮电动代步车-渠道(右) + + + 第一场 山东青岛新兴vs河北巧战群雄 第6局 + + + NEWTV潮妈辣婆 + + + 26_铁血玫瑰 + + + 27_铁血玫瑰 + + + 28_铁血玫瑰 + + + 29_铁血玫瑰 + + + 30_铁血玫瑰 + + + 31_铁血玫瑰 + + + 早餐中国 + + + 补肾先补脾 + + + 38_倚天屠龙记 + + + 39_倚天屠龙记 + + + 40_倚天屠龙记 + + + 41_倚天屠龙记 + + + 42_倚天屠龙记 + + + POKONDA智能四轮电动代步车-渠道(右) + + + 李子柒视频合集 + + + 19_千金女贼 + + + 20_千金女贼 + + + 21_千金女贼 + + + KGTOUE体感语音操控大吸力烟机-渠道(右) + + + 22_千金女贼 + + + 23_千金女贼 + + + 男女嘉宾回忆青葱岁月 + + + POKONDA智能四轮电动代步车-渠道(右) + + + NEWTV军事评论 + + + 美“死神”无人机坠落中东 + + + 中东局势观察b7伊以冲突加剧 + + + 俄乌冲突深观察b7诱饵战术 + + + 俄乌冲突深观察b7导弹互袭新战法 + + + 奋楫者——“大潮起珠江 军魂铸鹏城”庆祝改革开放45周年系列节目(1) + + + 梦想家——“大潮起珠江 军魂铸鹏城”庆祝改革开放45周年系列节目(2) + + + 赶路人——“大潮起珠江 军魂铸鹏城”庆祝改革开放45周年系列节目(3) + + + 星火燎原 第5集 作风优良 + + + 星火燎原 第6集 鱼水情深 + + + 血与火:第一次世界大战启示录 ① 点燃导火索 + + + 血与火:第一次世界大战启示录 ② 最惨烈的战场 + + + 血与火:第一次世界大战启示录 ③ 东线风雷 + + + 血与火:第一次世界大战启示录 ④ 燃烧的巴尔干 + + + 诺曼底战场b7登陆日(上) + + + 诺曼底战场b7登陆日(下) + + + 诺曼底战场b7消耗战(上) + + + 诺曼底战场b7消耗战(下) + + + 诺曼底战场b7破局(上) + + + 诺曼底战场b7破局(下) + + + 二战惊险行动b7托布鲁克之战 + + + 二战惊险行动b7冲出克里特岛 + + + 二战惊险行动b7马耳他护航战 + + + 铁血劲旅启新程——陆军第71集团军“济南第一团” + + + 铁血劲旅启新程——陆军第71集团军“济南第一团” 下集 + + + 大国仪仗新风采 中国人民解放军军乐团 上集 + + + 大国仪仗新风采 中国人民解放军军乐团 下集 + + + 打卡舰艇开放日 + + + 山洞中的重炮厂 + + + 光荣的远望1号 + + + 闪光弹的秘密 + + + NEWTV炫舞未来 + + + 宋美娜上演美人计 萌娃也抵抗不了她的魅力!(20241115) + + + 绽放吧!妈妈(20241118) + + + 春光里-毕刚 + + + 我不管-金洋(完整) + + + 心在跳情在烧-毕刚(纯净版) + + + undress-毕刚 + + + 太想念-毕刚(完整版) + + + 非遗里的中国第2季(20241026) + + + 算你狠-毕刚 + + + 心在跳情在烧-毕刚(教学分解) + + + 那就是蒙古包-李萍 + + + 宝贝对不起-毕刚(纯净版) + + + 生活服务 + + + 健身舞《好儿好女好家园》(20240930) + + + 垫上马甲线腹肌训练(20241007) + + + 健身舞《最美最美的中国》(20241001) + + + 生活服务 + + + 温柔阿姨再次登台,大爷直言看她心动为她而来 + + + 生活服务 + + + 如此邻居(20220621) + + + 买的车不见了(20220622) + + + 生活服务 + + + 调皮老师超会模仿 唱歌跳舞体验节日氛围(20240720) + + + 生活服务 + + + 烟雨人间-毕刚(完整版) + + + 相遇花开-饶子龙(完整版) + + + 酒梦-孙爱迪 + + + 生活服务 + + + 强势女嘉宾再度来袭,现场男嘉宾直接变成小猫咪 + + + NEWTV精品综合 + + + 双面疑云 + + + 喜剧大会 + + + 06_北国英雄 + + + 07_北国英雄 + + + 08_北国英雄 + + + 09_北国英雄 + + + 33_喜羊羊与灰太狼之嘻哈闯世界之三 + + + 34_喜羊羊与灰太狼之嘻哈闯世界之三 + + + 28_且试天下 + + + 英国奥戈那折叠式取暖器-渠道(右) + + + 29_且试天下 + + + 30_且试天下 + + + 31_且试天下 + + + 德国米技炉周年庆超值惠选装-渠道(右) + + + 人鱼江湖 + + + 06_间谍过家家第2季 + + + 美康利健激光前列腺治疗仪-渠道(右) + + + 07_间谍过家家第2季 + + + BEYONPAN钛锅升级款-渠道(右) + + + 22_故乡,别来无恙 + + + 23_故乡,别来无恙 + + + 24_故乡,别来无恙 + + + NEWTV惊悚悬疑 + + + KGTOUE体感语音操控大吸力烟机-渠道(右) + + + 侠义神捕之诡影 + + + 诡婳狐 + + + 致命玩家 + + + 公证人之大卫之死 + + + 检察风云 + + + 默杀 + + + POKONDA智能四轮电动代步车-渠道(右) + + + 伸冤人3 + + + 德国卡赫纯钛RO反渗透净水器-渠道(右) + + + 龙骨遗冢 + + + 英国奥戈那折叠式取暖器-渠道(右) + + + 狙击蜘蛛巢 + + + NEWTV金牌综艺 + + + 中国地名大会 第三季 + + + 一往无前的蓝 + + + 登录圆鱼洲 + + + 德云斗笑社 第2季 + + + 英国奥戈那折叠式取暖器-渠道(右) + + + 越战越勇(2024) + + + 德国米技炉周年庆超值惠选装-渠道(右) + + + 越战越勇(2024) + + + 美康利健激光前列腺治疗仪-渠道(右) + + + 向幸福出发(2024) + + + 令人心动的offer第5季 + + + BEYONPAN钛锅升级款-渠道(右) + + + 非遗里的中国第2季 + + + NEWTV精品体育 + + + 2024-25赛季英超联赛第7轮:曼城VS富勒姆 + + + 2024-25赛季英超联赛第7轮:阿斯顿维拉VS曼联 + + + 2024-25赛季法甲联赛第11轮:马赛VS欧塞尔 + + + 2024-25赛季德甲联赛第10轮:波鸿VS勒沃库森 + + + 24-25赛季CBA常规赛10月13日:北京VS上海 + + + 24-25赛季CBA常规赛10月12日:辽宁VS浙江 + + + 2024赛季中超联赛第30轮:成都蓉城VS上海申花 + + + 中国女排超级联赛第1轮:天津VS深圳 + + + 中国女排超级联赛第1轮:上海VS辽宁 + + + WTA总决赛女单半决赛:郑钦文VS克雷吉茨科娃 + + + WTA总决赛女单半决赛:萨巴伦卡VS高芙 + + + NEWTV武搏世界 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + NEWTV中国功夫 + + + 绝世低手之夺命玉玺 + + + 挑灯斩蛇录 + + + 侠义神捕之诡影 + + + 男子南拳 + + + 女子长拳 + + + 轻量级国际拳王争霸赛:克鲁兹VS布尔戈斯 + + + 次中量级世界拳王统一战:斯彭斯VS克劳福德 + + + 18_墓王之王 + + + 英国奥戈那折叠式取暖器-渠道(右) + + + 19_墓王之王 + + + 20_墓王之王 + + + KGTOUE体感语音操控大吸力烟机-渠道(右) + + + 21_墓王之王 + + + 22_墓王之王 + + + 中国搏击十年 + + + POKONDA智能四轮电动代步车-渠道(右) + + + 04_包青天之七侠五义 + + + 05_包青天之七侠五义 + + + 06_包青天之七侠五义 + + + 07_包青天之七侠五义 + + + 《八段锦》推荐第9期 + + + 求索生活 + + + 玩泥巴赚大钱Ⅱ(3) + + + 阿耶莎的家庭厨房Ⅱ(1) + + + 阿耶莎的家庭厨房Ⅱ(2) + + + 蛋糕天王(3) + + + 成为百万富翁发明家(4) + + + 珍品拍卖王(6) + + + 爸妈当红娘Ⅱ(1) + + + 深海捕鲍Ⅳ(1) + + + 同床异梦大装修(1) + + + 宣传片 + + + 不可思议旅馆Ⅲ(2) + + + 哈吉家的六个宝贝(3) + + + 婚纱二选一Ⅲ(4) + + + 旧货猎人(7) + + + 明星佳肴(3) + + + 明星佳肴(4) + + + 末代极圈居民(6) + + + 野地造屋Ⅲ(2) + + + 六千金在我家Ⅲ(1) + + + 宣传片 + + + 玩泥巴赚大钱Ⅱ(3) + + + 阿耶莎的家庭厨房Ⅱ(1) + + + 阿耶莎的家庭厨房Ⅱ(2) + + + 阿耶莎的家庭厨房Ⅱ(1) + + + 阿耶莎的家庭厨房Ⅱ(2) + + + 成为百万富翁发明家(4) + + + 珍品拍卖王(6) + + + 爸妈当红娘Ⅱ(1) + + + 深海捕鲍Ⅳ(1) + + + 同床异梦大装修(1) + + + 宣传片 + + + 玩泥巴赚大钱Ⅱ(5) + + + 特莉萨的南方厨房Ⅺ(1) + + + 特莉萨的南方厨房Ⅺ(2) + + + 星光熠熠交谊舞(6) + + + 野外筑营达人(6) + + + 珍品拍卖王(7) + + + 小家庭进行曲Ⅱ(2) + + + 深海捕鲍Ⅳ(2) + + + 顶级游泳胜地Ⅱ(1) + + + 宣传片 + + + CCTV4K + + + 静屏 + + + 体育赛事 + + + 如果国宝会说话 + + + 电视剧 + + + 角儿来了 + + + 动画片 + + + 远方的家 + + + 传承 + + + 丛林星球 + + + 飞向月球 + + + 电视剧 + + + 角儿来了 + + + 动画片 + + + 如果国宝会说话 + + + 丛林星球 + + + 记住乡愁 + + + 国家荣光 + + + 电视剧 + + + 大太平洋 + + + DOX4K + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 精彩节目 + + + 求索纪录 + + + 超炫美式机车Ⅸ(5) + + + 美丽乡村在浙里(1) + + + 美丽乡村在浙里(2) + + + 不朽宣传片、不朽 + + + 共富看浙里:年轻的朋友来相会 + + + 共富看浙里Ⅱ + + + 我与大运河(1) + + + 我与大运河(2) + + + 我与大运河(2) + + + 我与大运河(3) + + + 我与大运河(4) + + + 我与大运河(5) + + + 我与大运河(6) + + + 流言终结者之最(2) + + + 宠物淘气包(4) + + + 爱在垦荒时(4) + + + 爱在垦荒时(4) + + + 科技玩物360Ⅳ(2) + + + 宵夜大比拼(5) + + + 绝境求生手册(5) + + + 超炫美式机车Ⅸ(5) + + + 冰湖浪人Ⅱ(6) + + + 麦基家的六胞胎(1) + + + 终极之旅2018 + + + 行行出状元Ⅱ(22) + + + 贴近埃及王图坦卡门(3) + + + 精品啤酒大师(1) + + + 阿拉斯加金矿的赌注Ⅴ(23) + + + 蛮野之家(1) + + + 网络它最红(1) + + + 过重家族(4) + + + 同心协力救地球(3) + + + 沉重人生现况追踪(2) + + + 探险寻宝(5) + + diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 000000000..45ba6ec5a Binary files /dev/null and b/favicon.ico differ diff --git a/logo.png b/logo.png new file mode 100644 index 000000000..6d2849f81 Binary files /dev/null and b/logo.png differ diff --git a/m3u8/aes-decryptor.js b/m3u8/aes-decryptor.js new file mode 100644 index 000000000..2bd0db9e6 --- /dev/null +++ b/m3u8/aes-decryptor.js @@ -0,0 +1,283 @@ +// 代码来至 hls.js https://github.com/video-dev/hls.js + +function removePadding(buffer) { + const outputBytes = buffer.byteLength; + const paddingBytes = outputBytes && (new DataView(buffer)).getUint8(outputBytes - 1); + if (paddingBytes) { + return buffer.slice(0, outputBytes - paddingBytes); + } else { + return buffer; + } +} + +function AESDecryptor() { + return { + constructor() { + this.rcon = [0x0, 0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]; + this.subMix = [new Uint32Array(256), new Uint32Array(256), new Uint32Array(256), new Uint32Array(256)]; + this.invSubMix = [new Uint32Array(256), new Uint32Array(256), new Uint32Array(256), new Uint32Array(256)]; + this.sBox = new Uint32Array(256); + this.invSBox = new Uint32Array(256); + + // Changes during runtime + this.key = new Uint32Array(0); + + this.initTable(); + }, + + // Using view.getUint32() also swaps the byte order. + uint8ArrayToUint32Array_(arrayBuffer) { + let view = new DataView(arrayBuffer); + let newArray = new Uint32Array(4); + for (let i = 0; i < 4; i++) { + newArray[i] = view.getUint32(i * 4); + } + + return newArray; + }, + + initTable() { + let sBox = this.sBox; + let invSBox = this.invSBox; + let subMix = this.subMix; + let subMix0 = subMix[0]; + let subMix1 = subMix[1]; + let subMix2 = subMix[2]; + let subMix3 = subMix[3]; + let invSubMix = this.invSubMix; + let invSubMix0 = invSubMix[0]; + let invSubMix1 = invSubMix[1]; + let invSubMix2 = invSubMix[2]; + let invSubMix3 = invSubMix[3]; + + let d = new Uint32Array(256); + let x = 0; + let xi = 0; + let i = 0; + for (i = 0; i < 256; i++) { + if (i < 128) { + d[i] = i << 1; + } else { + d[i] = (i << 1) ^ 0x11b; + } + } + + for (i = 0; i < 256; i++) { + let sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4); + sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63; + sBox[x] = sx; + invSBox[sx] = x; + + // Compute multiplication + let x2 = d[x]; + let x4 = d[x2]; + let x8 = d[x4]; + + // Compute sub/invSub bytes, mix columns tables + let t = (d[sx] * 0x101) ^ (sx * 0x1010100); + subMix0[x] = (t << 24) | (t >>> 8); + subMix1[x] = (t << 16) | (t >>> 16); + subMix2[x] = (t << 8) | (t >>> 24); + subMix3[x] = t; + + // Compute inv sub bytes, inv mix columns tables + t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100); + invSubMix0[sx] = (t << 24) | (t >>> 8); + invSubMix1[sx] = (t << 16) | (t >>> 16); + invSubMix2[sx] = (t << 8) | (t >>> 24); + invSubMix3[sx] = t; + + // Compute next counter + if (!x) { + x = xi = 1; + } else { + x = x2 ^ d[d[d[x8 ^ x2]]]; + xi ^= d[d[xi]]; + } + } + }, + + expandKey(keyBuffer) { + // convert keyBuffer to Uint32Array + let key = this.uint8ArrayToUint32Array_(keyBuffer); + let sameKey = true; + let offset = 0; + + while (offset < key.length && sameKey) { + sameKey = (key[offset] === this.key[offset]); + offset++; + } + + if (sameKey) { + return; + } + + this.key = key; + let keySize = this.keySize = key.length; + + if (keySize !== 4 && keySize !== 6 && keySize !== 8) { + throw new Error('Invalid aes key size=' + keySize); + } + + let ksRows = this.ksRows = (keySize + 6 + 1) * 4; + let ksRow; + let invKsRow; + + let keySchedule = this.keySchedule = new Uint32Array(ksRows); + let invKeySchedule = this.invKeySchedule = new Uint32Array(ksRows); + let sbox = this.sBox; + let rcon = this.rcon; + + let invSubMix = this.invSubMix; + let invSubMix0 = invSubMix[0]; + let invSubMix1 = invSubMix[1]; + let invSubMix2 = invSubMix[2]; + let invSubMix3 = invSubMix[3]; + + let prev; + let t; + + for (ksRow = 0; ksRow < ksRows; ksRow++) { + if (ksRow < keySize) { + prev = keySchedule[ksRow] = key[ksRow]; + continue; + } + t = prev; + + if (ksRow % keySize === 0) { + // Rot word + t = (t << 8) | (t >>> 24); + + // Sub word + t = (sbox[t >>> 24] << 24) | (sbox[(t >>> 16) & 0xff] << 16) | (sbox[(t >>> 8) & 0xff] << 8) | sbox[t & 0xff]; + + // Mix Rcon + t ^= rcon[(ksRow / keySize) | 0] << 24; + } else if (keySize > 6 && ksRow % keySize === 4) { + // Sub word + t = (sbox[t >>> 24] << 24) | (sbox[(t >>> 16) & 0xff] << 16) | (sbox[(t >>> 8) & 0xff] << 8) | sbox[t & 0xff]; + } + + keySchedule[ksRow] = prev = (keySchedule[ksRow - keySize] ^ t) >>> 0; + } + + for (invKsRow = 0; invKsRow < ksRows; invKsRow++) { + ksRow = ksRows - invKsRow; + if (invKsRow & 3) { + t = keySchedule[ksRow]; + } else { + t = keySchedule[ksRow - 4]; + } + + if (invKsRow < 4 || ksRow <= 4) { + invKeySchedule[invKsRow] = t; + } else { + invKeySchedule[invKsRow] = invSubMix0[sbox[t >>> 24]] ^ invSubMix1[sbox[(t >>> 16) & 0xff]] ^ invSubMix2[sbox[(t >>> 8) & 0xff]] ^ invSubMix3[sbox[t & 0xff]]; + } + + invKeySchedule[invKsRow] = invKeySchedule[invKsRow] >>> 0; + } + }, + + // Adding this as a method greatly improves performance. + networkToHostOrderSwap(word) { + return (word << 24) | ((word & 0xff00) << 8) | ((word & 0xff0000) >> 8) | (word >>> 24); + }, + + decrypt(inputArrayBuffer, offset, aesIV, removePKCS7Padding) { + let nRounds = this.keySize + 6; + let invKeySchedule = this.invKeySchedule; + let invSBOX = this.invSBox; + + let invSubMix = this.invSubMix; + let invSubMix0 = invSubMix[0]; + let invSubMix1 = invSubMix[1]; + let invSubMix2 = invSubMix[2]; + let invSubMix3 = invSubMix[3]; + + let initVector = this.uint8ArrayToUint32Array_(aesIV); + let initVector0 = initVector[0]; + let initVector1 = initVector[1]; + let initVector2 = initVector[2]; + let initVector3 = initVector[3]; + + let inputInt32 = new Int32Array(inputArrayBuffer); + let outputInt32 = new Int32Array(inputInt32.length); + + let t0, t1, t2, t3; + let s0, s1, s2, s3; + let inputWords0, inputWords1, inputWords2, inputWords3; + + let ksRow, i; + let swapWord = this.networkToHostOrderSwap; + + while (offset < inputInt32.length) { + inputWords0 = swapWord(inputInt32[offset]); + inputWords1 = swapWord(inputInt32[offset + 1]); + inputWords2 = swapWord(inputInt32[offset + 2]); + inputWords3 = swapWord(inputInt32[offset + 3]); + + s0 = inputWords0 ^ invKeySchedule[0]; + s1 = inputWords3 ^ invKeySchedule[1]; + s2 = inputWords2 ^ invKeySchedule[2]; + s3 = inputWords1 ^ invKeySchedule[3]; + + ksRow = 4; + + // Iterate through the rounds of decryption + for (i = 1; i < nRounds; i++) { + t0 = invSubMix0[s0 >>> 24] ^ invSubMix1[(s1 >> 16) & 0xff] ^ invSubMix2[(s2 >> 8) & 0xff] ^ invSubMix3[s3 & 0xff] ^ invKeySchedule[ksRow]; + t1 = invSubMix0[s1 >>> 24] ^ invSubMix1[(s2 >> 16) & 0xff] ^ invSubMix2[(s3 >> 8) & 0xff] ^ invSubMix3[s0 & 0xff] ^ invKeySchedule[ksRow + 1]; + t2 = invSubMix0[s2 >>> 24] ^ invSubMix1[(s3 >> 16) & 0xff] ^ invSubMix2[(s0 >> 8) & 0xff] ^ invSubMix3[s1 & 0xff] ^ invKeySchedule[ksRow + 2]; + t3 = invSubMix0[s3 >>> 24] ^ invSubMix1[(s0 >> 16) & 0xff] ^ invSubMix2[(s1 >> 8) & 0xff] ^ invSubMix3[s2 & 0xff] ^ invKeySchedule[ksRow + 3]; + // Update state + s0 = t0; + s1 = t1; + s2 = t2; + s3 = t3; + + ksRow = ksRow + 4; + } + + // Shift rows, sub bytes, add round key + t0 = ((invSBOX[s0 >>> 24] << 24) ^ (invSBOX[(s1 >> 16) & 0xff] << 16) ^ (invSBOX[(s2 >> 8) & 0xff] << 8) ^ invSBOX[s3 & 0xff]) ^ invKeySchedule[ksRow]; + t1 = ((invSBOX[s1 >>> 24] << 24) ^ (invSBOX[(s2 >> 16) & 0xff] << 16) ^ (invSBOX[(s3 >> 8) & 0xff] << 8) ^ invSBOX[s0 & 0xff]) ^ invKeySchedule[ksRow + 1]; + t2 = ((invSBOX[s2 >>> 24] << 24) ^ (invSBOX[(s3 >> 16) & 0xff] << 16) ^ (invSBOX[(s0 >> 8) & 0xff] << 8) ^ invSBOX[s1 & 0xff]) ^ invKeySchedule[ksRow + 2]; + t3 = ((invSBOX[s3 >>> 24] << 24) ^ (invSBOX[(s0 >> 16) & 0xff] << 16) ^ (invSBOX[(s1 >> 8) & 0xff] << 8) ^ invSBOX[s2 & 0xff]) ^ invKeySchedule[ksRow + 3]; + ksRow = ksRow + 3; + + // Write + outputInt32[offset] = swapWord(t0 ^ initVector0); + outputInt32[offset + 1] = swapWord(t3 ^ initVector1); + outputInt32[offset + 2] = swapWord(t2 ^ initVector2); + outputInt32[offset + 3] = swapWord(t1 ^ initVector3); + + // reset initVector to last 4 unsigned int + initVector0 = inputWords0; + initVector1 = inputWords1; + initVector2 = inputWords2; + initVector3 = inputWords3; + + offset = offset + 4; + } + + return removePKCS7Padding ? removePadding(outputInt32.buffer) : outputInt32.buffer; + }, + + destroy() { + this.key = undefined; + this.keySize = undefined; + this.ksRows = undefined; + + this.sBox = undefined; + this.invSBox = undefined; + this.subMix = undefined; + this.invSubMix = undefined; + this.keySchedule = undefined; + this.invKeySchedule = undefined; + + this.rcon = undefined; + }, + } +} + diff --git a/m3u8/index.html b/m3u8/index.html new file mode 100644 index 000000000..9d4e32a79 --- /dev/null +++ b/m3u8/index.html @@ -0,0 +1,982 @@ + + + + + + + + + + m3u8 downloader + + + + +
+ 页面加载中,请耐心等待... +

+ 推荐一个 m3u8 网页版提取工具,无需下载软件,打开网站即可下载,自动检测,一键下载。 + 点击跳转 +

+
+
+ +
{{tips}}
+ ? + + + + + + + +
测试链接:https://0472.org/m3u8/index.m3u8
+
+ + + + + + + +
下载完成
+
{{ isPause ? '恢复下载' : '暂停下载' }}
+
+
特大视频 MP4 格式下载,边下载边保存,彻底解决大文件下载内存不足问题
+ 下载完成?点击返回 m3u8 Downloader 首页 + +
+ + + + + + + + + diff --git a/m3u8/mitm.html b/m3u8/mitm.html new file mode 100644 index 000000000..f3d76bd83 --- /dev/null +++ b/m3u8/mitm.html @@ -0,0 +1,154 @@ + + + + + \ No newline at end of file diff --git a/m3u8/mux-mp4.js b/m3u8/mux-mp4.js new file mode 100644 index 000000000..cec03c67f --- /dev/null +++ b/m3u8/mux-mp4.js @@ -0,0 +1,7051 @@ +(function(f){var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.muxjs = f()})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i= 3) { + if ((everything[byteIndex] === 'I'.charCodeAt(0)) && + (everything[byteIndex + 1] === 'D'.charCodeAt(0)) && + (everything[byteIndex + 2] === '3'.charCodeAt(0))) { + + // Exit early because we don't have enough to parse + // the ID3 tag header + if (everything.length - byteIndex < 10) { + break; + } + + // check framesize + frameSize = aacUtils.parseId3TagSize(everything, byteIndex); + + // Exit early if we don't have enough in the buffer + // to emit a full packet + // Add to byteIndex to support multiple ID3 tags in sequence + if (byteIndex + frameSize > everything.length) { + break; + } + chunk = { + type: 'timed-metadata', + data: everything.subarray(byteIndex, byteIndex + frameSize) + }; + this.trigger('data', chunk); + byteIndex += frameSize; + continue; + } else if (((everything[byteIndex] & 0xff) === 0xff) && + ((everything[byteIndex + 1] & 0xf0) === 0xf0)) { + + // Exit early because we don't have enough to parse + // the ADTS frame header + if (everything.length - byteIndex < 7) { + break; + } + + frameSize = aacUtils.parseAdtsSize(everything, byteIndex); + + // Exit early if we don't have enough in the buffer + // to emit a full packet + if (byteIndex + frameSize > everything.length) { + break; + } + + packet = { + type: 'audio', + data: everything.subarray(byteIndex, byteIndex + frameSize), + pts: timeStamp, + dts: timeStamp + }; + this.trigger('data', packet); + byteIndex += frameSize; + continue; + } + byteIndex++; + } + bytesLeft = everything.length - byteIndex; + + if (bytesLeft > 0) { + everything = everything.subarray(byteIndex); + } else { + everything = new Uint8Array(); + } + }; + + this.reset = function() { + everything = new Uint8Array(); + this.trigger('reset'); + }; + + this.endTimeline = function() { + everything = new Uint8Array(); + this.trigger('endedtimeline'); + }; +}; + +AacStream.prototype = new Stream(); + +module.exports = AacStream; + +},{"2":2,"31":31}],2:[function(require,module,exports){ +/** + * mux.js + * + * Copyright (c) Brightcove + * Licensed Apache-2.0 https://github.com/videojs/mux.js/blob/master/LICENSE + * + * Utilities to detect basic properties and metadata about Aac data. + */ +'use strict'; + +var ADTS_SAMPLING_FREQUENCIES = [ + 96000, + 88200, + 64000, + 48000, + 44100, + 32000, + 24000, + 22050, + 16000, + 12000, + 11025, + 8000, + 7350 +]; + +var parseId3TagSize = function(header, byteIndex) { + var + returnSize = (header[byteIndex + 6] << 21) | + (header[byteIndex + 7] << 14) | + (header[byteIndex + 8] << 7) | + (header[byteIndex + 9]), + flags = header[byteIndex + 5], + footerPresent = (flags & 16) >> 4; + + // if we get a negative returnSize clamp it to 0 + returnSize = returnSize >= 0 ? returnSize : 0; + + if (footerPresent) { + return returnSize + 20; + } + return returnSize + 10; +}; + +var getId3Offset = function(data, offset) { + if (data.length - offset < 10 || + data[offset] !== 'I'.charCodeAt(0) || + data[offset + 1] !== 'D'.charCodeAt(0) || + data[offset + 2] !== '3'.charCodeAt(0)) { + return offset; + } + + offset += parseId3TagSize(data, offset); + + return getId3Offset(data, offset); +}; + + +// TODO: use vhs-utils +var isLikelyAacData = function(data) { + var offset = getId3Offset(data, 0); + + return data.length >= offset + 2 && + (data[offset] & 0xFF) === 0xFF && + (data[offset + 1] & 0xF0) === 0xF0 && + // verify that the 2 layer bits are 0, aka this + // is not mp3 data but aac data. + (data[offset + 1] & 0x16) === 0x10; +}; + +var parseSyncSafeInteger = function(data) { + return (data[0] << 21) | + (data[1] << 14) | + (data[2] << 7) | + (data[3]); +}; + +// return a percent-encoded representation of the specified byte range +// @see http://en.wikipedia.org/wiki/Percent-encoding +var percentEncode = function(bytes, start, end) { + var i, result = ''; + for (i = start; i < end; i++) { + result += '%' + ('00' + bytes[i].toString(16)).slice(-2); + } + return result; +}; + +// return the string representation of the specified byte range, +// interpreted as ISO-8859-1. +var parseIso88591 = function(bytes, start, end) { + return unescape(percentEncode(bytes, start, end)); // jshint ignore:line +}; + +var parseAdtsSize = function(header, byteIndex) { + var + lowThree = (header[byteIndex + 5] & 0xE0) >> 5, + middle = header[byteIndex + 4] << 3, + highTwo = header[byteIndex + 3] & 0x3 << 11; + + return (highTwo | middle) | lowThree; +}; + +var parseType = function(header, byteIndex) { + if ((header[byteIndex] === 'I'.charCodeAt(0)) && + (header[byteIndex + 1] === 'D'.charCodeAt(0)) && + (header[byteIndex + 2] === '3'.charCodeAt(0))) { + return 'timed-metadata'; + } else if ((header[byteIndex] & 0xff === 0xff) && + ((header[byteIndex + 1] & 0xf0) === 0xf0)) { + return 'audio'; + } + return null; +}; + +var parseSampleRate = function(packet) { + var i = 0; + + while (i + 5 < packet.length) { + if (packet[i] !== 0xFF || (packet[i + 1] & 0xF6) !== 0xF0) { + // If a valid header was not found, jump one forward and attempt to + // find a valid ADTS header starting at the next byte + i++; + continue; + } + return ADTS_SAMPLING_FREQUENCIES[(packet[i + 2] & 0x3c) >>> 2]; + } + + return null; +}; + +var parseAacTimestamp = function(packet) { + var frameStart, frameSize, frame, frameHeader; + + // find the start of the first frame and the end of the tag + frameStart = 10; + if (packet[5] & 0x40) { + // advance the frame start past the extended header + frameStart += 4; // header size field + frameStart += parseSyncSafeInteger(packet.subarray(10, 14)); + } + + // parse one or more ID3 frames + // http://id3.org/id3v2.3.0#ID3v2_frame_overview + do { + // determine the number of bytes in this frame + frameSize = parseSyncSafeInteger(packet.subarray(frameStart + 4, frameStart + 8)); + if (frameSize < 1) { + return null; + } + frameHeader = String.fromCharCode(packet[frameStart], + packet[frameStart + 1], + packet[frameStart + 2], + packet[frameStart + 3]); + + if (frameHeader === 'PRIV') { + frame = packet.subarray(frameStart + 10, frameStart + frameSize + 10); + + for (var i = 0; i < frame.byteLength; i++) { + if (frame[i] === 0) { + var owner = parseIso88591(frame, 0, i); + if (owner === 'com.apple.streaming.transportStreamTimestamp') { + var d = frame.subarray(i + 1); + var size = ((d[3] & 0x01) << 30) | + (d[4] << 22) | + (d[5] << 14) | + (d[6] << 6) | + (d[7] >>> 2); + size *= 4; + size += d[7] & 0x03; + + return size; + } + break; + } + } + } + + frameStart += 10; // advance past the frame header + frameStart += frameSize; // advance past the frame body + } while (frameStart < packet.byteLength); + return null; +}; + +module.exports = { + isLikelyAacData: isLikelyAacData, + parseId3TagSize: parseId3TagSize, + parseAdtsSize: parseAdtsSize, + parseType: parseType, + parseSampleRate: parseSampleRate, + parseAacTimestamp: parseAacTimestamp +}; + +},{}],3:[function(require,module,exports){ +/** + * mux.js + * + * Copyright (c) Brightcove + * Licensed Apache-2.0 https://github.com/videojs/mux.js/blob/master/LICENSE + */ +'use strict'; + +var Stream = require(31); +var ONE_SECOND_IN_TS = require(29).ONE_SECOND_IN_TS; + +var AdtsStream; + +var + ADTS_SAMPLING_FREQUENCIES = [ + 96000, + 88200, + 64000, + 48000, + 44100, + 32000, + 24000, + 22050, + 16000, + 12000, + 11025, + 8000, + 7350 + ]; + +/* + * Accepts a ElementaryStream and emits data events with parsed + * AAC Audio Frames of the individual packets. Input audio in ADTS + * format is unpacked and re-emitted as AAC frames. + * + * @see http://wiki.multimedia.cx/index.php?title=ADTS + * @see http://wiki.multimedia.cx/?title=Understanding_AAC + */ +AdtsStream = function(handlePartialSegments) { + var + buffer, + frameNum = 0; + + AdtsStream.prototype.init.call(this); + + this.push = function(packet) { + var + i = 0, + frameLength, + protectionSkipBytes, + frameEnd, + oldBuffer, + sampleCount, + adtsFrameDuration; + + if (!handlePartialSegments) { + frameNum = 0; + } + + if (packet.type !== 'audio') { + // ignore non-audio data + return; + } + + // Prepend any data in the buffer to the input data so that we can parse + // aac frames the cross a PES packet boundary + if (buffer) { + oldBuffer = buffer; + buffer = new Uint8Array(oldBuffer.byteLength + packet.data.byteLength); + buffer.set(oldBuffer); + buffer.set(packet.data, oldBuffer.byteLength); + } else { + buffer = packet.data; + } + + // unpack any ADTS frames which have been fully received + // for details on the ADTS header, see http://wiki.multimedia.cx/index.php?title=ADTS + while (i + 5 < buffer.length) { + + // Look for the start of an ADTS header.. + if ((buffer[i] !== 0xFF) || (buffer[i + 1] & 0xF6) !== 0xF0) { + // If a valid header was not found, jump one forward and attempt to + // find a valid ADTS header starting at the next byte + i++; + continue; + } + + // The protection skip bit tells us if we have 2 bytes of CRC data at the + // end of the ADTS header + protectionSkipBytes = (~buffer[i + 1] & 0x01) * 2; + + // Frame length is a 13 bit integer starting 16 bits from the + // end of the sync sequence + frameLength = ((buffer[i + 3] & 0x03) << 11) | + (buffer[i + 4] << 3) | + ((buffer[i + 5] & 0xe0) >> 5); + + sampleCount = ((buffer[i + 6] & 0x03) + 1) * 1024; + adtsFrameDuration = (sampleCount * ONE_SECOND_IN_TS) / + ADTS_SAMPLING_FREQUENCIES[(buffer[i + 2] & 0x3c) >>> 2]; + + frameEnd = i + frameLength; + + // If we don't have enough data to actually finish this ADTS frame, return + // and wait for more data + if (buffer.byteLength < frameEnd) { + return; + } + + // Otherwise, deliver the complete AAC frame + this.trigger('data', { + pts: packet.pts + (frameNum * adtsFrameDuration), + dts: packet.dts + (frameNum * adtsFrameDuration), + sampleCount: sampleCount, + audioobjecttype: ((buffer[i + 2] >>> 6) & 0x03) + 1, + channelcount: ((buffer[i + 2] & 1) << 2) | + ((buffer[i + 3] & 0xc0) >>> 6), + samplerate: ADTS_SAMPLING_FREQUENCIES[(buffer[i + 2] & 0x3c) >>> 2], + samplingfrequencyindex: (buffer[i + 2] & 0x3c) >>> 2, + // assume ISO/IEC 14496-12 AudioSampleEntry default of 16 + samplesize: 16, + data: buffer.subarray(i + 7 + protectionSkipBytes, frameEnd) + }); + + frameNum++; + + // If the buffer is empty, clear it and return + if (buffer.byteLength === frameEnd) { + buffer = undefined; + return; + } + + // Remove the finished frame from the buffer and start the process again + buffer = buffer.subarray(frameEnd); + } + }; + + this.flush = function() { + frameNum = 0; + this.trigger('done'); + }; + + this.reset = function() { + buffer = void 0; + this.trigger('reset'); + }; + + this.endTimeline = function() { + buffer = void 0; + this.trigger('endedtimeline'); + }; +}; + +AdtsStream.prototype = new Stream(); + +module.exports = AdtsStream; + +},{"29":29,"31":31}],4:[function(require,module,exports){ +/** + * mux.js + * + * Copyright (c) Brightcove + * Licensed Apache-2.0 https://github.com/videojs/mux.js/blob/master/LICENSE + */ +'use strict'; + +var Stream = require(31); +var ExpGolomb = require(30); + +var H264Stream, NalByteStream; +var PROFILES_WITH_OPTIONAL_SPS_DATA; + +/** + * Accepts a NAL unit byte stream and unpacks the embedded NAL units. + */ +NalByteStream = function() { + var + syncPoint = 0, + i, + buffer; + NalByteStream.prototype.init.call(this); + + /* + * Scans a byte stream and triggers a data event with the NAL units found. + * @param {Object} data Event received from H264Stream + * @param {Uint8Array} data.data The h264 byte stream to be scanned + * + * @see H264Stream.push + */ + this.push = function(data) { + var swapBuffer; + + if (!buffer) { + buffer = data.data; + } else { + swapBuffer = new Uint8Array(buffer.byteLength + data.data.byteLength); + swapBuffer.set(buffer); + swapBuffer.set(data.data, buffer.byteLength); + buffer = swapBuffer; + } + var len = buffer.byteLength; + + // Rec. ITU-T H.264, Annex B + // scan for NAL unit boundaries + + // a match looks like this: + // 0 0 1 .. NAL .. 0 0 1 + // ^ sync point ^ i + // or this: + // 0 0 1 .. NAL .. 0 0 0 + // ^ sync point ^ i + + // advance the sync point to a NAL start, if necessary + for (; syncPoint < len - 3; syncPoint++) { + if (buffer[syncPoint + 2] === 1) { + // the sync point is properly aligned + i = syncPoint + 5; + break; + } + } + + while (i < len) { + // look at the current byte to determine if we've hit the end of + // a NAL unit boundary + switch (buffer[i]) { + case 0: + // skip past non-sync sequences + if (buffer[i - 1] !== 0) { + i += 2; + break; + } else if (buffer[i - 2] !== 0) { + i++; + break; + } + + // deliver the NAL unit if it isn't empty + if (syncPoint + 3 !== i - 2) { + this.trigger('data', buffer.subarray(syncPoint + 3, i - 2)); + } + + // drop trailing zeroes + do { + i++; + } while (buffer[i] !== 1 && i < len); + syncPoint = i - 2; + i += 3; + break; + case 1: + // skip past non-sync sequences + if (buffer[i - 1] !== 0 || + buffer[i - 2] !== 0) { + i += 3; + break; + } + + // deliver the NAL unit + this.trigger('data', buffer.subarray(syncPoint + 3, i - 2)); + syncPoint = i - 2; + i += 3; + break; + default: + // the current byte isn't a one or zero, so it cannot be part + // of a sync sequence + i += 3; + break; + } + } + // filter out the NAL units that were delivered + buffer = buffer.subarray(syncPoint); + i -= syncPoint; + syncPoint = 0; + }; + + this.reset = function() { + buffer = null; + syncPoint = 0; + this.trigger('reset'); + }; + + this.flush = function() { + // deliver the last buffered NAL unit + if (buffer && buffer.byteLength > 3) { + this.trigger('data', buffer.subarray(syncPoint + 3)); + } + // reset the stream state + buffer = null; + syncPoint = 0; + this.trigger('done'); + }; + + this.endTimeline = function() { + this.flush(); + this.trigger('endedtimeline'); + }; +}; +NalByteStream.prototype = new Stream(); + +// values of profile_idc that indicate additional fields are included in the SPS +// see Recommendation ITU-T H.264 (4/2013), +// 7.3.2.1.1 Sequence parameter set data syntax +PROFILES_WITH_OPTIONAL_SPS_DATA = { + 100: true, + 110: true, + 122: true, + 244: true, + 44: true, + 83: true, + 86: true, + 118: true, + 128: true, + 138: true, + 139: true, + 134: true +}; + +/** + * Accepts input from a ElementaryStream and produces H.264 NAL unit data + * events. + */ +H264Stream = function() { + var + nalByteStream = new NalByteStream(), + self, + trackId, + currentPts, + currentDts, + + discardEmulationPreventionBytes, + readSequenceParameterSet, + skipScalingList; + + H264Stream.prototype.init.call(this); + self = this; + + /* + * Pushes a packet from a stream onto the NalByteStream + * + * @param {Object} packet - A packet received from a stream + * @param {Uint8Array} packet.data - The raw bytes of the packet + * @param {Number} packet.dts - Decode timestamp of the packet + * @param {Number} packet.pts - Presentation timestamp of the packet + * @param {Number} packet.trackId - The id of the h264 track this packet came from + * @param {('video'|'audio')} packet.type - The type of packet + * + */ + this.push = function(packet) { + if (packet.type !== 'video') { + return; + } + trackId = packet.trackId; + currentPts = packet.pts; + currentDts = packet.dts; + + nalByteStream.push(packet); + }; + + /* + * Identify NAL unit types and pass on the NALU, trackId, presentation and decode timestamps + * for the NALUs to the next stream component. + * Also, preprocess caption and sequence parameter NALUs. + * + * @param {Uint8Array} data - A NAL unit identified by `NalByteStream.push` + * @see NalByteStream.push + */ + nalByteStream.on('data', function(data) { + var + event = { + trackId: trackId, + pts: currentPts, + dts: currentDts, + data: data + }; + + switch (data[0] & 0x1f) { + case 0x05: + event.nalUnitType = 'slice_layer_without_partitioning_rbsp_idr'; + break; + case 0x06: + event.nalUnitType = 'sei_rbsp'; + event.escapedRBSP = discardEmulationPreventionBytes(data.subarray(1)); + break; + case 0x07: + event.nalUnitType = 'seq_parameter_set_rbsp'; + event.escapedRBSP = discardEmulationPreventionBytes(data.subarray(1)); + event.config = readSequenceParameterSet(event.escapedRBSP); + break; + case 0x08: + event.nalUnitType = 'pic_parameter_set_rbsp'; + break; + case 0x09: + event.nalUnitType = 'access_unit_delimiter_rbsp'; + break; + + default: + break; + } + // This triggers data on the H264Stream + self.trigger('data', event); + }); + nalByteStream.on('done', function() { + self.trigger('done'); + }); + nalByteStream.on('partialdone', function() { + self.trigger('partialdone'); + }); + nalByteStream.on('reset', function() { + self.trigger('reset'); + }); + nalByteStream.on('endedtimeline', function() { + self.trigger('endedtimeline'); + }); + + this.flush = function() { + nalByteStream.flush(); + }; + + this.partialFlush = function() { + nalByteStream.partialFlush(); + }; + + this.reset = function() { + nalByteStream.reset(); + }; + + this.endTimeline = function() { + nalByteStream.endTimeline(); + }; + + /** + * Advance the ExpGolomb decoder past a scaling list. The scaling + * list is optionally transmitted as part of a sequence parameter + * set and is not relevant to transmuxing. + * @param count {number} the number of entries in this scaling list + * @param expGolombDecoder {object} an ExpGolomb pointed to the + * start of a scaling list + * @see Recommendation ITU-T H.264, Section 7.3.2.1.1.1 + */ + skipScalingList = function(count, expGolombDecoder) { + var + lastScale = 8, + nextScale = 8, + j, + deltaScale; + + for (j = 0; j < count; j++) { + if (nextScale !== 0) { + deltaScale = expGolombDecoder.readExpGolomb(); + nextScale = (lastScale + deltaScale + 256) % 256; + } + + lastScale = (nextScale === 0) ? lastScale : nextScale; + } + }; + + /** + * Expunge any "Emulation Prevention" bytes from a "Raw Byte + * Sequence Payload" + * @param data {Uint8Array} the bytes of a RBSP from a NAL + * unit + * @return {Uint8Array} the RBSP without any Emulation + * Prevention Bytes + */ + discardEmulationPreventionBytes = function(data) { + var + length = data.byteLength, + emulationPreventionBytesPositions = [], + i = 1, + newLength, newData; + + // Find all `Emulation Prevention Bytes` + while (i < length - 2) { + if (data[i] === 0 && data[i + 1] === 0 && data[i + 2] === 0x03) { + emulationPreventionBytesPositions.push(i + 2); + i += 2; + } else { + i++; + } + } + + // If no Emulation Prevention Bytes were found just return the original + // array + if (emulationPreventionBytesPositions.length === 0) { + return data; + } + + // Create a new array to hold the NAL unit data + newLength = length - emulationPreventionBytesPositions.length; + newData = new Uint8Array(newLength); + var sourceIndex = 0; + + for (i = 0; i < newLength; sourceIndex++, i++) { + if (sourceIndex === emulationPreventionBytesPositions[0]) { + // Skip this byte + sourceIndex++; + // Remove this position index + emulationPreventionBytesPositions.shift(); + } + newData[i] = data[sourceIndex]; + } + + return newData; + }; + + /** + * Read a sequence parameter set and return some interesting video + * properties. A sequence parameter set is the H264 metadata that + * describes the properties of upcoming video frames. + * @param data {Uint8Array} the bytes of a sequence parameter set + * @return {object} an object with configuration parsed from the + * sequence parameter set, including the dimensions of the + * associated video frames. + */ + readSequenceParameterSet = function(data) { + var + frameCropLeftOffset = 0, + frameCropRightOffset = 0, + frameCropTopOffset = 0, + frameCropBottomOffset = 0, + sarScale = 1, + expGolombDecoder, profileIdc, levelIdc, profileCompatibility, + chromaFormatIdc, picOrderCntType, + numRefFramesInPicOrderCntCycle, picWidthInMbsMinus1, + picHeightInMapUnitsMinus1, + frameMbsOnlyFlag, + scalingListCount, + sarRatio, + aspectRatioIdc, + i; + + expGolombDecoder = new ExpGolomb(data); + profileIdc = expGolombDecoder.readUnsignedByte(); // profile_idc + profileCompatibility = expGolombDecoder.readUnsignedByte(); // constraint_set[0-5]_flag + levelIdc = expGolombDecoder.readUnsignedByte(); // level_idc u(8) + expGolombDecoder.skipUnsignedExpGolomb(); // seq_parameter_set_id + + // some profiles have more optional data we don't need + if (PROFILES_WITH_OPTIONAL_SPS_DATA[profileIdc]) { + chromaFormatIdc = expGolombDecoder.readUnsignedExpGolomb(); + if (chromaFormatIdc === 3) { + expGolombDecoder.skipBits(1); // separate_colour_plane_flag + } + expGolombDecoder.skipUnsignedExpGolomb(); // bit_depth_luma_minus8 + expGolombDecoder.skipUnsignedExpGolomb(); // bit_depth_chroma_minus8 + expGolombDecoder.skipBits(1); // qpprime_y_zero_transform_bypass_flag + if (expGolombDecoder.readBoolean()) { // seq_scaling_matrix_present_flag + scalingListCount = (chromaFormatIdc !== 3) ? 8 : 12; + for (i = 0; i < scalingListCount; i++) { + if (expGolombDecoder.readBoolean()) { // seq_scaling_list_present_flag[ i ] + if (i < 6) { + skipScalingList(16, expGolombDecoder); + } else { + skipScalingList(64, expGolombDecoder); + } + } + } + } + } + + expGolombDecoder.skipUnsignedExpGolomb(); // log2_max_frame_num_minus4 + picOrderCntType = expGolombDecoder.readUnsignedExpGolomb(); + + if (picOrderCntType === 0) { + expGolombDecoder.readUnsignedExpGolomb(); // log2_max_pic_order_cnt_lsb_minus4 + } else if (picOrderCntType === 1) { + expGolombDecoder.skipBits(1); // delta_pic_order_always_zero_flag + expGolombDecoder.skipExpGolomb(); // offset_for_non_ref_pic + expGolombDecoder.skipExpGolomb(); // offset_for_top_to_bottom_field + numRefFramesInPicOrderCntCycle = expGolombDecoder.readUnsignedExpGolomb(); + for (i = 0; i < numRefFramesInPicOrderCntCycle; i++) { + expGolombDecoder.skipExpGolomb(); // offset_for_ref_frame[ i ] + } + } + + expGolombDecoder.skipUnsignedExpGolomb(); // max_num_ref_frames + expGolombDecoder.skipBits(1); // gaps_in_frame_num_value_allowed_flag + + picWidthInMbsMinus1 = expGolombDecoder.readUnsignedExpGolomb(); + picHeightInMapUnitsMinus1 = expGolombDecoder.readUnsignedExpGolomb(); + + frameMbsOnlyFlag = expGolombDecoder.readBits(1); + if (frameMbsOnlyFlag === 0) { + expGolombDecoder.skipBits(1); // mb_adaptive_frame_field_flag + } + + expGolombDecoder.skipBits(1); // direct_8x8_inference_flag + if (expGolombDecoder.readBoolean()) { // frame_cropping_flag + frameCropLeftOffset = expGolombDecoder.readUnsignedExpGolomb(); + frameCropRightOffset = expGolombDecoder.readUnsignedExpGolomb(); + frameCropTopOffset = expGolombDecoder.readUnsignedExpGolomb(); + frameCropBottomOffset = expGolombDecoder.readUnsignedExpGolomb(); + } + if (expGolombDecoder.readBoolean()) { + // vui_parameters_present_flag + if (expGolombDecoder.readBoolean()) { + // aspect_ratio_info_present_flag + aspectRatioIdc = expGolombDecoder.readUnsignedByte(); + switch (aspectRatioIdc) { + case 1: sarRatio = [1, 1]; break; + case 2: sarRatio = [12, 11]; break; + case 3: sarRatio = [10, 11]; break; + case 4: sarRatio = [16, 11]; break; + case 5: sarRatio = [40, 33]; break; + case 6: sarRatio = [24, 11]; break; + case 7: sarRatio = [20, 11]; break; + case 8: sarRatio = [32, 11]; break; + case 9: sarRatio = [80, 33]; break; + case 10: sarRatio = [18, 11]; break; + case 11: sarRatio = [15, 11]; break; + case 12: sarRatio = [64, 33]; break; + case 13: sarRatio = [160, 99]; break; + case 14: sarRatio = [4, 3]; break; + case 15: sarRatio = [3, 2]; break; + case 16: sarRatio = [2, 1]; break; + case 255: { + sarRatio = [expGolombDecoder.readUnsignedByte() << 8 | + expGolombDecoder.readUnsignedByte(), + expGolombDecoder.readUnsignedByte() << 8 | + expGolombDecoder.readUnsignedByte() ]; + break; + } + } + if (sarRatio) { + sarScale = sarRatio[0] / sarRatio[1]; + } + } + } + return { + profileIdc: profileIdc, + levelIdc: levelIdc, + profileCompatibility: profileCompatibility, + width: Math.ceil((((picWidthInMbsMinus1 + 1) * 16) - frameCropLeftOffset * 2 - frameCropRightOffset * 2) * sarScale), + height: ((2 - frameMbsOnlyFlag) * (picHeightInMapUnitsMinus1 + 1) * 16) - (frameCropTopOffset * 2) - (frameCropBottomOffset * 2), + sarRatio: sarRatio + }; + }; + +}; +H264Stream.prototype = new Stream(); + +module.exports = { + H264Stream: H264Stream, + NalByteStream: NalByteStream +}; + +},{"30":30,"31":31}],5:[function(require,module,exports){ +// constants +var AUDIO_PROPERTIES = [ + 'audioobjecttype', + 'channelcount', + 'samplerate', + 'samplingfrequencyindex', + 'samplesize' +]; + +module.exports = AUDIO_PROPERTIES; + +},{}],6:[function(require,module,exports){ +var VIDEO_PROPERTIES = [ + 'width', + 'height', + 'profileIdc', + 'levelIdc', + 'profileCompatibility', + 'sarRatio' +]; + + +module.exports = VIDEO_PROPERTIES; + +},{}],7:[function(require,module,exports){ +/** + * mux.js + * + * Copyright (c) Brightcove + * Licensed Apache-2.0 https://github.com/videojs/mux.js/blob/master/LICENSE + */ +var highPrefix = [33, 16, 5, 32, 164, 27]; +var lowPrefix = [33, 65, 108, 84, 1, 2, 4, 8, 168, 2, 4, 8, 17, 191, 252]; +var zeroFill = function(count) { + var a = []; + while (count--) { + a.push(0); + } + return a; +}; + +var makeTable = function(metaTable) { + return Object.keys(metaTable).reduce(function(obj, key) { + obj[key] = new Uint8Array(metaTable[key].reduce(function(arr, part) { + return arr.concat(part); + }, [])); + return obj; + }, {}); +}; + + +var silence; + +module.exports = function() { + if (!silence) { + // Frames-of-silence to use for filling in missing AAC frames + var coneOfSilence = { + 96000: [highPrefix, [227, 64], zeroFill(154), [56]], + 88200: [highPrefix, [231], zeroFill(170), [56]], + 64000: [highPrefix, [248, 192], zeroFill(240), [56]], + 48000: [highPrefix, [255, 192], zeroFill(268), [55, 148, 128], zeroFill(54), [112]], + 44100: [highPrefix, [255, 192], zeroFill(268), [55, 163, 128], zeroFill(84), [112]], + 32000: [highPrefix, [255, 192], zeroFill(268), [55, 234], zeroFill(226), [112]], + 24000: [highPrefix, [255, 192], zeroFill(268), [55, 255, 128], zeroFill(268), [111, 112], zeroFill(126), [224]], + 16000: [highPrefix, [255, 192], zeroFill(268), [55, 255, 128], zeroFill(268), [111, 255], zeroFill(269), [223, 108], zeroFill(195), [1, 192]], + 12000: [lowPrefix, zeroFill(268), [3, 127, 248], zeroFill(268), [6, 255, 240], zeroFill(268), [13, 255, 224], zeroFill(268), [27, 253, 128], zeroFill(259), [56]], + 11025: [lowPrefix, zeroFill(268), [3, 127, 248], zeroFill(268), [6, 255, 240], zeroFill(268), [13, 255, 224], zeroFill(268), [27, 255, 192], zeroFill(268), [55, 175, 128], zeroFill(108), [112]], + 8000: [lowPrefix, zeroFill(268), [3, 121, 16], zeroFill(47), [7]] + }; + silence = makeTable(coneOfSilence); + } + return silence; +}; + +},{}],8:[function(require,module,exports){ +/** + * mux.js + * + * Copyright (c) Brightcove + * Licensed Apache-2.0 https://github.com/videojs/mux.js/blob/master/LICENSE + * + * Reads in-band caption information from a video elementary + * stream. Captions must follow the CEA-708 standard for injection + * into an MPEG-2 transport streams. + * @see https://en.wikipedia.org/wiki/CEA-708 + * @see https://www.gpo.gov/fdsys/pkg/CFR-2007-title47-vol1/pdf/CFR-2007-title47-vol1-sec15-119.pdf + */ + +'use strict'; + +// ----------------- +// Link To Transport +// ----------------- + +var Stream = require(31); +var cea708Parser = require(23); + +var CaptionStream = function() { + + CaptionStream.prototype.init.call(this); + + this.captionPackets_ = []; + + this.ccStreams_ = [ + new Cea608Stream(0, 0), // eslint-disable-line no-use-before-define + new Cea608Stream(0, 1), // eslint-disable-line no-use-before-define + new Cea608Stream(1, 0), // eslint-disable-line no-use-before-define + new Cea608Stream(1, 1) // eslint-disable-line no-use-before-define + ]; + + this.reset(); + + // forward data and done events from CCs to this CaptionStream + this.ccStreams_.forEach(function(cc) { + cc.on('data', this.trigger.bind(this, 'data')); + cc.on('partialdone', this.trigger.bind(this, 'partialdone')); + cc.on('done', this.trigger.bind(this, 'done')); + }, this); + +}; + +CaptionStream.prototype = new Stream(); +CaptionStream.prototype.push = function(event) { + var sei, userData, newCaptionPackets; + + // only examine SEI NALs + if (event.nalUnitType !== 'sei_rbsp') { + return; + } + + // parse the sei + sei = cea708Parser.parseSei(event.escapedRBSP); + + // ignore everything but user_data_registered_itu_t_t35 + if (sei.payloadType !== cea708Parser.USER_DATA_REGISTERED_ITU_T_T35) { + return; + } + + // parse out the user data payload + userData = cea708Parser.parseUserData(sei); + + // ignore unrecognized userData + if (!userData) { + return; + } + + // Sometimes, the same segment # will be downloaded twice. To stop the + // caption data from being processed twice, we track the latest dts we've + // received and ignore everything with a dts before that. However, since + // data for a specific dts can be split across packets on either side of + // a segment boundary, we need to make sure we *don't* ignore the packets + // from the *next* segment that have dts === this.latestDts_. By constantly + // tracking the number of packets received with dts === this.latestDts_, we + // know how many should be ignored once we start receiving duplicates. + if (event.dts < this.latestDts_) { + // We've started getting older data, so set the flag. + this.ignoreNextEqualDts_ = true; + return; + } else if ((event.dts === this.latestDts_) && (this.ignoreNextEqualDts_)) { + this.numSameDts_--; + if (!this.numSameDts_) { + // We've received the last duplicate packet, time to start processing again + this.ignoreNextEqualDts_ = false; + } + return; + } + + // parse out CC data packets and save them for later + newCaptionPackets = cea708Parser.parseCaptionPackets(event.pts, userData); + this.captionPackets_ = this.captionPackets_.concat(newCaptionPackets); + if (this.latestDts_ !== event.dts) { + this.numSameDts_ = 0; + } + this.numSameDts_++; + this.latestDts_ = event.dts; +}; + +CaptionStream.prototype.flushCCStreams = function(flushType) { + this.ccStreams_.forEach(function(cc) { + return flushType === 'flush' ? cc.flush() : cc.partialFlush(); + }, this); +}; + +CaptionStream.prototype.flushStream = function(flushType) { + // make sure we actually parsed captions before proceeding + if (!this.captionPackets_.length) { + this.flushCCStreams(flushType); + return; + } + + // In Chrome, the Array#sort function is not stable so add a + // presortIndex that we can use to ensure we get a stable-sort + this.captionPackets_.forEach(function(elem, idx) { + elem.presortIndex = idx; + }); + + // sort caption byte-pairs based on their PTS values + this.captionPackets_.sort(function(a, b) { + if (a.pts === b.pts) { + return a.presortIndex - b.presortIndex; + } + return a.pts - b.pts; + }); + + this.captionPackets_.forEach(function(packet) { + if (packet.type < 2) { + // Dispatch packet to the right Cea608Stream + this.dispatchCea608Packet(packet); + } + // this is where an 'else' would go for a dispatching packets + // to a theoretical Cea708Stream that handles SERVICEn data + }, this); + + this.captionPackets_.length = 0; + this.flushCCStreams(flushType); +}; + +CaptionStream.prototype.flush = function() { + return this.flushStream('flush'); +}; + +// Only called if handling partial data +CaptionStream.prototype.partialFlush = function() { + return this.flushStream('partialFlush'); +}; + +CaptionStream.prototype.reset = function() { + this.latestDts_ = null; + this.ignoreNextEqualDts_ = false; + this.numSameDts_ = 0; + this.activeCea608Channel_ = [null, null]; + this.ccStreams_.forEach(function(ccStream) { + ccStream.reset(); + }); +}; + +// From the CEA-608 spec: +/* + * When XDS sub-packets are interleaved with other services, the end of each sub-packet shall be followed + * by a control pair to change to a different service. When any of the control codes from 0x10 to 0x1F is + * used to begin a control code pair, it indicates the return to captioning or Text data. The control code pair + * and subsequent data should then be processed according to the FCC rules. It may be necessary for the + * line 21 data encoder to automatically insert a control code pair (i.e. RCL, RU2, RU3, RU4, RDC, or RTD) + * to switch to captioning or Text. +*/ +// With that in mind, we ignore any data between an XDS control code and a +// subsequent closed-captioning control code. +CaptionStream.prototype.dispatchCea608Packet = function(packet) { + // NOTE: packet.type is the CEA608 field + if (this.setsTextOrXDSActive(packet)) { + this.activeCea608Channel_[packet.type] = null; + } else if (this.setsChannel1Active(packet)) { + this.activeCea608Channel_[packet.type] = 0; + } else if (this.setsChannel2Active(packet)) { + this.activeCea608Channel_[packet.type] = 1; + } + if (this.activeCea608Channel_[packet.type] === null) { + // If we haven't received anything to set the active channel, or the + // packets are Text/XDS data, discard the data; we don't want jumbled + // captions + return; + } + this.ccStreams_[(packet.type << 1) + this.activeCea608Channel_[packet.type]].push(packet); +}; + +CaptionStream.prototype.setsChannel1Active = function(packet) { + return ((packet.ccData & 0x7800) === 0x1000); +}; +CaptionStream.prototype.setsChannel2Active = function(packet) { + return ((packet.ccData & 0x7800) === 0x1800); +}; +CaptionStream.prototype.setsTextOrXDSActive = function(packet) { + return ((packet.ccData & 0x7100) === 0x0100) || + ((packet.ccData & 0x78fe) === 0x102a) || + ((packet.ccData & 0x78fe) === 0x182a); +}; + +// ---------------------- +// Session to Application +// ---------------------- + +// This hash maps non-ASCII, special, and extended character codes to their +// proper Unicode equivalent. The first keys that are only a single byte +// are the non-standard ASCII characters, which simply map the CEA608 byte +// to the standard ASCII/Unicode. The two-byte keys that follow are the CEA608 +// character codes, but have their MSB bitmasked with 0x03 so that a lookup +// can be performed regardless of the field and data channel on which the +// character code was received. +var CHARACTER_TRANSLATION = { + 0x2a: 0xe1, // á + 0x5c: 0xe9, // é + 0x5e: 0xed, // í + 0x5f: 0xf3, // ó + 0x60: 0xfa, // ú + 0x7b: 0xe7, // ç + 0x7c: 0xf7, // ÷ + 0x7d: 0xd1, // Ñ + 0x7e: 0xf1, // ñ + 0x7f: 0x2588, // █ + 0x0130: 0xae, // ® + 0x0131: 0xb0, // ° + 0x0132: 0xbd, // ½ + 0x0133: 0xbf, // ¿ + 0x0134: 0x2122, // ™ + 0x0135: 0xa2, // ¢ + 0x0136: 0xa3, // £ + 0x0137: 0x266a, // ♪ + 0x0138: 0xe0, // à + 0x0139: 0xa0, // + 0x013a: 0xe8, // è + 0x013b: 0xe2, // â + 0x013c: 0xea, // ê + 0x013d: 0xee, // î + 0x013e: 0xf4, // ô + 0x013f: 0xfb, // û + 0x0220: 0xc1, // Á + 0x0221: 0xc9, // É + 0x0222: 0xd3, // Ó + 0x0223: 0xda, // Ú + 0x0224: 0xdc, // Ü + 0x0225: 0xfc, // ü + 0x0226: 0x2018, // ‘ + 0x0227: 0xa1, // ¡ + 0x0228: 0x2a, // * + 0x0229: 0x27, // ' + 0x022a: 0x2014, // — + 0x022b: 0xa9, // © + 0x022c: 0x2120, // ℠ + 0x022d: 0x2022, // • + 0x022e: 0x201c, // “ + 0x022f: 0x201d, // ” + 0x0230: 0xc0, // À + 0x0231: 0xc2, // Â + 0x0232: 0xc7, // Ç + 0x0233: 0xc8, // È + 0x0234: 0xca, // Ê + 0x0235: 0xcb, // Ë + 0x0236: 0xeb, // ë + 0x0237: 0xce, // Î + 0x0238: 0xcf, // Ï + 0x0239: 0xef, // ï + 0x023a: 0xd4, // Ô + 0x023b: 0xd9, // Ù + 0x023c: 0xf9, // ù + 0x023d: 0xdb, // Û + 0x023e: 0xab, // « + 0x023f: 0xbb, // » + 0x0320: 0xc3, // Ã + 0x0321: 0xe3, // ã + 0x0322: 0xcd, // Í + 0x0323: 0xcc, // Ì + 0x0324: 0xec, // ì + 0x0325: 0xd2, // Ò + 0x0326: 0xf2, // ò + 0x0327: 0xd5, // Õ + 0x0328: 0xf5, // õ + 0x0329: 0x7b, // { + 0x032a: 0x7d, // } + 0x032b: 0x5c, // \ + 0x032c: 0x5e, // ^ + 0x032d: 0x5f, // _ + 0x032e: 0x7c, // | + 0x032f: 0x7e, // ~ + 0x0330: 0xc4, // Ä + 0x0331: 0xe4, // ä + 0x0332: 0xd6, // Ö + 0x0333: 0xf6, // ö + 0x0334: 0xdf, // ß + 0x0335: 0xa5, // ¥ + 0x0336: 0xa4, // ¤ + 0x0337: 0x2502, // │ + 0x0338: 0xc5, // Å + 0x0339: 0xe5, // å + 0x033a: 0xd8, // Ø + 0x033b: 0xf8, // ø + 0x033c: 0x250c, // ┌ + 0x033d: 0x2510, // ┐ + 0x033e: 0x2514, // └ + 0x033f: 0x2518 // ┘ +}; + +var getCharFromCode = function(code) { + if (code === null) { + return ''; + } + code = CHARACTER_TRANSLATION[code] || code; + return String.fromCharCode(code); +}; + +// the index of the last row in a CEA-608 display buffer +var BOTTOM_ROW = 14; + +// This array is used for mapping PACs -> row #, since there's no way of +// getting it through bit logic. +var ROWS = [0x1100, 0x1120, 0x1200, 0x1220, 0x1500, 0x1520, 0x1600, 0x1620, + 0x1700, 0x1720, 0x1000, 0x1300, 0x1320, 0x1400, 0x1420]; + +// CEA-608 captions are rendered onto a 34x15 matrix of character +// cells. The "bottom" row is the last element in the outer array. +var createDisplayBuffer = function() { + var result = [], i = BOTTOM_ROW + 1; + while (i--) { + result.push(''); + } + return result; +}; + +var Cea608Stream = function(field, dataChannel) { + Cea608Stream.prototype.init.call(this); + + this.field_ = field || 0; + this.dataChannel_ = dataChannel || 0; + + this.name_ = 'CC' + (((this.field_ << 1) | this.dataChannel_) + 1); + + this.setConstants(); + this.reset(); + + this.push = function(packet) { + var data, swap, char0, char1, text; + // remove the parity bits + data = packet.ccData & 0x7f7f; + + // ignore duplicate control codes; the spec demands they're sent twice + if (data === this.lastControlCode_) { + this.lastControlCode_ = null; + return; + } + + // Store control codes + if ((data & 0xf000) === 0x1000) { + this.lastControlCode_ = data; + } else if (data !== this.PADDING_) { + this.lastControlCode_ = null; + } + + char0 = data >>> 8; + char1 = data & 0xff; + + if (data === this.PADDING_) { + return; + + } else if (data === this.RESUME_CAPTION_LOADING_) { + this.mode_ = 'popOn'; + + } else if (data === this.END_OF_CAPTION_) { + // If an EOC is received while in paint-on mode, the displayed caption + // text should be swapped to non-displayed memory as if it was a pop-on + // caption. Because of that, we should explicitly switch back to pop-on + // mode + this.mode_ = 'popOn'; + this.clearFormatting(packet.pts); + // if a caption was being displayed, it's gone now + this.flushDisplayed(packet.pts); + + // flip memory + swap = this.displayed_; + this.displayed_ = this.nonDisplayed_; + this.nonDisplayed_ = swap; + + // start measuring the time to display the caption + this.startPts_ = packet.pts; + + } else if (data === this.ROLL_UP_2_ROWS_) { + this.rollUpRows_ = 2; + this.setRollUp(packet.pts); + } else if (data === this.ROLL_UP_3_ROWS_) { + this.rollUpRows_ = 3; + this.setRollUp(packet.pts); + } else if (data === this.ROLL_UP_4_ROWS_) { + this.rollUpRows_ = 4; + this.setRollUp(packet.pts); + } else if (data === this.CARRIAGE_RETURN_) { + this.clearFormatting(packet.pts); + this.flushDisplayed(packet.pts); + this.shiftRowsUp_(); + this.startPts_ = packet.pts; + + } else if (data === this.BACKSPACE_) { + if (this.mode_ === 'popOn') { + this.nonDisplayed_[this.row_] = this.nonDisplayed_[this.row_].slice(0, -1); + } else { + this.displayed_[this.row_] = this.displayed_[this.row_].slice(0, -1); + } + } else if (data === this.ERASE_DISPLAYED_MEMORY_) { + this.flushDisplayed(packet.pts); + this.displayed_ = createDisplayBuffer(); + } else if (data === this.ERASE_NON_DISPLAYED_MEMORY_) { + this.nonDisplayed_ = createDisplayBuffer(); + + } else if (data === this.RESUME_DIRECT_CAPTIONING_) { + if (this.mode_ !== 'paintOn') { + // NOTE: This should be removed when proper caption positioning is + // implemented + this.flushDisplayed(packet.pts); + this.displayed_ = createDisplayBuffer(); + } + this.mode_ = 'paintOn'; + this.startPts_ = packet.pts; + + // Append special characters to caption text + } else if (this.isSpecialCharacter(char0, char1)) { + // Bitmask char0 so that we can apply character transformations + // regardless of field and data channel. + // Then byte-shift to the left and OR with char1 so we can pass the + // entire character code to `getCharFromCode`. + char0 = (char0 & 0x03) << 8; + text = getCharFromCode(char0 | char1); + this[this.mode_](packet.pts, text); + this.column_++; + + // Append extended characters to caption text + } else if (this.isExtCharacter(char0, char1)) { + // Extended characters always follow their "non-extended" equivalents. + // IE if a "è" is desired, you'll always receive "eè"; non-compliant + // decoders are supposed to drop the "è", while compliant decoders + // backspace the "e" and insert "è". + + // Delete the previous character + if (this.mode_ === 'popOn') { + this.nonDisplayed_[this.row_] = this.nonDisplayed_[this.row_].slice(0, -1); + } else { + this.displayed_[this.row_] = this.displayed_[this.row_].slice(0, -1); + } + + // Bitmask char0 so that we can apply character transformations + // regardless of field and data channel. + // Then byte-shift to the left and OR with char1 so we can pass the + // entire character code to `getCharFromCode`. + char0 = (char0 & 0x03) << 8; + text = getCharFromCode(char0 | char1); + this[this.mode_](packet.pts, text); + this.column_++; + + // Process mid-row codes + } else if (this.isMidRowCode(char0, char1)) { + // Attributes are not additive, so clear all formatting + this.clearFormatting(packet.pts); + + // According to the standard, mid-row codes + // should be replaced with spaces, so add one now + this[this.mode_](packet.pts, ' '); + this.column_++; + + if ((char1 & 0xe) === 0xe) { + this.addFormatting(packet.pts, ['i']); + } + + if ((char1 & 0x1) === 0x1) { + this.addFormatting(packet.pts, ['u']); + } + + // Detect offset control codes and adjust cursor + } else if (this.isOffsetControlCode(char0, char1)) { + // Cursor position is set by indent PAC (see below) in 4-column + // increments, with an additional offset code of 1-3 to reach any + // of the 32 columns specified by CEA-608. So all we need to do + // here is increment the column cursor by the given offset. + this.column_ += (char1 & 0x03); + + // Detect PACs (Preamble Address Codes) + } else if (this.isPAC(char0, char1)) { + + // There's no logic for PAC -> row mapping, so we have to just + // find the row code in an array and use its index :( + var row = ROWS.indexOf(data & 0x1f20); + + // Configure the caption window if we're in roll-up mode + if (this.mode_ === 'rollUp') { + // This implies that the base row is incorrectly set. + // As per the recommendation in CEA-608(Base Row Implementation), defer to the number + // of roll-up rows set. + if (row - this.rollUpRows_ + 1 < 0) { + row = this.rollUpRows_ - 1; + } + + this.setRollUp(packet.pts, row); + } + + if (row !== this.row_) { + // formatting is only persistent for current row + this.clearFormatting(packet.pts); + this.row_ = row; + } + // All PACs can apply underline, so detect and apply + // (All odd-numbered second bytes set underline) + if ((char1 & 0x1) && (this.formatting_.indexOf('u') === -1)) { + this.addFormatting(packet.pts, ['u']); + } + + if ((data & 0x10) === 0x10) { + // We've got an indent level code. Each successive even number + // increments the column cursor by 4, so we can get the desired + // column position by bit-shifting to the right (to get n/2) + // and multiplying by 4. + this.column_ = ((data & 0xe) >> 1) * 4; + } + + if (this.isColorPAC(char1)) { + // it's a color code, though we only support white, which + // can be either normal or italicized. white italics can be + // either 0x4e or 0x6e depending on the row, so we just + // bitwise-and with 0xe to see if italics should be turned on + if ((char1 & 0xe) === 0xe) { + this.addFormatting(packet.pts, ['i']); + } + } + + // We have a normal character in char0, and possibly one in char1 + } else if (this.isNormalChar(char0)) { + if (char1 === 0x00) { + char1 = null; + } + text = getCharFromCode(char0); + text += getCharFromCode(char1); + this[this.mode_](packet.pts, text); + this.column_ += text.length; + + } // finish data processing + + }; +}; +Cea608Stream.prototype = new Stream(); +// Trigger a cue point that captures the current state of the +// display buffer +Cea608Stream.prototype.flushDisplayed = function(pts) { + var content = this.displayed_ + // remove spaces from the start and end of the string + .map(function(row) { + try { + return row.trim(); + } catch (e) { + // Ordinarily, this shouldn't happen. However, caption + // parsing errors should not throw exceptions and + // break playback. + // eslint-disable-next-line no-console + console.error('Skipping malformed caption.'); + return ''; + } + }) + // combine all text rows to display in one cue + .join('\n') + // and remove blank rows from the start and end, but not the middle + .replace(/^\n+|\n+$/g, ''); + + if (content.length) { + this.trigger('data', { + startPts: this.startPts_, + endPts: pts, + text: content, + stream: this.name_ + }); + } +}; + +/** + * Zero out the data, used for startup and on seek + */ +Cea608Stream.prototype.reset = function() { + this.mode_ = 'popOn'; + // When in roll-up mode, the index of the last row that will + // actually display captions. If a caption is shifted to a row + // with a lower index than this, it is cleared from the display + // buffer + this.topRow_ = 0; + this.startPts_ = 0; + this.displayed_ = createDisplayBuffer(); + this.nonDisplayed_ = createDisplayBuffer(); + this.lastControlCode_ = null; + + // Track row and column for proper line-breaking and spacing + this.column_ = 0; + this.row_ = BOTTOM_ROW; + this.rollUpRows_ = 2; + + // This variable holds currently-applied formatting + this.formatting_ = []; +}; + +/** + * Sets up control code and related constants for this instance + */ +Cea608Stream.prototype.setConstants = function() { + // The following attributes have these uses: + // ext_ : char0 for mid-row codes, and the base for extended + // chars (ext_+0, ext_+1, and ext_+2 are char0s for + // extended codes) + // control_: char0 for control codes, except byte-shifted to the + // left so that we can do this.control_ | CONTROL_CODE + // offset_: char0 for tab offset codes + // + // It's also worth noting that control codes, and _only_ control codes, + // differ between field 1 and field2. Field 2 control codes are always + // their field 1 value plus 1. That's why there's the "| field" on the + // control value. + if (this.dataChannel_ === 0) { + this.BASE_ = 0x10; + this.EXT_ = 0x11; + this.CONTROL_ = (0x14 | this.field_) << 8; + this.OFFSET_ = 0x17; + } else if (this.dataChannel_ === 1) { + this.BASE_ = 0x18; + this.EXT_ = 0x19; + this.CONTROL_ = (0x1c | this.field_) << 8; + this.OFFSET_ = 0x1f; + } + + // Constants for the LSByte command codes recognized by Cea608Stream. This + // list is not exhaustive. For a more comprehensive listing and semantics see + // http://www.gpo.gov/fdsys/pkg/CFR-2010-title47-vol1/pdf/CFR-2010-title47-vol1-sec15-119.pdf + // Padding + this.PADDING_ = 0x0000; + // Pop-on Mode + this.RESUME_CAPTION_LOADING_ = this.CONTROL_ | 0x20; + this.END_OF_CAPTION_ = this.CONTROL_ | 0x2f; + // Roll-up Mode + this.ROLL_UP_2_ROWS_ = this.CONTROL_ | 0x25; + this.ROLL_UP_3_ROWS_ = this.CONTROL_ | 0x26; + this.ROLL_UP_4_ROWS_ = this.CONTROL_ | 0x27; + this.CARRIAGE_RETURN_ = this.CONTROL_ | 0x2d; + // paint-on mode + this.RESUME_DIRECT_CAPTIONING_ = this.CONTROL_ | 0x29; + // Erasure + this.BACKSPACE_ = this.CONTROL_ | 0x21; + this.ERASE_DISPLAYED_MEMORY_ = this.CONTROL_ | 0x2c; + this.ERASE_NON_DISPLAYED_MEMORY_ = this.CONTROL_ | 0x2e; +}; + +/** + * Detects if the 2-byte packet data is a special character + * + * Special characters have a second byte in the range 0x30 to 0x3f, + * with the first byte being 0x11 (for data channel 1) or 0x19 (for + * data channel 2). + * + * @param {Integer} char0 The first byte + * @param {Integer} char1 The second byte + * @return {Boolean} Whether the 2 bytes are an special character + */ +Cea608Stream.prototype.isSpecialCharacter = function(char0, char1) { + return (char0 === this.EXT_ && char1 >= 0x30 && char1 <= 0x3f); +}; + +/** + * Detects if the 2-byte packet data is an extended character + * + * Extended characters have a second byte in the range 0x20 to 0x3f, + * with the first byte being 0x12 or 0x13 (for data channel 1) or + * 0x1a or 0x1b (for data channel 2). + * + * @param {Integer} char0 The first byte + * @param {Integer} char1 The second byte + * @return {Boolean} Whether the 2 bytes are an extended character + */ +Cea608Stream.prototype.isExtCharacter = function(char0, char1) { + return ((char0 === (this.EXT_ + 1) || char0 === (this.EXT_ + 2)) && + (char1 >= 0x20 && char1 <= 0x3f)); +}; + +/** + * Detects if the 2-byte packet is a mid-row code + * + * Mid-row codes have a second byte in the range 0x20 to 0x2f, with + * the first byte being 0x11 (for data channel 1) or 0x19 (for data + * channel 2). + * + * @param {Integer} char0 The first byte + * @param {Integer} char1 The second byte + * @return {Boolean} Whether the 2 bytes are a mid-row code + */ +Cea608Stream.prototype.isMidRowCode = function(char0, char1) { + return (char0 === this.EXT_ && (char1 >= 0x20 && char1 <= 0x2f)); +}; + +/** + * Detects if the 2-byte packet is an offset control code + * + * Offset control codes have a second byte in the range 0x21 to 0x23, + * with the first byte being 0x17 (for data channel 1) or 0x1f (for + * data channel 2). + * + * @param {Integer} char0 The first byte + * @param {Integer} char1 The second byte + * @return {Boolean} Whether the 2 bytes are an offset control code + */ +Cea608Stream.prototype.isOffsetControlCode = function(char0, char1) { + return (char0 === this.OFFSET_ && (char1 >= 0x21 && char1 <= 0x23)); +}; + +/** + * Detects if the 2-byte packet is a Preamble Address Code + * + * PACs have a first byte in the range 0x10 to 0x17 (for data channel 1) + * or 0x18 to 0x1f (for data channel 2), with the second byte in the + * range 0x40 to 0x7f. + * + * @param {Integer} char0 The first byte + * @param {Integer} char1 The second byte + * @return {Boolean} Whether the 2 bytes are a PAC + */ +Cea608Stream.prototype.isPAC = function(char0, char1) { + return (char0 >= this.BASE_ && char0 < (this.BASE_ + 8) && + (char1 >= 0x40 && char1 <= 0x7f)); +}; + +/** + * Detects if a packet's second byte is in the range of a PAC color code + * + * PAC color codes have the second byte be in the range 0x40 to 0x4f, or + * 0x60 to 0x6f. + * + * @param {Integer} char1 The second byte + * @return {Boolean} Whether the byte is a color PAC + */ +Cea608Stream.prototype.isColorPAC = function(char1) { + return ((char1 >= 0x40 && char1 <= 0x4f) || (char1 >= 0x60 && char1 <= 0x7f)); +}; + +/** + * Detects if a single byte is in the range of a normal character + * + * Normal text bytes are in the range 0x20 to 0x7f. + * + * @param {Integer} char The byte + * @return {Boolean} Whether the byte is a normal character + */ +Cea608Stream.prototype.isNormalChar = function(char) { + return (char >= 0x20 && char <= 0x7f); +}; + +/** + * Configures roll-up + * + * @param {Integer} pts Current PTS + * @param {Integer} newBaseRow Used by PACs to slide the current window to + * a new position + */ +Cea608Stream.prototype.setRollUp = function(pts, newBaseRow) { + // Reset the base row to the bottom row when switching modes + if (this.mode_ !== 'rollUp') { + this.row_ = BOTTOM_ROW; + this.mode_ = 'rollUp'; + // Spec says to wipe memories when switching to roll-up + this.flushDisplayed(pts); + this.nonDisplayed_ = createDisplayBuffer(); + this.displayed_ = createDisplayBuffer(); + } + + if (newBaseRow !== undefined && newBaseRow !== this.row_) { + // move currently displayed captions (up or down) to the new base row + for (var i = 0; i < this.rollUpRows_; i++) { + this.displayed_[newBaseRow - i] = this.displayed_[this.row_ - i]; + this.displayed_[this.row_ - i] = ''; + } + } + + if (newBaseRow === undefined) { + newBaseRow = this.row_; + } + + this.topRow_ = newBaseRow - this.rollUpRows_ + 1; +}; + +// Adds the opening HTML tag for the passed character to the caption text, +// and keeps track of it for later closing +Cea608Stream.prototype.addFormatting = function(pts, format) { + this.formatting_ = this.formatting_.concat(format); + var text = format.reduce(function(text, format) { + return text + '<' + format + '>'; + }, ''); + this[this.mode_](pts, text); +}; + +// Adds HTML closing tags for current formatting to caption text and +// clears remembered formatting +Cea608Stream.prototype.clearFormatting = function(pts) { + if (!this.formatting_.length) { + return; + } + var text = this.formatting_.reverse().reduce(function(text, format) { + return text + ''; + }, ''); + this.formatting_ = []; + this[this.mode_](pts, text); +}; + +// Mode Implementations +Cea608Stream.prototype.popOn = function(pts, text) { + var baseRow = this.nonDisplayed_[this.row_]; + + // buffer characters + baseRow += text; + this.nonDisplayed_[this.row_] = baseRow; +}; + +Cea608Stream.prototype.rollUp = function(pts, text) { + var baseRow = this.displayed_[this.row_]; + + baseRow += text; + this.displayed_[this.row_] = baseRow; + +}; + +Cea608Stream.prototype.shiftRowsUp_ = function() { + var i; + // clear out inactive rows + for (i = 0; i < this.topRow_; i++) { + this.displayed_[i] = ''; + } + for (i = this.row_ + 1; i < BOTTOM_ROW + 1; i++) { + this.displayed_[i] = ''; + } + // shift displayed rows up + for (i = this.topRow_; i < this.row_; i++) { + this.displayed_[i] = this.displayed_[i + 1]; + } + // clear out the bottom row + this.displayed_[this.row_] = ''; +}; + +Cea608Stream.prototype.paintOn = function(pts, text) { + var baseRow = this.displayed_[this.row_]; + + baseRow += text; + this.displayed_[this.row_] = baseRow; +}; + +// exports +module.exports = { + CaptionStream: CaptionStream, + Cea608Stream: Cea608Stream +}; + +},{"23":23,"31":31}],9:[function(require,module,exports){ +/** + * mux.js + * + * Copyright (c) Brightcove + * Licensed Apache-2.0 https://github.com/videojs/mux.js/blob/master/LICENSE + * + * A stream-based mp2t to mp4 converter. This utility can be used to + * deliver mp4s to a SourceBuffer on platforms that support native + * Media Source Extensions. + */ +'use strict'; +var Stream = require(31), + CaptionStream = require(8), + StreamTypes = require(11), + TimestampRolloverStream = require(12).TimestampRolloverStream; + +// object types +var TransportPacketStream, TransportParseStream, ElementaryStream; + +// constants +var + MP2T_PACKET_LENGTH = 188, // bytes + SYNC_BYTE = 0x47; + +/** + * Splits an incoming stream of binary data into MPEG-2 Transport + * Stream packets. + */ +TransportPacketStream = function() { + var + buffer = new Uint8Array(MP2T_PACKET_LENGTH), + bytesInBuffer = 0; + + TransportPacketStream.prototype.init.call(this); + + // Deliver new bytes to the stream. + + /** + * Split a stream of data into M2TS packets + **/ + this.push = function(bytes) { + var + startIndex = 0, + endIndex = MP2T_PACKET_LENGTH, + everything; + + // If there are bytes remaining from the last segment, prepend them to the + // bytes that were pushed in + if (bytesInBuffer) { + everything = new Uint8Array(bytes.byteLength + bytesInBuffer); + everything.set(buffer.subarray(0, bytesInBuffer)); + everything.set(bytes, bytesInBuffer); + bytesInBuffer = 0; + } else { + everything = bytes; + } + + // While we have enough data for a packet + while (endIndex < everything.byteLength) { + // Look for a pair of start and end sync bytes in the data.. + if (everything[startIndex] === SYNC_BYTE && everything[endIndex] === SYNC_BYTE) { + // We found a packet so emit it and jump one whole packet forward in + // the stream + this.trigger('data', everything.subarray(startIndex, endIndex)); + startIndex += MP2T_PACKET_LENGTH; + endIndex += MP2T_PACKET_LENGTH; + continue; + } + // If we get here, we have somehow become de-synchronized and we need to step + // forward one byte at a time until we find a pair of sync bytes that denote + // a packet + startIndex++; + endIndex++; + } + + // If there was some data left over at the end of the segment that couldn't + // possibly be a whole packet, keep it because it might be the start of a packet + // that continues in the next segment + if (startIndex < everything.byteLength) { + buffer.set(everything.subarray(startIndex), 0); + bytesInBuffer = everything.byteLength - startIndex; + } + }; + + /** + * Passes identified M2TS packets to the TransportParseStream to be parsed + **/ + this.flush = function() { + // If the buffer contains a whole packet when we are being flushed, emit it + // and empty the buffer. Otherwise hold onto the data because it may be + // important for decoding the next segment + if (bytesInBuffer === MP2T_PACKET_LENGTH && buffer[0] === SYNC_BYTE) { + this.trigger('data', buffer); + bytesInBuffer = 0; + } + this.trigger('done'); + }; + + this.endTimeline = function() { + this.flush(); + this.trigger('endedtimeline'); + }; + + this.reset = function() { + bytesInBuffer = 0; + this.trigger('reset'); + }; +}; +TransportPacketStream.prototype = new Stream(); + +/** + * Accepts an MP2T TransportPacketStream and emits data events with parsed + * forms of the individual transport stream packets. + */ +TransportParseStream = function() { + var parsePsi, parsePat, parsePmt, self; + TransportParseStream.prototype.init.call(this); + self = this; + + this.packetsWaitingForPmt = []; + this.programMapTable = undefined; + + parsePsi = function(payload, psi) { + var offset = 0; + + // PSI packets may be split into multiple sections and those + // sections may be split into multiple packets. If a PSI + // section starts in this packet, the payload_unit_start_indicator + // will be true and the first byte of the payload will indicate + // the offset from the current position to the start of the + // section. + if (psi.payloadUnitStartIndicator) { + offset += payload[offset] + 1; + } + + if (psi.type === 'pat') { + parsePat(payload.subarray(offset), psi); + } else { + parsePmt(payload.subarray(offset), psi); + } + }; + + parsePat = function(payload, pat) { + pat.section_number = payload[7]; // eslint-disable-line camelcase + pat.last_section_number = payload[8]; // eslint-disable-line camelcase + + // skip the PSI header and parse the first PMT entry + self.pmtPid = (payload[10] & 0x1F) << 8 | payload[11]; + pat.pmtPid = self.pmtPid; + }; + + /** + * Parse out the relevant fields of a Program Map Table (PMT). + * @param payload {Uint8Array} the PMT-specific portion of an MP2T + * packet. The first byte in this array should be the table_id + * field. + * @param pmt {object} the object that should be decorated with + * fields parsed from the PMT. + */ + parsePmt = function(payload, pmt) { + var sectionLength, tableEnd, programInfoLength, offset; + + // PMTs can be sent ahead of the time when they should actually + // take effect. We don't believe this should ever be the case + // for HLS but we'll ignore "forward" PMT declarations if we see + // them. Future PMT declarations have the current_next_indicator + // set to zero. + if (!(payload[5] & 0x01)) { + return; + } + + // overwrite any existing program map table + self.programMapTable = { + video: null, + audio: null, + 'timed-metadata': {} + }; + + // the mapping table ends at the end of the current section + sectionLength = (payload[1] & 0x0f) << 8 | payload[2]; + tableEnd = 3 + sectionLength - 4; + + // to determine where the table is, we have to figure out how + // long the program info descriptors are + programInfoLength = (payload[10] & 0x0f) << 8 | payload[11]; + + // advance the offset to the first entry in the mapping table + offset = 12 + programInfoLength; + while (offset < tableEnd) { + var streamType = payload[offset]; + var pid = (payload[offset + 1] & 0x1F) << 8 | payload[offset + 2]; + + // only map a single elementary_pid for audio and video stream types + // TODO: should this be done for metadata too? for now maintain behavior of + // multiple metadata streams + if (streamType === StreamTypes.H264_STREAM_TYPE && + self.programMapTable.video === null) { + self.programMapTable.video = pid; + } else if (streamType === StreamTypes.ADTS_STREAM_TYPE && + self.programMapTable.audio === null) { + self.programMapTable.audio = pid; + } else if (streamType === StreamTypes.METADATA_STREAM_TYPE) { + // map pid to stream type for metadata streams + self.programMapTable['timed-metadata'][pid] = streamType; + } + + // move to the next table entry + // skip past the elementary stream descriptors, if present + offset += ((payload[offset + 3] & 0x0F) << 8 | payload[offset + 4]) + 5; + } + + // record the map on the packet as well + pmt.programMapTable = self.programMapTable; + }; + + /** + * Deliver a new MP2T packet to the next stream in the pipeline. + */ + this.push = function(packet) { + var + result = {}, + offset = 4; + + result.payloadUnitStartIndicator = !!(packet[1] & 0x40); + + // pid is a 13-bit field starting at the last bit of packet[1] + result.pid = packet[1] & 0x1f; + result.pid <<= 8; + result.pid |= packet[2]; + + // if an adaption field is present, its length is specified by the + // fifth byte of the TS packet header. The adaptation field is + // used to add stuffing to PES packets that don't fill a complete + // TS packet, and to specify some forms of timing and control data + // that we do not currently use. + if (((packet[3] & 0x30) >>> 4) > 0x01) { + offset += packet[offset] + 1; + } + + // parse the rest of the packet based on the type + if (result.pid === 0) { + result.type = 'pat'; + parsePsi(packet.subarray(offset), result); + this.trigger('data', result); + } else if (result.pid === this.pmtPid) { + result.type = 'pmt'; + parsePsi(packet.subarray(offset), result); + this.trigger('data', result); + + // if there are any packets waiting for a PMT to be found, process them now + while (this.packetsWaitingForPmt.length) { + this.processPes_.apply(this, this.packetsWaitingForPmt.shift()); + } + } else if (this.programMapTable === undefined) { + // When we have not seen a PMT yet, defer further processing of + // PES packets until one has been parsed + this.packetsWaitingForPmt.push([packet, offset, result]); + } else { + this.processPes_(packet, offset, result); + } + }; + + this.processPes_ = function(packet, offset, result) { + // set the appropriate stream type + if (result.pid === this.programMapTable.video) { + result.streamType = StreamTypes.H264_STREAM_TYPE; + } else if (result.pid === this.programMapTable.audio) { + result.streamType = StreamTypes.ADTS_STREAM_TYPE; + } else { + // if not video or audio, it is timed-metadata or unknown + // if unknown, streamType will be undefined + result.streamType = this.programMapTable['timed-metadata'][result.pid]; + } + + result.type = 'pes'; + result.data = packet.subarray(offset); + this.trigger('data', result); + }; +}; +TransportParseStream.prototype = new Stream(); +TransportParseStream.STREAM_TYPES = { + h264: 0x1b, + adts: 0x0f +}; + +/** + * Reconsistutes program elementary stream (PES) packets from parsed + * transport stream packets. That is, if you pipe an + * mp2t.TransportParseStream into a mp2t.ElementaryStream, the output + * events will be events which capture the bytes for individual PES + * packets plus relevant metadata that has been extracted from the + * container. + */ +ElementaryStream = function() { + var + self = this, + // PES packet fragments + video = { + data: [], + size: 0 + }, + audio = { + data: [], + size: 0 + }, + timedMetadata = { + data: [], + size: 0 + }, + programMapTable, + parsePes = function(payload, pes) { + var ptsDtsFlags; + + // get the packet length, this will be 0 for video + pes.packetLength = 6 + ((payload[4] << 8) | payload[5]); + + // find out if this packets starts a new keyframe + pes.dataAlignmentIndicator = (payload[6] & 0x04) !== 0; + // PES packets may be annotated with a PTS value, or a PTS value + // and a DTS value. Determine what combination of values is + // available to work with. + ptsDtsFlags = payload[7]; + + // PTS and DTS are normally stored as a 33-bit number. Javascript + // performs all bitwise operations on 32-bit integers but javascript + // supports a much greater range (52-bits) of integer using standard + // mathematical operations. + // We construct a 31-bit value using bitwise operators over the 31 + // most significant bits and then multiply by 4 (equal to a left-shift + // of 2) before we add the final 2 least significant bits of the + // timestamp (equal to an OR.) + if (ptsDtsFlags & 0xC0) { + // the PTS and DTS are not written out directly. For information + // on how they are encoded, see + // http://dvd.sourceforge.net/dvdinfo/pes-hdr.html + pes.pts = (payload[9] & 0x0E) << 27 | + (payload[10] & 0xFF) << 20 | + (payload[11] & 0xFE) << 12 | + (payload[12] & 0xFF) << 5 | + (payload[13] & 0xFE) >>> 3; + pes.pts *= 4; // Left shift by 2 + pes.pts += (payload[13] & 0x06) >>> 1; // OR by the two LSBs + pes.dts = pes.pts; + if (ptsDtsFlags & 0x40) { + pes.dts = (payload[14] & 0x0E) << 27 | + (payload[15] & 0xFF) << 20 | + (payload[16] & 0xFE) << 12 | + (payload[17] & 0xFF) << 5 | + (payload[18] & 0xFE) >>> 3; + pes.dts *= 4; // Left shift by 2 + pes.dts += (payload[18] & 0x06) >>> 1; // OR by the two LSBs + } + } + // the data section starts immediately after the PES header. + // pes_header_data_length specifies the number of header bytes + // that follow the last byte of the field. + pes.data = payload.subarray(9 + payload[8]); + }, + /** + * Pass completely parsed PES packets to the next stream in the pipeline + **/ + flushStream = function(stream, type, forceFlush) { + var + packetData = new Uint8Array(stream.size), + event = { + type: type + }, + i = 0, + offset = 0, + packetFlushable = false, + fragment; + + // do nothing if there is not enough buffered data for a complete + // PES header + if (!stream.data.length || stream.size < 9) { + return; + } + event.trackId = stream.data[0].pid; + + // reassemble the packet + for (i = 0; i < stream.data.length; i++) { + fragment = stream.data[i]; + + packetData.set(fragment.data, offset); + offset += fragment.data.byteLength; + } + + // parse assembled packet's PES header + parsePes(packetData, event); + + // non-video PES packets MUST have a non-zero PES_packet_length + // check that there is enough stream data to fill the packet + packetFlushable = type === 'video' || event.packetLength <= stream.size; + + // flush pending packets if the conditions are right + if (forceFlush || packetFlushable) { + stream.size = 0; + stream.data.length = 0; + } + + // only emit packets that are complete. this is to avoid assembling + // incomplete PES packets due to poor segmentation + if (packetFlushable) { + self.trigger('data', event); + } + }; + + ElementaryStream.prototype.init.call(this); + + /** + * Identifies M2TS packet types and parses PES packets using metadata + * parsed from the PMT + **/ + this.push = function(data) { + ({ + pat: function() { + // we have to wait for the PMT to arrive as well before we + // have any meaningful metadata + }, + pes: function() { + var stream, streamType; + + switch (data.streamType) { + case StreamTypes.H264_STREAM_TYPE: + stream = video; + streamType = 'video'; + break; + case StreamTypes.ADTS_STREAM_TYPE: + stream = audio; + streamType = 'audio'; + break; + case StreamTypes.METADATA_STREAM_TYPE: + stream = timedMetadata; + streamType = 'timed-metadata'; + break; + default: + // ignore unknown stream types + return; + } + + // if a new packet is starting, we can flush the completed + // packet + if (data.payloadUnitStartIndicator) { + flushStream(stream, streamType, true); + } + + // buffer this fragment until we are sure we've received the + // complete payload + stream.data.push(data); + stream.size += data.data.byteLength; + }, + pmt: function() { + var + event = { + type: 'metadata', + tracks: [] + }; + + programMapTable = data.programMapTable; + + // translate audio and video streams to tracks + if (programMapTable.video !== null) { + event.tracks.push({ + timelineStartInfo: { + baseMediaDecodeTime: 0 + }, + id: +programMapTable.video, + codec: 'avc', + type: 'video' + }); + } + if (programMapTable.audio !== null) { + event.tracks.push({ + timelineStartInfo: { + baseMediaDecodeTime: 0 + }, + id: +programMapTable.audio, + codec: 'adts', + type: 'audio' + }); + } + + self.trigger('data', event); + } + })[data.type](); + }; + + this.reset = function() { + video.size = 0; + video.data.length = 0; + audio.size = 0; + audio.data.length = 0; + this.trigger('reset'); + }; + + /** + * Flush any remaining input. Video PES packets may be of variable + * length. Normally, the start of a new video packet can trigger the + * finalization of the previous packet. That is not possible if no + * more video is forthcoming, however. In that case, some other + * mechanism (like the end of the file) has to be employed. When it is + * clear that no additional data is forthcoming, calling this method + * will flush the buffered packets. + */ + this.flushStreams_ = function() { + // !!THIS ORDER IS IMPORTANT!! + // video first then audio + flushStream(video, 'video'); + flushStream(audio, 'audio'); + flushStream(timedMetadata, 'timed-metadata'); + }; + + this.flush = function() { + this.flushStreams_(); + this.trigger('done'); + }; +}; +ElementaryStream.prototype = new Stream(); + +var m2ts = { + PAT_PID: 0x0000, + MP2T_PACKET_LENGTH: MP2T_PACKET_LENGTH, + TransportPacketStream: TransportPacketStream, + TransportParseStream: TransportParseStream, + ElementaryStream: ElementaryStream, + TimestampRolloverStream: TimestampRolloverStream, + CaptionStream: CaptionStream.CaptionStream, + Cea608Stream: CaptionStream.Cea608Stream, + MetadataStream: require(10) +}; + +for (var type in StreamTypes) { + if (StreamTypes.hasOwnProperty(type)) { + m2ts[type] = StreamTypes[type]; + } +} + +module.exports = m2ts; + +},{"10":10,"11":11,"12":12,"31":31,"8":8}],10:[function(require,module,exports){ +/** + * mux.js + * + * Copyright (c) Brightcove + * Licensed Apache-2.0 https://github.com/videojs/mux.js/blob/master/LICENSE + * + * Accepts program elementary stream (PES) data events and parses out + * ID3 metadata from them, if present. + * @see http://id3.org/id3v2.3.0 + */ +'use strict'; +var + Stream = require(31), + StreamTypes = require(11), + // return a percent-encoded representation of the specified byte range + // @see http://en.wikipedia.org/wiki/Percent-encoding + percentEncode = function(bytes, start, end) { + var i, result = ''; + for (i = start; i < end; i++) { + result += '%' + ('00' + bytes[i].toString(16)).slice(-2); + } + return result; + }, + // return the string representation of the specified byte range, + // interpreted as UTf-8. + parseUtf8 = function(bytes, start, end) { + return decodeURIComponent(percentEncode(bytes, start, end)); + }, + // return the string representation of the specified byte range, + // interpreted as ISO-8859-1. + parseIso88591 = function(bytes, start, end) { + return unescape(percentEncode(bytes, start, end)); // jshint ignore:line + }, + parseSyncSafeInteger = function(data) { + return (data[0] << 21) | + (data[1] << 14) | + (data[2] << 7) | + (data[3]); + }, + tagParsers = { + TXXX: function(tag) { + var i; + if (tag.data[0] !== 3) { + // ignore frames with unrecognized character encodings + return; + } + + for (i = 1; i < tag.data.length; i++) { + if (tag.data[i] === 0) { + // parse the text fields + tag.description = parseUtf8(tag.data, 1, i); + // do not include the null terminator in the tag value + tag.value = parseUtf8(tag.data, i + 1, tag.data.length).replace(/\0*$/, ''); + break; + } + } + tag.data = tag.value; + }, + WXXX: function(tag) { + var i; + if (tag.data[0] !== 3) { + // ignore frames with unrecognized character encodings + return; + } + + for (i = 1; i < tag.data.length; i++) { + if (tag.data[i] === 0) { + // parse the description and URL fields + tag.description = parseUtf8(tag.data, 1, i); + tag.url = parseUtf8(tag.data, i + 1, tag.data.length); + break; + } + } + }, + PRIV: function(tag) { + var i; + + for (i = 0; i < tag.data.length; i++) { + if (tag.data[i] === 0) { + // parse the description and URL fields + tag.owner = parseIso88591(tag.data, 0, i); + break; + } + } + tag.privateData = tag.data.subarray(i + 1); + tag.data = tag.privateData; + } + }, + MetadataStream; + +MetadataStream = function(options) { + var + settings = { + debug: !!(options && options.debug), + + // the bytes of the program-level descriptor field in MP2T + // see ISO/IEC 13818-1:2013 (E), section 2.6 "Program and + // program element descriptors" + descriptor: options && options.descriptor + }, + // the total size in bytes of the ID3 tag being parsed + tagSize = 0, + // tag data that is not complete enough to be parsed + buffer = [], + // the total number of bytes currently in the buffer + bufferSize = 0, + i; + + MetadataStream.prototype.init.call(this); + + // calculate the text track in-band metadata track dispatch type + // https://html.spec.whatwg.org/multipage/embedded-content.html#steps-to-expose-a-media-resource-specific-text-track + this.dispatchType = StreamTypes.METADATA_STREAM_TYPE.toString(16); + if (settings.descriptor) { + for (i = 0; i < settings.descriptor.length; i++) { + this.dispatchType += ('00' + settings.descriptor[i].toString(16)).slice(-2); + } + } + + this.push = function(chunk) { + var tag, frameStart, frameSize, frame, i, frameHeader; + if (chunk.type !== 'timed-metadata') { + return; + } + + // if data_alignment_indicator is set in the PES header, + // we must have the start of a new ID3 tag. Assume anything + // remaining in the buffer was malformed and throw it out + if (chunk.dataAlignmentIndicator) { + bufferSize = 0; + buffer.length = 0; + } + + // ignore events that don't look like ID3 data + if (buffer.length === 0 && + (chunk.data.length < 10 || + chunk.data[0] !== 'I'.charCodeAt(0) || + chunk.data[1] !== 'D'.charCodeAt(0) || + chunk.data[2] !== '3'.charCodeAt(0))) { + if (settings.debug) { + // eslint-disable-next-line no-console + console.log('Skipping unrecognized metadata packet'); + } + return; + } + + // add this chunk to the data we've collected so far + + buffer.push(chunk); + bufferSize += chunk.data.byteLength; + + // grab the size of the entire frame from the ID3 header + if (buffer.length === 1) { + // the frame size is transmitted as a 28-bit integer in the + // last four bytes of the ID3 header. + // The most significant bit of each byte is dropped and the + // results concatenated to recover the actual value. + tagSize = parseSyncSafeInteger(chunk.data.subarray(6, 10)); + + // ID3 reports the tag size excluding the header but it's more + // convenient for our comparisons to include it + tagSize += 10; + } + + // if the entire frame has not arrived, wait for more data + if (bufferSize < tagSize) { + return; + } + + // collect the entire frame so it can be parsed + tag = { + data: new Uint8Array(tagSize), + frames: [], + pts: buffer[0].pts, + dts: buffer[0].dts + }; + for (i = 0; i < tagSize;) { + tag.data.set(buffer[0].data.subarray(0, tagSize - i), i); + i += buffer[0].data.byteLength; + bufferSize -= buffer[0].data.byteLength; + buffer.shift(); + } + + // find the start of the first frame and the end of the tag + frameStart = 10; + if (tag.data[5] & 0x40) { + // advance the frame start past the extended header + frameStart += 4; // header size field + frameStart += parseSyncSafeInteger(tag.data.subarray(10, 14)); + + // clip any padding off the end + tagSize -= parseSyncSafeInteger(tag.data.subarray(16, 20)); + } + + // parse one or more ID3 frames + // http://id3.org/id3v2.3.0#ID3v2_frame_overview + do { + // determine the number of bytes in this frame + frameSize = parseSyncSafeInteger(tag.data.subarray(frameStart + 4, frameStart + 8)); + if (frameSize < 1) { + // eslint-disable-next-line no-console + return console.log('Malformed ID3 frame encountered. Skipping metadata parsing.'); + } + frameHeader = String.fromCharCode(tag.data[frameStart], + tag.data[frameStart + 1], + tag.data[frameStart + 2], + tag.data[frameStart + 3]); + + + frame = { + id: frameHeader, + data: tag.data.subarray(frameStart + 10, frameStart + frameSize + 10) + }; + frame.key = frame.id; + if (tagParsers[frame.id]) { + tagParsers[frame.id](frame); + + // handle the special PRIV frame used to indicate the start + // time for raw AAC data + if (frame.owner === 'com.apple.streaming.transportStreamTimestamp') { + var + d = frame.data, + size = ((d[3] & 0x01) << 30) | + (d[4] << 22) | + (d[5] << 14) | + (d[6] << 6) | + (d[7] >>> 2); + + size *= 4; + size += d[7] & 0x03; + frame.timeStamp = size; + // in raw AAC, all subsequent data will be timestamped based + // on the value of this frame + // we couldn't have known the appropriate pts and dts before + // parsing this ID3 tag so set those values now + if (tag.pts === undefined && tag.dts === undefined) { + tag.pts = frame.timeStamp; + tag.dts = frame.timeStamp; + } + this.trigger('timestamp', frame); + } + } + tag.frames.push(frame); + + frameStart += 10; // advance past the frame header + frameStart += frameSize; // advance past the frame body + } while (frameStart < tagSize); + this.trigger('data', tag); + }; +}; +MetadataStream.prototype = new Stream(); + +module.exports = MetadataStream; + +},{"11":11,"31":31}],11:[function(require,module,exports){ +/** + * mux.js + * + * Copyright (c) Brightcove + * Licensed Apache-2.0 https://github.com/videojs/mux.js/blob/master/LICENSE + */ +'use strict'; + +module.exports = { + H264_STREAM_TYPE: 0x1B, + ADTS_STREAM_TYPE: 0x0F, + METADATA_STREAM_TYPE: 0x15 +}; + +},{}],12:[function(require,module,exports){ +/** + * mux.js + * + * Copyright (c) Brightcove + * Licensed Apache-2.0 https://github.com/videojs/mux.js/blob/master/LICENSE + * + * Accepts program elementary stream (PES) data events and corrects + * decode and presentation time stamps to account for a rollover + * of the 33 bit value. + */ + +'use strict'; + +var Stream = require(31); + +var MAX_TS = 8589934592; + +var RO_THRESH = 4294967296; + +var TYPE_SHARED = 'shared'; + +var handleRollover = function(value, reference) { + var direction = 1; + + if (value > reference) { + // If the current timestamp value is greater than our reference timestamp and we detect a + // timestamp rollover, this means the roll over is happening in the opposite direction. + // Example scenario: Enter a long stream/video just after a rollover occurred. The reference + // point will be set to a small number, e.g. 1. The user then seeks backwards over the + // rollover point. In loading this segment, the timestamp values will be very large, + // e.g. 2^33 - 1. Since this comes before the data we loaded previously, we want to adjust + // the time stamp to be `value - 2^33`. + direction = -1; + } + + // Note: A seek forwards or back that is greater than the RO_THRESH (2^32, ~13 hours) will + // cause an incorrect adjustment. + while (Math.abs(reference - value) > RO_THRESH) { + value += (direction * MAX_TS); + } + + return value; +}; + +var TimestampRolloverStream = function(type) { + var lastDTS, referenceDTS; + + TimestampRolloverStream.prototype.init.call(this); + + // The "shared" type is used in cases where a stream will contain muxed + // video and audio. We could use `undefined` here, but having a string + // makes debugging a little clearer. + this.type_ = type || TYPE_SHARED; + + this.push = function(data) { + + // Any "shared" rollover streams will accept _all_ data. Otherwise, + // streams will only accept data that matches their type. + if (this.type_ !== TYPE_SHARED && data.type !== this.type_) { + return; + } + + if (referenceDTS === undefined) { + referenceDTS = data.dts; + } + + data.dts = handleRollover(data.dts, referenceDTS); + data.pts = handleRollover(data.pts, referenceDTS); + + lastDTS = data.dts; + + this.trigger('data', data); + }; + + this.flush = function() { + referenceDTS = lastDTS; + this.trigger('done'); + }; + + this.endTimeline = function() { + this.flush(); + this.trigger('endedtimeline'); + }; + + this.discontinuity = function() { + referenceDTS = void 0; + lastDTS = void 0; + }; + + this.reset = function() { + this.discontinuity(); + this.trigger('reset'); + }; +}; + +TimestampRolloverStream.prototype = new Stream(); + +module.exports = { + TimestampRolloverStream: TimestampRolloverStream, + handleRollover: handleRollover +}; + +},{"31":31}],13:[function(require,module,exports){ +/** + * mux.js + * + * Copyright (c) Brightcove + * Licensed Apache-2.0 https://github.com/videojs/mux.js/blob/master/LICENSE + */ +var coneOfSilence = require(7); +var clock = require(29); + +/** + * Sum the `byteLength` properties of the data in each AAC frame + */ +var sumFrameByteLengths = function(array) { + var + i, + currentObj, + sum = 0; + + // sum the byteLength's all each nal unit in the frame + for (i = 0; i < array.length; i++) { + currentObj = array[i]; + sum += currentObj.data.byteLength; + } + + return sum; +}; + +// Possibly pad (prefix) the audio track with silence if appending this track +// would lead to the introduction of a gap in the audio buffer +var prefixWithSilence = function( + track, + frames, + audioAppendStartTs, + videoBaseMediaDecodeTime +) { + var + baseMediaDecodeTimeTs, + frameDuration = 0, + audioGapDuration = 0, + audioFillFrameCount = 0, + audioFillDuration = 0, + silentFrame, + i, + firstFrame; + + if (!frames.length) { + return; + } + + baseMediaDecodeTimeTs = + clock.audioTsToVideoTs(track.baseMediaDecodeTime, track.samplerate); + // determine frame clock duration based on sample rate, round up to avoid overfills + frameDuration = Math.ceil(clock.ONE_SECOND_IN_TS / (track.samplerate / 1024)); + + if (audioAppendStartTs && videoBaseMediaDecodeTime) { + // insert the shortest possible amount (audio gap or audio to video gap) + audioGapDuration = + baseMediaDecodeTimeTs - Math.max(audioAppendStartTs, videoBaseMediaDecodeTime); + // number of full frames in the audio gap + audioFillFrameCount = Math.floor(audioGapDuration / frameDuration); + audioFillDuration = audioFillFrameCount * frameDuration; + } + + // don't attempt to fill gaps smaller than a single frame or larger + // than a half second + if (audioFillFrameCount < 1 || audioFillDuration > clock.ONE_SECOND_IN_TS / 2) { + return; + } + + silentFrame = coneOfSilence()[track.samplerate]; + + if (!silentFrame) { + // we don't have a silent frame pregenerated for the sample rate, so use a frame + // from the content instead + silentFrame = frames[0].data; + } + + for (i = 0; i < audioFillFrameCount; i++) { + firstFrame = frames[0]; + + frames.splice(0, 0, { + data: silentFrame, + dts: firstFrame.dts - frameDuration, + pts: firstFrame.pts - frameDuration + }); + } + + track.baseMediaDecodeTime -= + Math.floor(clock.videoTsToAudioTs(audioFillDuration, track.samplerate)); +}; + +// If the audio segment extends before the earliest allowed dts +// value, remove AAC frames until starts at or after the earliest +// allowed DTS so that we don't end up with a negative baseMedia- +// DecodeTime for the audio track +var trimAdtsFramesByEarliestDts = function(adtsFrames, track, earliestAllowedDts) { + if (track.minSegmentDts >= earliestAllowedDts) { + return adtsFrames; + } + + // We will need to recalculate the earliest segment Dts + track.minSegmentDts = Infinity; + + return adtsFrames.filter(function(currentFrame) { + // If this is an allowed frame, keep it and record it's Dts + if (currentFrame.dts >= earliestAllowedDts) { + track.minSegmentDts = Math.min(track.minSegmentDts, currentFrame.dts); + track.minSegmentPts = track.minSegmentDts; + return true; + } + // Otherwise, discard it + return false; + }); +}; + +// generate the track's raw mdat data from an array of frames +var generateSampleTable = function(frames) { + var + i, + currentFrame, + samples = []; + + for (i = 0; i < frames.length; i++) { + currentFrame = frames[i]; + samples.push({ + size: currentFrame.data.byteLength, + duration: 1024 // For AAC audio, all samples contain 1024 samples + }); + } + return samples; +}; + +// generate the track's sample table from an array of frames +var concatenateFrameData = function(frames) { + var + i, + currentFrame, + dataOffset = 0, + data = new Uint8Array(sumFrameByteLengths(frames)); + + for (i = 0; i < frames.length; i++) { + currentFrame = frames[i]; + + data.set(currentFrame.data, dataOffset); + dataOffset += currentFrame.data.byteLength; + } + return data; +}; + +module.exports = { + prefixWithSilence: prefixWithSilence, + trimAdtsFramesByEarliestDts: trimAdtsFramesByEarliestDts, + generateSampleTable: generateSampleTable, + concatenateFrameData: concatenateFrameData +}; + +},{"29":29,"7":7}],14:[function(require,module,exports){ +/** + * mux.js + * + * Copyright (c) Brightcove + * Licensed Apache-2.0 https://github.com/videojs/mux.js/blob/master/LICENSE + * + * Reads in-band CEA-708 captions out of FMP4 segments. + * @see https://en.wikipedia.org/wiki/CEA-708 + */ +'use strict'; + +var discardEmulationPreventionBytes = require(23).discardEmulationPreventionBytes; +var CaptionStream = require(8).CaptionStream; +var findBox = require(15); +var parseTfdt = require(25); +var parseTrun = require(27); +var parseTfhd = require(26); + +/** + * Maps an offset in the mdat to a sample based on the the size of the samples. + * Assumes that `parseSamples` has been called first. + * + * @param {Number} offset - The offset into the mdat + * @param {Object[]} samples - An array of samples, parsed using `parseSamples` + * @return {?Object} The matching sample, or null if no match was found. + * + * @see ISO-BMFF-12/2015, Section 8.8.8 + **/ +var mapToSample = function(offset, samples) { + var approximateOffset = offset; + + for (var i = 0; i < samples.length; i++) { + var sample = samples[i]; + + if (approximateOffset < sample.size) { + return sample; + } + + approximateOffset -= sample.size; + } + + return null; +}; + +/** + * Finds SEI nal units contained in a Media Data Box. + * Assumes that `parseSamples` has been called first. + * + * @param {Uint8Array} avcStream - The bytes of the mdat + * @param {Object[]} samples - The samples parsed out by `parseSamples` + * @param {Number} trackId - The trackId of this video track + * @return {Object[]} seiNals - the parsed SEI NALUs found. + * The contents of the seiNal should match what is expected by + * CaptionStream.push (nalUnitType, size, data, escapedRBSP, pts, dts) + * + * @see ISO-BMFF-12/2015, Section 8.1.1 + * @see Rec. ITU-T H.264, 7.3.2.3.1 + **/ +var findSeiNals = function(avcStream, samples, trackId) { + var + avcView = new DataView(avcStream.buffer, avcStream.byteOffset, avcStream.byteLength), + result = [], + seiNal, + i, + length, + lastMatchedSample; + + for (i = 0; i + 4 < avcStream.length; i += length) { + length = avcView.getUint32(i); + i += 4; + + // Bail if this doesn't appear to be an H264 stream + if (length <= 0) { + continue; + } + + switch (avcStream[i] & 0x1F) { + case 0x06: + var data = avcStream.subarray(i + 1, i + 1 + length); + var matchingSample = mapToSample(i, samples); + + seiNal = { + nalUnitType: 'sei_rbsp', + size: length, + data: data, + escapedRBSP: discardEmulationPreventionBytes(data), + trackId: trackId + }; + + if (matchingSample) { + seiNal.pts = matchingSample.pts; + seiNal.dts = matchingSample.dts; + lastMatchedSample = matchingSample; + } else if (lastMatchedSample) { + // If a matching sample cannot be found, use the last + // sample's values as they should be as close as possible + seiNal.pts = lastMatchedSample.pts; + seiNal.dts = lastMatchedSample.dts; + } else { + // eslint-disable-next-line no-console + console.log("We've encountered a nal unit without data. See mux.js#233."); + break; + } + + result.push(seiNal); + break; + default: + break; + } + } + + return result; +}; + +/** + * Parses sample information out of Track Run Boxes and calculates + * the absolute presentation and decode timestamps of each sample. + * + * @param {Array} truns - The Trun Run boxes to be parsed + * @param {Number} baseMediaDecodeTime - base media decode time from tfdt + @see ISO-BMFF-12/2015, Section 8.8.12 + * @param {Object} tfhd - The parsed Track Fragment Header + * @see inspect.parseTfhd + * @return {Object[]} the parsed samples + * + * @see ISO-BMFF-12/2015, Section 8.8.8 + **/ +var parseSamples = function(truns, baseMediaDecodeTime, tfhd) { + var currentDts = baseMediaDecodeTime; + var defaultSampleDuration = tfhd.defaultSampleDuration || 0; + var defaultSampleSize = tfhd.defaultSampleSize || 0; + var trackId = tfhd.trackId; + var allSamples = []; + + truns.forEach(function(trun) { + // Note: We currently do not parse the sample table as well + // as the trun. It's possible some sources will require this. + // moov > trak > mdia > minf > stbl + var trackRun = parseTrun(trun); + var samples = trackRun.samples; + + samples.forEach(function(sample) { + if (sample.duration === undefined) { + sample.duration = defaultSampleDuration; + } + if (sample.size === undefined) { + sample.size = defaultSampleSize; + } + sample.trackId = trackId; + sample.dts = currentDts; + if (sample.compositionTimeOffset === undefined) { + sample.compositionTimeOffset = 0; + } + sample.pts = currentDts + sample.compositionTimeOffset; + + currentDts += sample.duration; + }); + + allSamples = allSamples.concat(samples); + }); + + return allSamples; +}; + +/** + * Parses out caption nals from an FMP4 segment's video tracks. + * + * @param {Uint8Array} segment - The bytes of a single segment + * @param {Number} videoTrackId - The trackId of a video track in the segment + * @return {Object.} A mapping of video trackId to + * a list of seiNals found in that track + **/ +var parseCaptionNals = function(segment, videoTrackId) { + // To get the samples + var trafs = findBox(segment, ['moof', 'traf']); + // To get SEI NAL units + var mdats = findBox(segment, ['mdat']); + var captionNals = {}; + var mdatTrafPairs = []; + + // Pair up each traf with a mdat as moofs and mdats are in pairs + mdats.forEach(function(mdat, index) { + var matchingTraf = trafs[index]; + mdatTrafPairs.push({ + mdat: mdat, + traf: matchingTraf + }); + }); + + mdatTrafPairs.forEach(function(pair) { + var mdat = pair.mdat; + var traf = pair.traf; + var tfhd = findBox(traf, ['tfhd']); + // Exactly 1 tfhd per traf + var headerInfo = parseTfhd(tfhd[0]); + var trackId = headerInfo.trackId; + var tfdt = findBox(traf, ['tfdt']); + // Either 0 or 1 tfdt per traf + var baseMediaDecodeTime = (tfdt.length > 0) ? parseTfdt(tfdt[0]).baseMediaDecodeTime : 0; + var truns = findBox(traf, ['trun']); + var samples; + var seiNals; + + // Only parse video data for the chosen video track + if (videoTrackId === trackId && truns.length > 0) { + samples = parseSamples(truns, baseMediaDecodeTime, headerInfo); + + seiNals = findSeiNals(mdat, samples, trackId); + + if (!captionNals[trackId]) { + captionNals[trackId] = []; + } + + captionNals[trackId] = captionNals[trackId].concat(seiNals); + } + }); + + return captionNals; +}; + +/** + * Parses out inband captions from an MP4 container and returns + * caption objects that can be used by WebVTT and the TextTrack API. + * @see https://developer.mozilla.org/en-US/docs/Web/API/VTTCue + * @see https://developer.mozilla.org/en-US/docs/Web/API/TextTrack + * Assumes that `probe.getVideoTrackIds` and `probe.timescale` have been called first + * + * @param {Uint8Array} segment - The fmp4 segment containing embedded captions + * @param {Number} trackId - The id of the video track to parse + * @param {Number} timescale - The timescale for the video track from the init segment + * + * @return {?Object[]} parsedCaptions - A list of captions or null if no video tracks + * @return {Number} parsedCaptions[].startTime - The time to show the caption in seconds + * @return {Number} parsedCaptions[].endTime - The time to stop showing the caption in seconds + * @return {String} parsedCaptions[].text - The visible content of the caption + **/ +var parseEmbeddedCaptions = function(segment, trackId, timescale) { + var seiNals; + + // the ISO-BMFF spec says that trackId can't be zero, but there's some broken content out there + if (trackId === null) { + return null; + } + + seiNals = parseCaptionNals(segment, trackId); + + return { + seiNals: seiNals[trackId], + timescale: timescale + }; +}; + +/** + * Converts SEI NALUs into captions that can be used by video.js + **/ +var CaptionParser = function() { + var isInitialized = false; + var captionStream; + + // Stores segments seen before trackId and timescale are set + var segmentCache; + // Stores video track ID of the track being parsed + var trackId; + // Stores the timescale of the track being parsed + var timescale; + // Stores captions parsed so far + var parsedCaptions; + // Stores whether we are receiving partial data or not + var parsingPartial; + + /** + * A method to indicate whether a CaptionParser has been initalized + * @returns {Boolean} + **/ + this.isInitialized = function() { + return isInitialized; + }; + + /** + * Initializes the underlying CaptionStream, SEI NAL parsing + * and management, and caption collection + **/ + this.init = function(options) { + captionStream = new CaptionStream(); + isInitialized = true; + parsingPartial = options ? options.isPartial : false; + + // Collect dispatched captions + captionStream.on('data', function(event) { + // Convert to seconds in the source's timescale + event.startTime = event.startPts / timescale; + event.endTime = event.endPts / timescale; + + parsedCaptions.captions.push(event); + parsedCaptions.captionStreams[event.stream] = true; + }); + }; + + /** + * Determines if a new video track will be selected + * or if the timescale changed + * @return {Boolean} + **/ + this.isNewInit = function(videoTrackIds, timescales) { + if ((videoTrackIds && videoTrackIds.length === 0) || + (timescales && typeof timescales === 'object' && + Object.keys(timescales).length === 0)) { + return false; + } + + return trackId !== videoTrackIds[0] || + timescale !== timescales[trackId]; + }; + + /** + * Parses out SEI captions and interacts with underlying + * CaptionStream to return dispatched captions + * + * @param {Uint8Array} segment - The fmp4 segment containing embedded captions + * @param {Number[]} videoTrackIds - A list of video tracks found in the init segment + * @param {Object.} timescales - The timescales found in the init segment + * @see parseEmbeddedCaptions + * @see m2ts/caption-stream.js + **/ + this.parse = function(segment, videoTrackIds, timescales) { + var parsedData; + + if (!this.isInitialized()) { + return null; + + // This is not likely to be a video segment + } else if (!videoTrackIds || !timescales) { + return null; + + } else if (this.isNewInit(videoTrackIds, timescales)) { + // Use the first video track only as there is no + // mechanism to switch to other video tracks + trackId = videoTrackIds[0]; + timescale = timescales[trackId]; + + // If an init segment has not been seen yet, hold onto segment + // data until we have one. + // the ISO-BMFF spec says that trackId can't be zero, but there's some broken content out there + } else if (trackId === null || !timescale) { + segmentCache.push(segment); + return null; + } + + // Now that a timescale and trackId is set, parse cached segments + while (segmentCache.length > 0) { + var cachedSegment = segmentCache.shift(); + + this.parse(cachedSegment, videoTrackIds, timescales); + } + + parsedData = parseEmbeddedCaptions(segment, trackId, timescale); + + if (parsedData === null || !parsedData.seiNals) { + return null; + } + + this.pushNals(parsedData.seiNals); + // Force the parsed captions to be dispatched + this.flushStream(); + + return parsedCaptions; + }; + + /** + * Pushes SEI NALUs onto CaptionStream + * @param {Object[]} nals - A list of SEI nals parsed using `parseCaptionNals` + * Assumes that `parseCaptionNals` has been called first + * @see m2ts/caption-stream.js + **/ + this.pushNals = function(nals) { + if (!this.isInitialized() || !nals || nals.length === 0) { + return null; + } + + nals.forEach(function(nal) { + captionStream.push(nal); + }); + }; + + /** + * Flushes underlying CaptionStream to dispatch processed, displayable captions + * @see m2ts/caption-stream.js + **/ + this.flushStream = function() { + if (!this.isInitialized()) { + return null; + } + + if (!parsingPartial) { + captionStream.flush(); + } else { + captionStream.partialFlush(); + } + }; + + /** + * Reset caption buckets for new data + **/ + this.clearParsedCaptions = function() { + parsedCaptions.captions = []; + parsedCaptions.captionStreams = {}; + }; + + /** + * Resets underlying CaptionStream + * @see m2ts/caption-stream.js + **/ + this.resetCaptionStream = function() { + if (!this.isInitialized()) { + return null; + } + + captionStream.reset(); + }; + + /** + * Convenience method to clear all captions flushed from the + * CaptionStream and still being parsed + * @see m2ts/caption-stream.js + **/ + this.clearAllCaptions = function() { + this.clearParsedCaptions(); + this.resetCaptionStream(); + }; + + /** + * Reset caption parser + **/ + this.reset = function() { + segmentCache = []; + trackId = null; + timescale = null; + + if (!parsedCaptions) { + parsedCaptions = { + captions: [], + // CC1, CC2, CC3, CC4 + captionStreams: {} + }; + } else { + this.clearParsedCaptions(); + } + + this.resetCaptionStream(); + }; + + this.reset(); +}; + +module.exports = CaptionParser; + +},{"15":15,"23":23,"25":25,"26":26,"27":27,"8":8}],15:[function(require,module,exports){ +var toUnsigned = require(28).toUnsigned; +var parseType = require(19); + +var findBox = function(data, path) { + var results = [], + i, size, type, end, subresults; + + if (!path.length) { + // short-circuit the search for empty paths + return null; + } + + for (i = 0; i < data.byteLength;) { + size = toUnsigned(data[i] << 24 | + data[i + 1] << 16 | + data[i + 2] << 8 | + data[i + 3]); + + type = parseType(data.subarray(i + 4, i + 8)); + + end = size > 1 ? i + size : data.byteLength; + + if (type === path[0]) { + if (path.length === 1) { + // this is the end of the path and we've found the box we were + // looking for + results.push(data.subarray(i + 8, end)); + } else { + // recursively search for the next box along the path + subresults = findBox(data.subarray(i + 8, end), path.slice(1)); + if (subresults.length) { + results = results.concat(subresults); + } + } + } + i = end; + } + + // we've finished searching all of data + return results; +}; + +module.exports = findBox; + + +},{"19":19,"28":28}],16:[function(require,module,exports){ +/** + * mux.js + * + * Copyright (c) Brightcove + * Licensed Apache-2.0 https://github.com/videojs/mux.js/blob/master/LICENSE + */ +// Convert an array of nal units into an array of frames with each frame being +// composed of the nal units that make up that frame +// Also keep track of cummulative data about the frame from the nal units such +// as the frame duration, starting pts, etc. +var groupNalsIntoFrames = function(nalUnits) { + var + i, + currentNal, + currentFrame = [], + frames = []; + + // TODO added for LHLS, make sure this is OK + frames.byteLength = 0; + frames.nalCount = 0; + frames.duration = 0; + + currentFrame.byteLength = 0; + + for (i = 0; i < nalUnits.length; i++) { + currentNal = nalUnits[i]; + + // Split on 'aud'-type nal units + if (currentNal.nalUnitType === 'access_unit_delimiter_rbsp') { + // Since the very first nal unit is expected to be an AUD + // only push to the frames array when currentFrame is not empty + if (currentFrame.length) { + currentFrame.duration = currentNal.dts - currentFrame.dts; + // TODO added for LHLS, make sure this is OK + frames.byteLength += currentFrame.byteLength; + frames.nalCount += currentFrame.length; + frames.duration += currentFrame.duration; + frames.push(currentFrame); + } + currentFrame = [currentNal]; + currentFrame.byteLength = currentNal.data.byteLength; + currentFrame.pts = currentNal.pts; + currentFrame.dts = currentNal.dts; + } else { + // Specifically flag key frames for ease of use later + if (currentNal.nalUnitType === 'slice_layer_without_partitioning_rbsp_idr') { + currentFrame.keyFrame = true; + } + currentFrame.duration = currentNal.dts - currentFrame.dts; + currentFrame.byteLength += currentNal.data.byteLength; + currentFrame.push(currentNal); + } + } + + // For the last frame, use the duration of the previous frame if we + // have nothing better to go on + if (frames.length && + (!currentFrame.duration || + currentFrame.duration <= 0)) { + currentFrame.duration = frames[frames.length - 1].duration; + } + + // Push the final frame + // TODO added for LHLS, make sure this is OK + frames.byteLength += currentFrame.byteLength; + frames.nalCount += currentFrame.length; + frames.duration += currentFrame.duration; + + frames.push(currentFrame); + return frames; +}; + +// Convert an array of frames into an array of Gop with each Gop being composed +// of the frames that make up that Gop +// Also keep track of cummulative data about the Gop from the frames such as the +// Gop duration, starting pts, etc. +var groupFramesIntoGops = function(frames) { + var + i, + currentFrame, + currentGop = [], + gops = []; + + // We must pre-set some of the values on the Gop since we + // keep running totals of these values + currentGop.byteLength = 0; + currentGop.nalCount = 0; + currentGop.duration = 0; + currentGop.pts = frames[0].pts; + currentGop.dts = frames[0].dts; + + // store some metadata about all the Gops + gops.byteLength = 0; + gops.nalCount = 0; + gops.duration = 0; + gops.pts = frames[0].pts; + gops.dts = frames[0].dts; + + for (i = 0; i < frames.length; i++) { + currentFrame = frames[i]; + + if (currentFrame.keyFrame) { + // Since the very first frame is expected to be an keyframe + // only push to the gops array when currentGop is not empty + if (currentGop.length) { + gops.push(currentGop); + gops.byteLength += currentGop.byteLength; + gops.nalCount += currentGop.nalCount; + gops.duration += currentGop.duration; + } + + currentGop = [currentFrame]; + currentGop.nalCount = currentFrame.length; + currentGop.byteLength = currentFrame.byteLength; + currentGop.pts = currentFrame.pts; + currentGop.dts = currentFrame.dts; + currentGop.duration = currentFrame.duration; + } else { + currentGop.duration += currentFrame.duration; + currentGop.nalCount += currentFrame.length; + currentGop.byteLength += currentFrame.byteLength; + currentGop.push(currentFrame); + } + } + + if (gops.length && currentGop.duration <= 0) { + currentGop.duration = gops[gops.length - 1].duration; + } + gops.byteLength += currentGop.byteLength; + gops.nalCount += currentGop.nalCount; + gops.duration += currentGop.duration; + + // push the final Gop + gops.push(currentGop); + return gops; +}; + +/* + * Search for the first keyframe in the GOPs and throw away all frames + * until that keyframe. Then extend the duration of the pulled keyframe + * and pull the PTS and DTS of the keyframe so that it covers the time + * range of the frames that were disposed. + * + * @param {Array} gops video GOPs + * @returns {Array} modified video GOPs + */ +var extendFirstKeyFrame = function(gops) { + var currentGop; + + if (!gops[0][0].keyFrame && gops.length > 1) { + // Remove the first GOP + currentGop = gops.shift(); + + gops.byteLength -= currentGop.byteLength; + gops.nalCount -= currentGop.nalCount; + + // Extend the first frame of what is now the + // first gop to cover the time period of the + // frames we just removed + gops[0][0].dts = currentGop.dts; + gops[0][0].pts = currentGop.pts; + gops[0][0].duration += currentGop.duration; + } + + return gops; +}; + +/** + * Default sample object + * see ISO/IEC 14496-12:2012, section 8.6.4.3 + */ +var createDefaultSample = function() { + return { + size: 0, + flags: { + isLeading: 0, + dependsOn: 1, + isDependedOn: 0, + hasRedundancy: 0, + degradationPriority: 0, + isNonSyncSample: 1 + } + }; +}; + +/* + * Collates information from a video frame into an object for eventual + * entry into an MP4 sample table. + * + * @param {Object} frame the video frame + * @param {Number} dataOffset the byte offset to position the sample + * @return {Object} object containing sample table info for a frame + */ +var sampleForFrame = function(frame, dataOffset) { + var sample = createDefaultSample(); + + sample.dataOffset = dataOffset; + sample.compositionTimeOffset = frame.pts - frame.dts; + sample.duration = frame.duration; + sample.size = 4 * frame.length; // Space for nal unit size + sample.size += frame.byteLength; + + if (frame.keyFrame) { + sample.flags.dependsOn = 2; + sample.flags.isNonSyncSample = 0; + } + + return sample; +}; + +// generate the track's sample table from an array of gops +var generateSampleTable = function(gops, baseDataOffset) { + var + h, i, + sample, + currentGop, + currentFrame, + dataOffset = baseDataOffset || 0, + samples = []; + + for (h = 0; h < gops.length; h++) { + currentGop = gops[h]; + + for (i = 0; i < currentGop.length; i++) { + currentFrame = currentGop[i]; + + sample = sampleForFrame(currentFrame, dataOffset); + + dataOffset += sample.size; + + samples.push(sample); + } + } + return samples; +}; + +// generate the track's raw mdat data from an array of gops +var concatenateNalData = function(gops) { + var + h, i, j, + currentGop, + currentFrame, + currentNal, + dataOffset = 0, + nalsByteLength = gops.byteLength, + numberOfNals = gops.nalCount, + totalByteLength = nalsByteLength + 4 * numberOfNals, + data = new Uint8Array(totalByteLength), + view = new DataView(data.buffer); + + // For each Gop.. + for (h = 0; h < gops.length; h++) { + currentGop = gops[h]; + + // For each Frame.. + for (i = 0; i < currentGop.length; i++) { + currentFrame = currentGop[i]; + + // For each NAL.. + for (j = 0; j < currentFrame.length; j++) { + currentNal = currentFrame[j]; + + view.setUint32(dataOffset, currentNal.data.byteLength); + dataOffset += 4; + data.set(currentNal.data, dataOffset); + dataOffset += currentNal.data.byteLength; + } + } + } + return data; +}; + +// generate the track's sample table from a frame +var generateSampleTableForFrame = function(frame, baseDataOffset) { + var + sample, + dataOffset = baseDataOffset || 0, + samples = []; + + sample = sampleForFrame(frame, dataOffset); + samples.push(sample); + + return samples; +}; + +// generate the track's raw mdat data from a frame +var concatenateNalDataForFrame = function(frame) { + var + i, + currentNal, + dataOffset = 0, + nalsByteLength = frame.byteLength, + numberOfNals = frame.length, + totalByteLength = nalsByteLength + 4 * numberOfNals, + data = new Uint8Array(totalByteLength), + view = new DataView(data.buffer); + + // For each NAL.. + for (i = 0; i < frame.length; i++) { + currentNal = frame[i]; + + view.setUint32(dataOffset, currentNal.data.byteLength); + dataOffset += 4; + data.set(currentNal.data, dataOffset); + dataOffset += currentNal.data.byteLength; + } + + return data; +}; + +module.exports = { + groupNalsIntoFrames: groupNalsIntoFrames, + groupFramesIntoGops: groupFramesIntoGops, + extendFirstKeyFrame: extendFirstKeyFrame, + generateSampleTable: generateSampleTable, + concatenateNalData: concatenateNalData, + generateSampleTableForFrame: generateSampleTableForFrame, + concatenateNalDataForFrame: concatenateNalDataForFrame +}; + +},{}],17:[function(require,module,exports){ +/** + * mux.js + * + * Copyright (c) Brightcove + * Licensed Apache-2.0 https://github.com/videojs/mux.js/blob/master/LICENSE + */ +module.exports = { + generator: require(18), + probe: require(20), + Transmuxer: require(22).Transmuxer, + AudioSegmentStream: require(22).AudioSegmentStream, + VideoSegmentStream: require(22).VideoSegmentStream, + CaptionParser: require(14) +}; + +},{"14":14,"18":18,"20":20,"22":22}],18:[function(require,module,exports){ +/** + * mux.js + * + * Copyright (c) Brightcove + * Licensed Apache-2.0 https://github.com/videojs/mux.js/blob/master/LICENSE + * + * Functions that generate fragmented MP4s suitable for use with Media + * Source Extensions. + */ +'use strict'; + +var UINT32_MAX = Math.pow(2, 32) - 1; + +var box, dinf, esds, ftyp, mdat, mfhd, minf, moof, moov, mvex, mvhd, + trak, tkhd, mdia, mdhd, hdlr, sdtp, stbl, stsd, traf, trex, + trun, types, MAJOR_BRAND, MINOR_VERSION, AVC1_BRAND, VIDEO_HDLR, + AUDIO_HDLR, HDLR_TYPES, VMHD, SMHD, DREF, STCO, STSC, STSZ, STTS; +var customDuration = 0xffffffff; + +// pre-calculate constants +(function() { + var i; + types = { + avc1: [], // codingname + avcC: [], + btrt: [], + dinf: [], + dref: [], + esds: [], + ftyp: [], + hdlr: [], + mdat: [], + mdhd: [], + mdia: [], + mfhd: [], + minf: [], + moof: [], + moov: [], + mp4a: [], // codingname + mvex: [], + mvhd: [], + pasp: [], + sdtp: [], + smhd: [], + stbl: [], + stco: [], + stsc: [], + stsd: [], + stsz: [], + stts: [], + styp: [], + tfdt: [], + tfhd: [], + traf: [], + trak: [], + trun: [], + trex: [], + tkhd: [], + vmhd: [] + }; + + // In environments where Uint8Array is undefined (e.g., IE8), skip set up so that we + // don't throw an error + if (typeof Uint8Array === 'undefined') { + return; + } + + for (i in types) { + if (types.hasOwnProperty(i)) { + types[i] = [ + i.charCodeAt(0), + i.charCodeAt(1), + i.charCodeAt(2), + i.charCodeAt(3) + ]; + } + } + + MAJOR_BRAND = new Uint8Array([ + 'i'.charCodeAt(0), + 's'.charCodeAt(0), + 'o'.charCodeAt(0), + 'm'.charCodeAt(0) + ]); + AVC1_BRAND = new Uint8Array([ + 'a'.charCodeAt(0), + 'v'.charCodeAt(0), + 'c'.charCodeAt(0), + '1'.charCodeAt(0) + ]); + MINOR_VERSION = new Uint8Array([0, 0, 0, 1]); + VIDEO_HDLR = new Uint8Array([ + 0x00, // version 0 + 0x00, 0x00, 0x00, // flags + 0x00, 0x00, 0x00, 0x00, // pre_defined + 0x76, 0x69, 0x64, 0x65, // handler_type: 'vide' + 0x00, 0x00, 0x00, 0x00, // reserved + 0x00, 0x00, 0x00, 0x00, // reserved + 0x00, 0x00, 0x00, 0x00, // reserved + 0x56, 0x69, 0x64, 0x65, + 0x6f, 0x48, 0x61, 0x6e, + 0x64, 0x6c, 0x65, 0x72, 0x00 // name: 'VideoHandler' + ]); + AUDIO_HDLR = new Uint8Array([ + 0x00, // version 0 + 0x00, 0x00, 0x00, // flags + 0x00, 0x00, 0x00, 0x00, // pre_defined + 0x73, 0x6f, 0x75, 0x6e, // handler_type: 'soun' + 0x00, 0x00, 0x00, 0x00, // reserved + 0x00, 0x00, 0x00, 0x00, // reserved + 0x00, 0x00, 0x00, 0x00, // reserved + 0x53, 0x6f, 0x75, 0x6e, + 0x64, 0x48, 0x61, 0x6e, + 0x64, 0x6c, 0x65, 0x72, 0x00 // name: 'SoundHandler' + ]); + HDLR_TYPES = { + video: VIDEO_HDLR, + audio: AUDIO_HDLR + }; + DREF = new Uint8Array([ + 0x00, // version 0 + 0x00, 0x00, 0x00, // flags + 0x00, 0x00, 0x00, 0x01, // entry_count + 0x00, 0x00, 0x00, 0x0c, // entry_size + 0x75, 0x72, 0x6c, 0x20, // 'url' type + 0x00, // version 0 + 0x00, 0x00, 0x01 // entry_flags + ]); + SMHD = new Uint8Array([ + 0x00, // version + 0x00, 0x00, 0x00, // flags + 0x00, 0x00, // balance, 0 means centered + 0x00, 0x00 // reserved + ]); + STCO = new Uint8Array([ + 0x00, // version + 0x00, 0x00, 0x00, // flags + 0x00, 0x00, 0x00, 0x00 // entry_count + ]); + STSC = STCO; + STSZ = new Uint8Array([ + 0x00, // version + 0x00, 0x00, 0x00, // flags + 0x00, 0x00, 0x00, 0x00, // sample_size + 0x00, 0x00, 0x00, 0x00 // sample_count + ]); + STTS = STCO; + VMHD = new Uint8Array([ + 0x00, // version + 0x00, 0x00, 0x01, // flags + 0x00, 0x00, // graphicsmode + 0x00, 0x00, + 0x00, 0x00, + 0x00, 0x00 // opcolor + ]); +}()); + +box = function(type) { + var + payload = [], + size = 0, + i, + result, + view; + + for (i = 1; i < arguments.length; i++) { + payload.push(arguments[i]); + } + + i = payload.length; + + // calculate the total size we need to allocate + while (i--) { + size += payload[i].byteLength; + } + result = new Uint8Array(size + 8); + view = new DataView(result.buffer, result.byteOffset, result.byteLength); + view.setUint32(0, result.byteLength); + result.set(type, 4); + + // copy the payload into the result + for (i = 0, size = 8; i < payload.length; i++) { + result.set(payload[i], size); + size += payload[i].byteLength; + } + return result; +}; + +dinf = function() { + return box(types.dinf, box(types.dref, DREF)); +}; + +esds = function(track) { + return box(types.esds, new Uint8Array([ + 0x00, // version + 0x00, 0x00, 0x00, // flags + + // ES_Descriptor + 0x03, // tag, ES_DescrTag + 0x19, // length + 0x00, 0x00, // ES_ID + 0x00, // streamDependenceFlag, URL_flag, reserved, streamPriority + + // DecoderConfigDescriptor + 0x04, // tag, DecoderConfigDescrTag + 0x11, // length + 0x40, // object type + 0x15, // streamType + 0x00, 0x06, 0x00, // bufferSizeDB + 0x00, 0x00, 0xda, 0xc0, // maxBitrate + 0x00, 0x00, 0xda, 0xc0, // avgBitrate + + // DecoderSpecificInfo + 0x05, // tag, DecoderSpecificInfoTag + 0x02, // length + // ISO/IEC 14496-3, AudioSpecificConfig + // for samplingFrequencyIndex see ISO/IEC 13818-7:2006, 8.1.3.2.2, Table 35 + (track.audioobjecttype << 3) | (track.samplingfrequencyindex >>> 1), + (track.samplingfrequencyindex << 7) | (track.channelcount << 3), + 0x06, 0x01, 0x02 // GASpecificConfig + ])); +}; + +ftyp = function() { + return box(types.ftyp, MAJOR_BRAND, MINOR_VERSION, MAJOR_BRAND, AVC1_BRAND); +}; + +hdlr = function(type) { + return box(types.hdlr, HDLR_TYPES[type]); +}; +mdat = function(data) { + return box(types.mdat, data); +}; +mdhd = function(track) { + var result = new Uint8Array([ + 0x00, // version 0 + 0x00, 0x00, 0x00, // flags + 0x00, 0x00, 0x00, 0x02, // creation_time + 0x00, 0x00, 0x00, 0x03, // modification_time + 0x00, 0x01, 0x5f, 0x90, // timescale, 90,000 "ticks" per second + + (track.duration >>> 24) & 0xFF, + (track.duration >>> 16) & 0xFF, + (track.duration >>> 8) & 0xFF, + track.duration & 0xFF, // duration + 0x55, 0xc4, // 'und' language (undetermined) + 0x00, 0x00 + ]); + + // Use the sample rate from the track metadata, when it is + // defined. The sample rate can be parsed out of an ADTS header, for + // instance. + if (track.samplerate) { + result[12] = (track.samplerate >>> 24) & 0xFF; + result[13] = (track.samplerate >>> 16) & 0xFF; + result[14] = (track.samplerate >>> 8) & 0xFF; + result[15] = (track.samplerate) & 0xFF; + // 重置该轨道长度 + track.duration = track.duration / 90000 * track.samplerate; + result[16] = (track.duration >>> 24) & 0xFF; + result[17] = (track.duration >>> 16) & 0xFF; + result[18] = (track.duration >>> 8) & 0xFF; + result[19] = (track.duration) & 0xFF; + } + + return box(types.mdhd, result); +}; +mdia = function(track) { + return box(types.mdia, mdhd(track), hdlr(track.type), minf(track)); +}; +mfhd = function(sequenceNumber) { + return box(types.mfhd, new Uint8Array([ + 0x00, + 0x00, 0x00, 0x00, // flags + (sequenceNumber & 0xFF000000) >> 24, + (sequenceNumber & 0xFF0000) >> 16, + (sequenceNumber & 0xFF00) >> 8, + sequenceNumber & 0xFF // sequence_number + ])); +}; +minf = function(track) { + return box(types.minf, + track.type === 'video' ? box(types.vmhd, VMHD) : box(types.smhd, SMHD), + dinf(), + stbl(track)); +}; +moof = function(sequenceNumber, tracks) { + var + trackFragments = [], + i = tracks.length; + // build traf boxes for each track fragment + while (i--) { + trackFragments[i] = traf(tracks[i]); + } + return box.apply(null, [ + types.moof, + mfhd(sequenceNumber) + ].concat(trackFragments)); +}; +/** + * Returns a movie box. + * @param tracks {array} the tracks associated with this movie + * @see ISO/IEC 14496-12:2012(E), section 8.2.1 + */ +moov = function(tracks) { + var + i = tracks.length, + boxes = []; + + while (i--) { + boxes[i] = trak(tracks[i]); + } + + return box.apply(null, [types.moov, mvhd(customDuration)].concat(boxes).concat(mvex(tracks))); +}; +mvex = function(tracks) { + var + i = tracks.length, + boxes = []; + + while (i--) { + boxes[i] = trex(tracks[i]); + } + return box.apply(null, [types.mvex].concat(boxes)); +}; +mvhd = function(duration) { + var + bytes = new Uint8Array([ + 0x00, // version 0 + 0x00, 0x00, 0x00, // flags + 0x00, 0x00, 0x00, 0x01, // creation_time + 0x00, 0x00, 0x00, 0x02, // modification_time + 0x00, 0x01, 0x5f, 0x90, // timescale, 90,000 "ticks" per second + (duration & 0xFF000000) >> 24, + (duration & 0xFF0000) >> 16, + (duration & 0xFF00) >> 8, + duration & 0xFF, // duration + 0x00, 0x01, 0x00, 0x00, // 1.0 rate + 0x01, 0x00, // 1.0 volume + 0x00, 0x00, // reserved + 0x00, 0x00, 0x00, 0x00, // reserved + 0x00, 0x00, 0x00, 0x00, // reserved + 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x40, 0x00, 0x00, 0x00, // transformation: unity matrix + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, // pre_defined + 0xff, 0xff, 0xff, 0xff // next_track_ID + ]); + return box(types.mvhd, bytes); +}; + +sdtp = function(track) { + var + samples = track.samples || [], + bytes = new Uint8Array(4 + samples.length), + flags, + i; + + // leave the full box header (4 bytes) all zero + + // write the sample table + for (i = 0; i < samples.length; i++) { + flags = samples[i].flags; + + bytes[i + 4] = (flags.dependsOn << 4) | + (flags.isDependedOn << 2) | + (flags.hasRedundancy); + } + + return box(types.sdtp, + bytes); +}; + +stbl = function(track) { + return box(types.stbl, + stsd(track), + box(types.stts, STTS), + box(types.stsc, STSC), + box(types.stsz, STSZ), + box(types.stco, STCO)); +}; + +(function() { + var videoSample, audioSample; + + stsd = function(track) { + + return box(types.stsd, new Uint8Array([ + 0x00, // version 0 + 0x00, 0x00, 0x00, // flags + 0x00, 0x00, 0x00, 0x01 + ]), track.type === 'video' ? videoSample(track) : audioSample(track)); + }; + + videoSample = function(track) { + var + sps = track.sps || [], + pps = track.pps || [], + sequenceParameterSets = [], + pictureParameterSets = [], + i, + avc1Box; + + // assemble the SPSs + for (i = 0; i < sps.length; i++) { + sequenceParameterSets.push((sps[i].byteLength & 0xFF00) >>> 8); + sequenceParameterSets.push((sps[i].byteLength & 0xFF)); // sequenceParameterSetLength + sequenceParameterSets = sequenceParameterSets.concat(Array.prototype.slice.call(sps[i])); // SPS + } + + // assemble the PPSs + for (i = 0; i < pps.length; i++) { + pictureParameterSets.push((pps[i].byteLength & 0xFF00) >>> 8); + pictureParameterSets.push((pps[i].byteLength & 0xFF)); + pictureParameterSets = pictureParameterSets.concat(Array.prototype.slice.call(pps[i])); + } + + avc1Box = [ + types.avc1, new Uint8Array([ + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, // reserved + 0x00, 0x01, // data_reference_index + 0x00, 0x00, // pre_defined + 0x00, 0x00, // reserved + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, // pre_defined + (track.width & 0xff00) >> 8, + track.width & 0xff, // width + (track.height & 0xff00) >> 8, + track.height & 0xff, // height + 0x00, 0x48, 0x00, 0x00, // horizresolution + 0x00, 0x48, 0x00, 0x00, // vertresolution + 0x00, 0x00, 0x00, 0x00, // reserved + 0x00, 0x01, // frame_count + 0x13, + 0x76, 0x69, 0x64, 0x65, + 0x6f, 0x6a, 0x73, 0x2d, + 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x69, 0x62, 0x2d, + 0x68, 0x6c, 0x73, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, // compressorname + 0x00, 0x18, // depth = 24 + 0x11, 0x11 // pre_defined = -1 + ]), + box(types.avcC, new Uint8Array([ + 0x01, // configurationVersion + track.profileIdc, // AVCProfileIndication + track.profileCompatibility, // profile_compatibility + track.levelIdc, // AVCLevelIndication + 0xff // lengthSizeMinusOne, hard-coded to 4 bytes + ].concat( + [sps.length], // numOfSequenceParameterSets + sequenceParameterSets, // "SPS" + [pps.length], // numOfPictureParameterSets + pictureParameterSets // "PPS" + ))), + box(types.btrt, new Uint8Array([ + 0x00, 0x1c, 0x9c, 0x80, // bufferSizeDB + 0x00, 0x2d, 0xc6, 0xc0, // maxBitrate + 0x00, 0x2d, 0xc6, 0xc0 // avgBitrate + ])) + ]; + + if (track.sarRatio) { + var + hSpacing = track.sarRatio[0], + vSpacing = track.sarRatio[1]; + + avc1Box.push( + box(types.pasp, new Uint8Array([ + (hSpacing & 0xFF000000) >> 24, + (hSpacing & 0xFF0000) >> 16, + (hSpacing & 0xFF00) >> 8, + hSpacing & 0xFF, + (vSpacing & 0xFF000000) >> 24, + (vSpacing & 0xFF0000) >> 16, + (vSpacing & 0xFF00) >> 8, + vSpacing & 0xFF + ])) + ); + } + + return box.apply(null, avc1Box); + }; + + audioSample = function(track) { + return box(types.mp4a, new Uint8Array([ + + // SampleEntry, ISO/IEC 14496-12 + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, // reserved + 0x00, 0x01, // data_reference_index + + // AudioSampleEntry, ISO/IEC 14496-12 + 0x00, 0x00, 0x00, 0x00, // reserved + 0x00, 0x00, 0x00, 0x00, // reserved + (track.channelcount & 0xff00) >> 8, + (track.channelcount & 0xff), // channelcount + + (track.samplesize & 0xff00) >> 8, + (track.samplesize & 0xff), // samplesize + 0x00, 0x00, // pre_defined + 0x00, 0x00, // reserved + + (track.samplerate & 0xff00) >> 8, + (track.samplerate & 0xff), + 0x00, 0x00 // samplerate, 16.16 + + // MP4AudioSampleEntry, ISO/IEC 14496-14 + ]), esds(track)); + }; +}()); + +tkhd = function(track) { + var result = new Uint8Array([ + 0x00, // version 0 + 0x00, 0x00, 0x07, // flags + 0x00, 0x00, 0x00, 0x00, // creation_time + 0x00, 0x00, 0x00, 0x00, // modification_time + (track.id & 0xFF000000) >> 24, + (track.id & 0xFF0000) >> 16, + (track.id & 0xFF00) >> 8, + track.id & 0xFF, // track_ID + 0x00, 0x00, 0x00, 0x00, // reserved + (track.duration & 0xFF000000) >> 24, + (track.duration & 0xFF0000) >> 16, + (track.duration & 0xFF00) >> 8, + track.duration & 0xFF, // duration + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, // reserved + 0x00, 0x00, // layer + 0x00, 0x00, // alternate_group + 0x01, 0x00, // non-audio track volume + 0x00, 0x00, // reserved + 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, + 0x40, 0x00, 0x00, 0x00, // transformation: unity matrix + (track.width & 0xFF00) >> 8, + track.width & 0xFF, + 0x00, 0x00, // width + (track.height & 0xFF00) >> 8, + track.height & 0xFF, + 0x00, 0x00 // height + ]); + + return box(types.tkhd, result); +}; + +/** + * Generate a track fragment (traf) box. A traf box collects metadata + * about tracks in a movie fragment (moof) box. + */ +traf = function(track) { + var trackFragmentHeader, trackFragmentDecodeTime, trackFragmentRun, + sampleDependencyTable, dataOffset, + upperWordBaseMediaDecodeTime, lowerWordBaseMediaDecodeTime; + + trackFragmentHeader = box(types.tfhd, new Uint8Array([ + 0x00, // version 0 + 0x00, 0x00, 0x3a, // flags + (track.id & 0xFF000000) >> 24, + (track.id & 0xFF0000) >> 16, + (track.id & 0xFF00) >> 8, + (track.id & 0xFF), // track_ID + 0x00, 0x00, 0x00, 0x01, // sample_description_index + 0x00, 0x00, 0x00, 0x00, // default_sample_duration + 0x00, 0x00, 0x00, 0x00, // default_sample_size + 0x00, 0x00, 0x00, 0x00 // default_sample_flags + ])); + + upperWordBaseMediaDecodeTime = Math.floor(track.baseMediaDecodeTime / (UINT32_MAX + 1)); + lowerWordBaseMediaDecodeTime = Math.floor(track.baseMediaDecodeTime % (UINT32_MAX + 1)); + + trackFragmentDecodeTime = box(types.tfdt, new Uint8Array([ + 0x01, // version 1 + 0x00, 0x00, 0x00, // flags + // baseMediaDecodeTime + (upperWordBaseMediaDecodeTime >>> 24) & 0xFF, + (upperWordBaseMediaDecodeTime >>> 16) & 0xFF, + (upperWordBaseMediaDecodeTime >>> 8) & 0xFF, + upperWordBaseMediaDecodeTime & 0xFF, + (lowerWordBaseMediaDecodeTime >>> 24) & 0xFF, + (lowerWordBaseMediaDecodeTime >>> 16) & 0xFF, + (lowerWordBaseMediaDecodeTime >>> 8) & 0xFF, + lowerWordBaseMediaDecodeTime & 0xFF + ])); + + // the data offset specifies the number of bytes from the start of + // the containing moof to the first payload byte of the associated + // mdat + dataOffset = (32 + // tfhd + 20 + // tfdt + 8 + // traf header + 16 + // mfhd + 8 + // moof header + 8); // mdat header + + // audio tracks require less metadata + if (track.type === 'audio') { + trackFragmentRun = trun(track, dataOffset); + return box(types.traf, + trackFragmentHeader, + trackFragmentDecodeTime, + trackFragmentRun); + } + + // video tracks should contain an independent and disposable samples + // box (sdtp) + // generate one and adjust offsets to match + sampleDependencyTable = sdtp(track); + trackFragmentRun = trun(track, + sampleDependencyTable.length + dataOffset); + return box(types.traf, + trackFragmentHeader, + trackFragmentDecodeTime, + trackFragmentRun, + sampleDependencyTable); +}; + +/** + * Generate a track box. + * @param track {object} a track definition + * @return {Uint8Array} the track box + */ +trak = function(track) { + track.duration = track.duration || customDuration; + return box(types.trak, + tkhd(track), + mdia(track)); +}; + +trex = function(track) { + var result = new Uint8Array([ + 0x00, // version 0 + 0x00, 0x00, 0x00, // flags + (track.id & 0xFF000000) >> 24, + (track.id & 0xFF0000) >> 16, + (track.id & 0xFF00) >> 8, + (track.id & 0xFF), // track_ID + 0x00, 0x00, 0x00, 0x01, // default_sample_description_index + 0x00, 0x00, 0x00, 0x00, // default_sample_duration + 0x00, 0x00, 0x00, 0x00, // default_sample_size + 0x00, 0x01, 0x00, 0x01 // default_sample_flags + ]); + // the last two bytes of default_sample_flags is the sample + // degradation priority, a hint about the importance of this sample + // relative to others. Lower the degradation priority for all sample + // types other than video. + if (track.type !== 'video') { + result[result.length - 1] = 0x00; + } + + return box(types.trex, result); +}; + +(function() { + var audioTrun, videoTrun, trunHeader; + + // This method assumes all samples are uniform. That is, if a + // duration is present for the first sample, it will be present for + // all subsequent samples. + // see ISO/IEC 14496-12:2012, Section 8.8.8.1 + trunHeader = function(samples, offset) { + var durationPresent = 0, sizePresent = 0, + flagsPresent = 0, compositionTimeOffset = 0; + + // trun flag constants + if (samples.length) { + if (samples[0].duration !== undefined) { + durationPresent = 0x1; + } + if (samples[0].size !== undefined) { + sizePresent = 0x2; + } + if (samples[0].flags !== undefined) { + flagsPresent = 0x4; + } + if (samples[0].compositionTimeOffset !== undefined) { + compositionTimeOffset = 0x8; + } + } + + return [ + 0x00, // version 0 + 0x00, + durationPresent | sizePresent | flagsPresent | compositionTimeOffset, + 0x01, // flags + (samples.length & 0xFF000000) >>> 24, + (samples.length & 0xFF0000) >>> 16, + (samples.length & 0xFF00) >>> 8, + samples.length & 0xFF, // sample_count + (offset & 0xFF000000) >>> 24, + (offset & 0xFF0000) >>> 16, + (offset & 0xFF00) >>> 8, + offset & 0xFF // data_offset + ]; + }; + + videoTrun = function(track, offset) { + var bytesOffest, bytes, header, samples, sample, i; + + samples = track.samples || []; + offset += 8 + 12 + (16 * samples.length); + header = trunHeader(samples, offset); + bytes = new Uint8Array(header.length + samples.length * 16); + bytes.set(header); + bytesOffest = header.length; + + for (i = 0; i < samples.length; i++) { + sample = samples[i]; + + bytes[bytesOffest++] = (sample.duration & 0xFF000000) >>> 24; + bytes[bytesOffest++] = (sample.duration & 0xFF0000) >>> 16; + bytes[bytesOffest++] = (sample.duration & 0xFF00) >>> 8; + bytes[bytesOffest++] = sample.duration & 0xFF; // sample_duration + bytes[bytesOffest++] = (sample.size & 0xFF000000) >>> 24; + bytes[bytesOffest++] = (sample.size & 0xFF0000) >>> 16; + bytes[bytesOffest++] = (sample.size & 0xFF00) >>> 8; + bytes[bytesOffest++] = sample.size & 0xFF; // sample_size + bytes[bytesOffest++] = (sample.flags.isLeading << 2) | sample.flags.dependsOn; + bytes[bytesOffest++] = (sample.flags.isDependedOn << 6) | + (sample.flags.hasRedundancy << 4) | + (sample.flags.paddingValue << 1) | + sample.flags.isNonSyncSample; + bytes[bytesOffest++] = sample.flags.degradationPriority & 0xF0 << 8; + bytes[bytesOffest++] = sample.flags.degradationPriority & 0x0F; // sample_flags + bytes[bytesOffest++] = (sample.compositionTimeOffset & 0xFF000000) >>> 24; + bytes[bytesOffest++] = (sample.compositionTimeOffset & 0xFF0000) >>> 16; + bytes[bytesOffest++] = (sample.compositionTimeOffset & 0xFF00) >>> 8; + bytes[bytesOffest++] = sample.compositionTimeOffset & 0xFF; // sample_composition_time_offset + } + return box(types.trun, bytes); + }; + + audioTrun = function(track, offset) { + var bytes, bytesOffest, header, samples, sample, i; + + samples = track.samples || []; + offset += 8 + 12 + (8 * samples.length); + + header = trunHeader(samples, offset); + bytes = new Uint8Array(header.length + samples.length * 8); + bytes.set(header); + bytesOffest = header.length; + + for (i = 0; i < samples.length; i++) { + sample = samples[i]; + bytes[bytesOffest++] = (sample.duration & 0xFF000000) >>> 24; + bytes[bytesOffest++] = (sample.duration & 0xFF0000) >>> 16; + bytes[bytesOffest++] = (sample.duration & 0xFF00) >>> 8; + bytes[bytesOffest++] = sample.duration & 0xFF; // sample_duration + bytes[bytesOffest++] = (sample.size & 0xFF000000) >>> 24; + bytes[bytesOffest++] = (sample.size & 0xFF0000) >>> 16; + bytes[bytesOffest++] = (sample.size & 0xFF00) >>> 8; + bytes[bytesOffest++] = sample.size & 0xFF; // sample_size + } + + return box(types.trun, bytes); + }; + + trun = function(track, offset) { + if (track.type === 'audio') { + return audioTrun(track, offset); + } + + return videoTrun(track, offset); + }; +}()); + +module.exports = { + ftyp: ftyp, + mdat: mdat, + moof: moof, + moov: moov, + setDuration: function(duration) { + if (duration) { + customDuration = duration * 90000; // 乘以 timescale + } + }, + initSegment: function(tracks) { + var + fileType = ftyp(), + movie = moov(tracks), + result; + + result = new Uint8Array(fileType.byteLength + movie.byteLength); + result.set(fileType); + result.set(movie, fileType.byteLength); + return result; + } +}; + +},{}],19:[function(require,module,exports){ +var parseType = function(buffer) { + var result = ''; + result += String.fromCharCode(buffer[0]); + result += String.fromCharCode(buffer[1]); + result += String.fromCharCode(buffer[2]); + result += String.fromCharCode(buffer[3]); + return result; +}; + + +module.exports = parseType; + +},{}],20:[function(require,module,exports){ +/** + * mux.js + * + * Copyright (c) Brightcove + * Licensed Apache-2.0 https://github.com/videojs/mux.js/blob/master/LICENSE + * + * Utilities to detect basic properties and metadata about MP4s. + */ +'use strict'; + +var toUnsigned = require(28).toUnsigned; +var toHexString = require(28).toHexString; +var findBox = require(15); +var parseType = require(19); +var parseTfhd = require(26); +var parseTrun = require(27); +var parseTfdt = require(25); +var timescale, startTime, compositionStartTime, getVideoTrackIds, getTracks, + getTimescaleFromMediaHeader; + +/** + * Parses an MP4 initialization segment and extracts the timescale + * values for any declared tracks. Timescale values indicate the + * number of clock ticks per second to assume for time-based values + * elsewhere in the MP4. + * + * To determine the start time of an MP4, you need two pieces of + * information: the timescale unit and the earliest base media decode + * time. Multiple timescales can be specified within an MP4 but the + * base media decode time is always expressed in the timescale from + * the media header box for the track: + * ``` + * moov > trak > mdia > mdhd.timescale + * ``` + * @param init {Uint8Array} the bytes of the init segment + * @return {object} a hash of track ids to timescale values or null if + * the init segment is malformed. + */ +timescale = function(init) { + var + result = {}, + traks = findBox(init, ['moov', 'trak']); + + // mdhd timescale + return traks.reduce(function(result, trak) { + var tkhd, version, index, id, mdhd; + + tkhd = findBox(trak, ['tkhd'])[0]; + if (!tkhd) { + return null; + } + version = tkhd[0]; + index = version === 0 ? 12 : 20; + id = toUnsigned(tkhd[index] << 24 | + tkhd[index + 1] << 16 | + tkhd[index + 2] << 8 | + tkhd[index + 3]); + + mdhd = findBox(trak, ['mdia', 'mdhd'])[0]; + if (!mdhd) { + return null; + } + version = mdhd[0]; + index = version === 0 ? 12 : 20; + result[id] = toUnsigned(mdhd[index] << 24 | + mdhd[index + 1] << 16 | + mdhd[index + 2] << 8 | + mdhd[index + 3]); + return result; + }, result); +}; + +/** + * Determine the base media decode start time, in seconds, for an MP4 + * fragment. If multiple fragments are specified, the earliest time is + * returned. + * + * The base media decode time can be parsed from track fragment + * metadata: + * ``` + * moof > traf > tfdt.baseMediaDecodeTime + * ``` + * It requires the timescale value from the mdhd to interpret. + * + * @param timescale {object} a hash of track ids to timescale values. + * @return {number} the earliest base media decode start time for the + * fragment, in seconds + */ +startTime = function(timescale, fragment) { + var trafs, baseTimes, result; + + // we need info from two childrend of each track fragment box + trafs = findBox(fragment, ['moof', 'traf']); + + // determine the start times for each track + baseTimes = [].concat.apply([], trafs.map(function(traf) { + return findBox(traf, ['tfhd']).map(function(tfhd) { + var id, scale, baseTime; + + // get the track id from the tfhd + id = toUnsigned(tfhd[4] << 24 | + tfhd[5] << 16 | + tfhd[6] << 8 | + tfhd[7]); + // assume a 90kHz clock if no timescale was specified + scale = timescale[id] || 90e3; + + // get the base media decode time from the tfdt + baseTime = findBox(traf, ['tfdt']).map(function(tfdt) { + var version, result; + + version = tfdt[0]; + result = toUnsigned(tfdt[4] << 24 | + tfdt[5] << 16 | + tfdt[6] << 8 | + tfdt[7]); + if (version === 1) { + result *= Math.pow(2, 32); + result += toUnsigned(tfdt[8] << 24 | + tfdt[9] << 16 | + tfdt[10] << 8 | + tfdt[11]); + } + return result; + })[0]; + baseTime = baseTime || Infinity; + + // convert base time to seconds + return baseTime / scale; + }); + })); + + // return the minimum + result = Math.min.apply(null, baseTimes); + return isFinite(result) ? result : 0; +}; + +/** + * Determine the composition start, in seconds, for an MP4 + * fragment. + * + * The composition start time of a fragment can be calculated using the base + * media decode time, composition time offset, and timescale, as follows: + * + * compositionStartTime = (baseMediaDecodeTime + compositionTimeOffset) / timescale + * + * All of the aforementioned information is contained within a media fragment's + * `traf` box, except for timescale info, which comes from the initialization + * segment, so a track id (also contained within a `traf`) is also necessary to + * associate it with a timescale + * + * + * @param timescales {object} - a hash of track ids to timescale values. + * @param fragment {Unit8Array} - the bytes of a media segment + * @return {number} the composition start time for the fragment, in seconds + **/ +compositionStartTime = function(timescales, fragment) { + var trafBoxes = findBox(fragment, ['moof', 'traf']); + var baseMediaDecodeTime = 0; + var compositionTimeOffset = 0; + var trackId; + + if (trafBoxes && trafBoxes.length) { + // The spec states that track run samples contained within a `traf` box are contiguous, but + // it does not explicitly state whether the `traf` boxes themselves are contiguous. + // We will assume that they are, so we only need the first to calculate start time. + var tfhd = findBox(trafBoxes[0], ['tfhd'])[0]; + var trun = findBox(trafBoxes[0], ['trun'])[0]; + var tfdt = findBox(trafBoxes[0], ['tfdt'])[0]; + + if (tfhd) { + var parsedTfhd = parseTfhd(tfhd); + + trackId = parsedTfhd.trackId; + } + + if (tfdt) { + var parsedTfdt = parseTfdt(tfdt); + + baseMediaDecodeTime = parsedTfdt.baseMediaDecodeTime; + } + + if (trun) { + var parsedTrun = parseTrun(trun); + + if (parsedTrun.samples && parsedTrun.samples.length) { + compositionTimeOffset = parsedTrun.samples[0].compositionTimeOffset || 0; + } + } + } + + // Get timescale for this specific track. Assume a 90kHz clock if no timescale was + // specified. + var timescale = timescales[trackId] || 90e3; + + // return the composition start time, in seconds + return (baseMediaDecodeTime + compositionTimeOffset) / timescale; +}; + +/** + * Find the trackIds of the video tracks in this source. + * Found by parsing the Handler Reference and Track Header Boxes: + * moov > trak > mdia > hdlr + * moov > trak > tkhd + * + * @param {Uint8Array} init - The bytes of the init segment for this source + * @return {Number[]} A list of trackIds + * + * @see ISO-BMFF-12/2015, Section 8.4.3 + **/ +getVideoTrackIds = function(init) { + var traks = findBox(init, ['moov', 'trak']); + var videoTrackIds = []; + + traks.forEach(function(trak) { + var hdlrs = findBox(trak, ['mdia', 'hdlr']); + var tkhds = findBox(trak, ['tkhd']); + + hdlrs.forEach(function(hdlr, index) { + var handlerType = parseType(hdlr.subarray(8, 12)); + var tkhd = tkhds[index]; + var view; + var version; + var trackId; + + if (handlerType === 'vide') { + view = new DataView(tkhd.buffer, tkhd.byteOffset, tkhd.byteLength); + version = view.getUint8(0); + trackId = (version === 0) ? view.getUint32(12) : view.getUint32(20); + + videoTrackIds.push(trackId); + } + }); + }); + + return videoTrackIds; +}; + +getTimescaleFromMediaHeader = function(mdhd) { + // mdhd is a FullBox, meaning it will have its own version as the first byte + var version = mdhd[0]; + var index = version === 0 ? 12 : 20; + + return toUnsigned( + mdhd[index] << 24 | + mdhd[index + 1] << 16 | + mdhd[index + 2] << 8 | + mdhd[index + 3] + ); +}; + +/** + * Get all the video, audio, and hint tracks from a non fragmented + * mp4 segment + */ +getTracks = function(init) { + var traks = findBox(init, ['moov', 'trak']); + var tracks = []; + + traks.forEach(function(trak) { + var track = {}; + var tkhd = findBox(trak, ['tkhd'])[0]; + var view, tkhdVersion; + + // id + if (tkhd) { + view = new DataView(tkhd.buffer, tkhd.byteOffset, tkhd.byteLength); + tkhdVersion = view.getUint8(0); + + track.id = (tkhdVersion === 0) ? view.getUint32(12) : view.getUint32(20); + } + + var hdlr = findBox(trak, ['mdia', 'hdlr'])[0]; + + // type + if (hdlr) { + var type = parseType(hdlr.subarray(8, 12)); + + if (type === 'vide') { + track.type = 'video'; + } else if (type === 'soun') { + track.type = 'audio'; + } else { + track.type = type; + } + } + + + // codec + var stsd = findBox(trak, ['mdia', 'minf', 'stbl', 'stsd'])[0]; + + if (stsd) { + var sampleDescriptions = stsd.subarray(8); + // gives the codec type string + track.codec = parseType(sampleDescriptions.subarray(4, 8)); + + var codecBox = findBox(sampleDescriptions, [track.codec])[0]; + var codecConfig, codecConfigType; + + if (codecBox) { + // https://tools.ietf.org/html/rfc6381#section-3.3 + if ((/^[a-z]vc[1-9]$/i).test(track.codec)) { + // we don't need anything but the "config" parameter of the + // avc1 codecBox + codecConfig = codecBox.subarray(78); + codecConfigType = parseType(codecConfig.subarray(4, 8)); + + if (codecConfigType === 'avcC' && codecConfig.length > 11) { + track.codec += '.'; + + // left padded with zeroes for single digit hex + // profile idc + track.codec += toHexString(codecConfig[9]); + // the byte containing the constraint_set flags + track.codec += toHexString(codecConfig[10]); + // level idc + track.codec += toHexString(codecConfig[11]); + } else { + // TODO: show a warning that we couldn't parse the codec + // and are using the default + track.codec = 'avc1.4d400d'; + } + } else if ((/^mp4[a,v]$/i).test(track.codec)) { + // we do not need anything but the streamDescriptor of the mp4a codecBox + codecConfig = codecBox.subarray(28); + codecConfigType = parseType(codecConfig.subarray(4, 8)); + + if (codecConfigType === 'esds' && codecConfig.length > 20 && codecConfig[19] !== 0) { + track.codec += '.' + toHexString(codecConfig[19]); + // this value is only a single digit + track.codec += '.' + toHexString((codecConfig[20] >>> 2) & 0x3f).replace(/^0/, ''); + } else { + // TODO: show a warning that we couldn't parse the codec + // and are using the default + track.codec = 'mp4a.40.2'; + } + } else { + // TODO: show a warning? for unknown codec type + } + } + } + + var mdhd = findBox(trak, ['mdia', 'mdhd'])[0]; + + if (mdhd) { + track.timescale = getTimescaleFromMediaHeader(mdhd); + } + + tracks.push(track); + }); + + return tracks; +}; + +module.exports = { + // export mp4 inspector's findBox and parseType for backwards compatibility + findBox: findBox, + parseType: parseType, + timescale: timescale, + startTime: startTime, + compositionStartTime: compositionStartTime, + videoTrackIds: getVideoTrackIds, + tracks: getTracks, + getTimescaleFromMediaHeader: getTimescaleFromMediaHeader +}; + +},{"15":15,"19":19,"25":25,"26":26,"27":27,"28":28}],21:[function(require,module,exports){ +/** + * mux.js + * + * Copyright (c) Brightcove + * Licensed Apache-2.0 https://github.com/videojs/mux.js/blob/master/LICENSE + */ +var ONE_SECOND_IN_TS = require(29).ONE_SECOND_IN_TS; + +/** + * Store information about the start and end of the track and the + * duration for each frame/sample we process in order to calculate + * the baseMediaDecodeTime + */ +var collectDtsInfo = function(track, data) { + if (typeof data.pts === 'number') { + if (track.timelineStartInfo.pts === undefined) { + track.timelineStartInfo.pts = data.pts; + } + + if (track.minSegmentPts === undefined) { + track.minSegmentPts = data.pts; + } else { + track.minSegmentPts = Math.min(track.minSegmentPts, data.pts); + } + + if (track.maxSegmentPts === undefined) { + track.maxSegmentPts = data.pts; + } else { + track.maxSegmentPts = Math.max(track.maxSegmentPts, data.pts); + } + } + + if (typeof data.dts === 'number') { + if (track.timelineStartInfo.dts === undefined) { + track.timelineStartInfo.dts = data.dts; + } + + if (track.minSegmentDts === undefined) { + track.minSegmentDts = data.dts; + } else { + track.minSegmentDts = Math.min(track.minSegmentDts, data.dts); + } + + if (track.maxSegmentDts === undefined) { + track.maxSegmentDts = data.dts; + } else { + track.maxSegmentDts = Math.max(track.maxSegmentDts, data.dts); + } + } +}; + +/** + * Clear values used to calculate the baseMediaDecodeTime between + * tracks + */ +var clearDtsInfo = function(track) { + delete track.minSegmentDts; + delete track.maxSegmentDts; + delete track.minSegmentPts; + delete track.maxSegmentPts; +}; + +/** + * Calculate the track's baseMediaDecodeTime based on the earliest + * DTS the transmuxer has ever seen and the minimum DTS for the + * current track + * @param track {object} track metadata configuration + * @param keepOriginalTimestamps {boolean} If true, keep the timestamps + * in the source; false to adjust the first segment to start at 0. + */ +var calculateTrackBaseMediaDecodeTime = function(track, keepOriginalTimestamps) { + var + baseMediaDecodeTime, + scale, + minSegmentDts = track.minSegmentDts; + + // Optionally adjust the time so the first segment starts at zero. + if (!keepOriginalTimestamps) { + minSegmentDts -= track.timelineStartInfo.dts; + } + + // track.timelineStartInfo.baseMediaDecodeTime is the location, in time, where + // we want the start of the first segment to be placed + baseMediaDecodeTime = track.timelineStartInfo.baseMediaDecodeTime; + + // Add to that the distance this segment is from the very first + baseMediaDecodeTime += minSegmentDts; + + // baseMediaDecodeTime must not become negative + baseMediaDecodeTime = Math.max(0, baseMediaDecodeTime); + + if (track.type === 'audio') { + // Audio has a different clock equal to the sampling_rate so we need to + // scale the PTS values into the clock rate of the track + scale = track.samplerate / ONE_SECOND_IN_TS; + baseMediaDecodeTime *= scale; + baseMediaDecodeTime = Math.floor(baseMediaDecodeTime); + } + + return baseMediaDecodeTime; +}; + +module.exports = { + clearDtsInfo: clearDtsInfo, + calculateTrackBaseMediaDecodeTime: calculateTrackBaseMediaDecodeTime, + collectDtsInfo: collectDtsInfo +}; + +},{"29":29}],22:[function(require,module,exports){ +/** + * mux.js + * + * Copyright (c) Brightcove + * Licensed Apache-2.0 https://github.com/videojs/mux.js/blob/master/LICENSE + * + * A stream-based mp2t to mp4 converter. This utility can be used to + * deliver mp4s to a SourceBuffer on platforms that support native + * Media Source Extensions. + */ +'use strict'; + +var Stream = require(31); +var mp4 = require(18); +var frameUtils = require(16); +var audioFrameUtils = require(13); +var trackDecodeInfo = require(21); +var m2ts = require(9); +var clock = require(29); +var AdtsStream = require(3); +var H264Stream = require(4).H264Stream; +var AacStream = require(1); +var isLikelyAacData = require(2).isLikelyAacData; +var ONE_SECOND_IN_TS = require(29).ONE_SECOND_IN_TS; +var AUDIO_PROPERTIES = require(5); +var VIDEO_PROPERTIES = require(6); + +// object types +var VideoSegmentStream, AudioSegmentStream, Transmuxer, CoalesceStream; + +/** + * Compare two arrays (even typed) for same-ness + */ +var arrayEquals = function(a, b) { + var + i; + + if (a.length !== b.length) { + return false; + } + + // compare the value of each element in the array + for (i = 0; i < a.length; i++) { + if (a[i] !== b[i]) { + return false; + } + } + + return true; +}; + +var generateVideoSegmentTimingInfo = function( + baseMediaDecodeTime, + startDts, + startPts, + endDts, + endPts, + prependedContentDuration +) { + var + ptsOffsetFromDts = startPts - startDts, + decodeDuration = endDts - startDts, + presentationDuration = endPts - startPts; + + // The PTS and DTS values are based on the actual stream times from the segment, + // however, the player time values will reflect a start from the baseMediaDecodeTime. + // In order to provide relevant values for the player times, base timing info on the + // baseMediaDecodeTime and the DTS and PTS durations of the segment. + return { + start: { + dts: baseMediaDecodeTime, + pts: baseMediaDecodeTime + ptsOffsetFromDts + }, + end: { + dts: baseMediaDecodeTime + decodeDuration, + pts: baseMediaDecodeTime + presentationDuration + }, + prependedContentDuration: prependedContentDuration, + baseMediaDecodeTime: baseMediaDecodeTime + }; +}; + +/** + * Constructs a single-track, ISO BMFF media segment from AAC data + * events. The output of this stream can be fed to a SourceBuffer + * configured with a suitable initialization segment. + * @param track {object} track metadata configuration + * @param options {object} transmuxer options object + * @param options.keepOriginalTimestamps {boolean} If true, keep the timestamps + * in the source; false to adjust the first segment to start at 0. + */ +AudioSegmentStream = function(track, options) { + var + adtsFrames = [], + sequenceNumber = 0, + earliestAllowedDts = 0, + audioAppendStartTs = 0, + videoBaseMediaDecodeTime = Infinity; + + options = options || {}; + + AudioSegmentStream.prototype.init.call(this); + + this.push = function(data) { + trackDecodeInfo.collectDtsInfo(track, data); + + if (track) { + AUDIO_PROPERTIES.forEach(function(prop) { + track[prop] = data[prop]; + }); + } + + // buffer audio data until end() is called + adtsFrames.push(data); + }; + + this.setEarliestDts = function(earliestDts) { + earliestAllowedDts = earliestDts; + }; + + this.setVideoBaseMediaDecodeTime = function(baseMediaDecodeTime) { + videoBaseMediaDecodeTime = baseMediaDecodeTime; + }; + + this.setAudioAppendStart = function(timestamp) { + audioAppendStartTs = timestamp; + }; + + this.flush = function() { + var + frames, + moof, + mdat, + boxes, + frameDuration; + + // return early if no audio data has been observed + if (adtsFrames.length === 0) { + this.trigger('done', 'AudioSegmentStream'); + return; + } + + frames = audioFrameUtils.trimAdtsFramesByEarliestDts( + adtsFrames, track, earliestAllowedDts); + track.baseMediaDecodeTime = trackDecodeInfo.calculateTrackBaseMediaDecodeTime( + track, options.keepOriginalTimestamps); + + audioFrameUtils.prefixWithSilence( + track, frames, audioAppendStartTs, videoBaseMediaDecodeTime); + + // we have to build the index from byte locations to + // samples (that is, adts frames) in the audio data + track.samples = audioFrameUtils.generateSampleTable(frames); + + // concatenate the audio data to constuct the mdat + mdat = mp4.mdat(audioFrameUtils.concatenateFrameData(frames)); + + adtsFrames = []; + + moof = mp4.moof(sequenceNumber, [track]); + boxes = new Uint8Array(moof.byteLength + mdat.byteLength); + + // bump the sequence number for next time + sequenceNumber++; + + boxes.set(moof); + boxes.set(mdat, moof.byteLength); + + trackDecodeInfo.clearDtsInfo(track); + + frameDuration = Math.ceil(ONE_SECOND_IN_TS * 1024 / track.samplerate); + + // TODO this check was added to maintain backwards compatibility (particularly with + // tests) on adding the timingInfo event. However, it seems unlikely that there's a + // valid use-case where an init segment/data should be triggered without associated + // frames. Leaving for now, but should be looked into. + if (frames.length) { + this.trigger('timingInfo', { + start: frames[0].pts, + end: frames[0].pts + (frames.length * frameDuration) + }); + } + this.trigger('data', {track: track, boxes: boxes}); + this.trigger('done', 'AudioSegmentStream'); + }; + + this.reset = function() { + trackDecodeInfo.clearDtsInfo(track); + adtsFrames = []; + this.trigger('reset'); + }; +}; + +AudioSegmentStream.prototype = new Stream(); + +/** + * Constructs a single-track, ISO BMFF media segment from H264 data + * events. The output of this stream can be fed to a SourceBuffer + * configured with a suitable initialization segment. + * @param track {object} track metadata configuration + * @param options {object} transmuxer options object + * @param options.alignGopsAtEnd {boolean} If true, start from the end of the + * gopsToAlignWith list when attempting to align gop pts + * @param options.keepOriginalTimestamps {boolean} If true, keep the timestamps + * in the source; false to adjust the first segment to start at 0. + */ +VideoSegmentStream = function(track, options) { + var + sequenceNumber = 0, + nalUnits = [], + gopsToAlignWith = [], + config, + pps; + + options = options || {}; + + VideoSegmentStream.prototype.init.call(this); + + delete track.minPTS; + + this.gopCache_ = []; + + /** + * Constructs a ISO BMFF segment given H264 nalUnits + * @param {Object} nalUnit A data event representing a nalUnit + * @param {String} nalUnit.nalUnitType + * @param {Object} nalUnit.config Properties for a mp4 track + * @param {Uint8Array} nalUnit.data The nalUnit bytes + * @see lib/codecs/h264.js + **/ + this.push = function(nalUnit) { + trackDecodeInfo.collectDtsInfo(track, nalUnit); + + // record the track config + if (nalUnit.nalUnitType === 'seq_parameter_set_rbsp' && !config) { + config = nalUnit.config; + track.sps = [nalUnit.data]; + + VIDEO_PROPERTIES.forEach(function(prop) { + track[prop] = config[prop]; + }, this); + } + + if (nalUnit.nalUnitType === 'pic_parameter_set_rbsp' && + !pps) { + pps = nalUnit.data; + track.pps = [nalUnit.data]; + } + + // buffer video until flush() is called + nalUnits.push(nalUnit); + }; + + /** + * Pass constructed ISO BMFF track and boxes on to the + * next stream in the pipeline + **/ + this.flush = function() { + var + frames, + gopForFusion, + gops, + moof, + mdat, + boxes, + prependedContentDuration = 0, + firstGop, + lastGop; + + // Throw away nalUnits at the start of the byte stream until + // we find the first AUD + while (nalUnits.length) { + if (nalUnits[0].nalUnitType === 'access_unit_delimiter_rbsp') { + break; + } + nalUnits.shift(); + } + + // Return early if no video data has been observed + if (nalUnits.length === 0) { + this.resetStream_(); + this.trigger('done', 'VideoSegmentStream'); + return; + } + + // Organize the raw nal-units into arrays that represent + // higher-level constructs such as frames and gops + // (group-of-pictures) + frames = frameUtils.groupNalsIntoFrames(nalUnits); + gops = frameUtils.groupFramesIntoGops(frames); + + // If the first frame of this fragment is not a keyframe we have + // a problem since MSE (on Chrome) requires a leading keyframe. + // + // We have two approaches to repairing this situation: + // 1) GOP-FUSION: + // This is where we keep track of the GOPS (group-of-pictures) + // from previous fragments and attempt to find one that we can + // prepend to the current fragment in order to create a valid + // fragment. + // 2) KEYFRAME-PULLING: + // Here we search for the first keyframe in the fragment and + // throw away all the frames between the start of the fragment + // and that keyframe. We then extend the duration and pull the + // PTS of the keyframe forward so that it covers the time range + // of the frames that were disposed of. + // + // #1 is far prefereable over #2 which can cause "stuttering" but + // requires more things to be just right. + if (!gops[0][0].keyFrame) { + // Search for a gop for fusion from our gopCache + gopForFusion = this.getGopForFusion_(nalUnits[0], track); + + if (gopForFusion) { + // in order to provide more accurate timing information about the segment, save + // the number of seconds prepended to the original segment due to GOP fusion + prependedContentDuration = gopForFusion.duration; + + gops.unshift(gopForFusion); + // Adjust Gops' metadata to account for the inclusion of the + // new gop at the beginning + gops.byteLength += gopForFusion.byteLength; + gops.nalCount += gopForFusion.nalCount; + gops.pts = gopForFusion.pts; + gops.dts = gopForFusion.dts; + gops.duration += gopForFusion.duration; + } else { + // If we didn't find a candidate gop fall back to keyframe-pulling + gops = frameUtils.extendFirstKeyFrame(gops); + } + } + + // Trim gops to align with gopsToAlignWith + if (gopsToAlignWith.length) { + var alignedGops; + + if (options.alignGopsAtEnd) { + alignedGops = this.alignGopsAtEnd_(gops); + } else { + alignedGops = this.alignGopsAtStart_(gops); + } + + if (!alignedGops) { + // save all the nals in the last GOP into the gop cache + this.gopCache_.unshift({ + gop: gops.pop(), + pps: track.pps, + sps: track.sps + }); + + // Keep a maximum of 6 GOPs in the cache + this.gopCache_.length = Math.min(6, this.gopCache_.length); + + // Clear nalUnits + nalUnits = []; + + // return early no gops can be aligned with desired gopsToAlignWith + this.resetStream_(); + this.trigger('done', 'VideoSegmentStream'); + return; + } + + // Some gops were trimmed. clear dts info so minSegmentDts and pts are correct + // when recalculated before sending off to CoalesceStream + trackDecodeInfo.clearDtsInfo(track); + + gops = alignedGops; + } + + trackDecodeInfo.collectDtsInfo(track, gops); + + // First, we have to build the index from byte locations to + // samples (that is, frames) in the video data + track.samples = frameUtils.generateSampleTable(gops); + + // Concatenate the video data and construct the mdat + mdat = mp4.mdat(frameUtils.concatenateNalData(gops)); + + track.baseMediaDecodeTime = trackDecodeInfo.calculateTrackBaseMediaDecodeTime( + track, options.keepOriginalTimestamps); + + this.trigger('processedGopsInfo', gops.map(function(gop) { + return { + pts: gop.pts, + dts: gop.dts, + byteLength: gop.byteLength + }; + })); + + firstGop = gops[0]; + lastGop = gops[gops.length - 1]; + + this.trigger( + 'segmentTimingInfo', + generateVideoSegmentTimingInfo( + track.baseMediaDecodeTime, + firstGop.dts, + firstGop.pts, + lastGop.dts + lastGop.duration, + lastGop.pts + lastGop.duration, + prependedContentDuration)); + + this.trigger('timingInfo', { + start: gops[0].pts, + end: gops[gops.length - 1].pts + gops[gops.length - 1].duration + }); + + // save all the nals in the last GOP into the gop cache + this.gopCache_.unshift({ + gop: gops.pop(), + pps: track.pps, + sps: track.sps + }); + + // Keep a maximum of 6 GOPs in the cache + this.gopCache_.length = Math.min(6, this.gopCache_.length); + + // Clear nalUnits + nalUnits = []; + + this.trigger('baseMediaDecodeTime', track.baseMediaDecodeTime); + this.trigger('timelineStartInfo', track.timelineStartInfo); + + moof = mp4.moof(sequenceNumber, [track]); + + // it would be great to allocate this array up front instead of + // throwing away hundreds of media segment fragments + boxes = new Uint8Array(moof.byteLength + mdat.byteLength); + + // Bump the sequence number for next time + sequenceNumber++; + + boxes.set(moof); + boxes.set(mdat, moof.byteLength); + + this.trigger('data', {track: track, boxes: boxes}); + + this.resetStream_(); + + // Continue with the flush process now + this.trigger('done', 'VideoSegmentStream'); + }; + + this.reset = function() { + this.resetStream_(); + nalUnits = []; + this.gopCache_.length = 0; + gopsToAlignWith.length = 0; + this.trigger('reset'); + }; + + this.resetStream_ = function() { + trackDecodeInfo.clearDtsInfo(track); + + // reset config and pps because they may differ across segments + // for instance, when we are rendition switching + config = undefined; + pps = undefined; + }; + + // Search for a candidate Gop for gop-fusion from the gop cache and + // return it or return null if no good candidate was found + this.getGopForFusion_ = function(nalUnit) { + var + halfSecond = 45000, // Half-a-second in a 90khz clock + allowableOverlap = 10000, // About 3 frames @ 30fps + nearestDistance = Infinity, + dtsDistance, + nearestGopObj, + currentGop, + currentGopObj, + i; + + // Search for the GOP nearest to the beginning of this nal unit + for (i = 0; i < this.gopCache_.length; i++) { + currentGopObj = this.gopCache_[i]; + currentGop = currentGopObj.gop; + + // Reject Gops with different SPS or PPS + if (!(track.pps && arrayEquals(track.pps[0], currentGopObj.pps[0])) || + !(track.sps && arrayEquals(track.sps[0], currentGopObj.sps[0]))) { + continue; + } + + // Reject Gops that would require a negative baseMediaDecodeTime + if (currentGop.dts < track.timelineStartInfo.dts) { + continue; + } + + // The distance between the end of the gop and the start of the nalUnit + dtsDistance = (nalUnit.dts - currentGop.dts) - currentGop.duration; + + // Only consider GOPS that start before the nal unit and end within + // a half-second of the nal unit + if (dtsDistance >= -allowableOverlap && + dtsDistance <= halfSecond) { + + // Always use the closest GOP we found if there is more than + // one candidate + if (!nearestGopObj || + nearestDistance > dtsDistance) { + nearestGopObj = currentGopObj; + nearestDistance = dtsDistance; + } + } + } + + if (nearestGopObj) { + return nearestGopObj.gop; + } + return null; + }; + + // trim gop list to the first gop found that has a matching pts with a gop in the list + // of gopsToAlignWith starting from the START of the list + this.alignGopsAtStart_ = function(gops) { + var alignIndex, gopIndex, align, gop, byteLength, nalCount, duration, alignedGops; + + byteLength = gops.byteLength; + nalCount = gops.nalCount; + duration = gops.duration; + alignIndex = gopIndex = 0; + + while (alignIndex < gopsToAlignWith.length && gopIndex < gops.length) { + align = gopsToAlignWith[alignIndex]; + gop = gops[gopIndex]; + + if (align.pts === gop.pts) { + break; + } + + if (gop.pts > align.pts) { + // this current gop starts after the current gop we want to align on, so increment + // align index + alignIndex++; + continue; + } + + // current gop starts before the current gop we want to align on. so increment gop + // index + gopIndex++; + byteLength -= gop.byteLength; + nalCount -= gop.nalCount; + duration -= gop.duration; + } + + if (gopIndex === 0) { + // no gops to trim + return gops; + } + + if (gopIndex === gops.length) { + // all gops trimmed, skip appending all gops + return null; + } + + alignedGops = gops.slice(gopIndex); + alignedGops.byteLength = byteLength; + alignedGops.duration = duration; + alignedGops.nalCount = nalCount; + alignedGops.pts = alignedGops[0].pts; + alignedGops.dts = alignedGops[0].dts; + + return alignedGops; + }; + + // trim gop list to the first gop found that has a matching pts with a gop in the list + // of gopsToAlignWith starting from the END of the list + this.alignGopsAtEnd_ = function(gops) { + var alignIndex, gopIndex, align, gop, alignEndIndex, matchFound; + + alignIndex = gopsToAlignWith.length - 1; + gopIndex = gops.length - 1; + alignEndIndex = null; + matchFound = false; + + while (alignIndex >= 0 && gopIndex >= 0) { + align = gopsToAlignWith[alignIndex]; + gop = gops[gopIndex]; + + if (align.pts === gop.pts) { + matchFound = true; + break; + } + + if (align.pts > gop.pts) { + alignIndex--; + continue; + } + + if (alignIndex === gopsToAlignWith.length - 1) { + // gop.pts is greater than the last alignment candidate. If no match is found + // by the end of this loop, we still want to append gops that come after this + // point + alignEndIndex = gopIndex; + } + + gopIndex--; + } + + if (!matchFound && alignEndIndex === null) { + return null; + } + + var trimIndex; + + if (matchFound) { + trimIndex = gopIndex; + } else { + trimIndex = alignEndIndex; + } + + if (trimIndex === 0) { + return gops; + } + + var alignedGops = gops.slice(trimIndex); + var metadata = alignedGops.reduce(function(total, gop) { + total.byteLength += gop.byteLength; + total.duration += gop.duration; + total.nalCount += gop.nalCount; + return total; + }, { byteLength: 0, duration: 0, nalCount: 0 }); + + alignedGops.byteLength = metadata.byteLength; + alignedGops.duration = metadata.duration; + alignedGops.nalCount = metadata.nalCount; + alignedGops.pts = alignedGops[0].pts; + alignedGops.dts = alignedGops[0].dts; + + return alignedGops; + }; + + this.alignGopsWith = function(newGopsToAlignWith) { + gopsToAlignWith = newGopsToAlignWith; + }; +}; + +VideoSegmentStream.prototype = new Stream(); + +/** + * A Stream that can combine multiple streams (ie. audio & video) + * into a single output segment for MSE. Also supports audio-only + * and video-only streams. + * @param options {object} transmuxer options object + * @param options.keepOriginalTimestamps {boolean} If true, keep the timestamps + * in the source; false to adjust the first segment to start at media timeline start. + */ +CoalesceStream = function(options, metadataStream) { + // Number of Tracks per output segment + // If greater than 1, we combine multiple + // tracks into a single segment + this.numberOfTracks = 0; + this.metadataStream = metadataStream; + + options = options || {}; + + if (typeof options.remux !== 'undefined') { + this.remuxTracks = !!options.remux; + } else { + this.remuxTracks = true; + } + + if (typeof options.keepOriginalTimestamps === 'boolean') { + this.keepOriginalTimestamps = options.keepOriginalTimestamps; + } else { + this.keepOriginalTimestamps = false; + } + + this.pendingTracks = []; + this.videoTrack = null; + this.pendingBoxes = []; + this.pendingCaptions = []; + this.pendingMetadata = []; + this.pendingBytes = 0; + this.emittedTracks = 0; + + CoalesceStream.prototype.init.call(this); + + // Take output from multiple + this.push = function(output) { + // buffer incoming captions until the associated video segment + // finishes + if (output.text) { + return this.pendingCaptions.push(output); + } + // buffer incoming id3 tags until the final flush + if (output.frames) { + return this.pendingMetadata.push(output); + } + + // Add this track to the list of pending tracks and store + // important information required for the construction of + // the final segment + this.pendingTracks.push(output.track); + this.pendingBytes += output.boxes.byteLength; + + // TODO: is there an issue for this against chrome? + // We unshift audio and push video because + // as of Chrome 75 when switching from + // one init segment to another if the video + // mdat does not appear after the audio mdat + // only audio will play for the duration of our transmux. + if (output.track.type === 'video') { + this.videoTrack = output.track; + this.pendingBoxes.push(output.boxes); + } + if (output.track.type === 'audio') { + this.audioTrack = output.track; + this.pendingBoxes.unshift(output.boxes); + } + }; +}; + +CoalesceStream.prototype = new Stream(); +CoalesceStream.prototype.flush = function(flushSource) { + var + offset = 0, + event = { + captions: [], + captionStreams: {}, + metadata: [], + info: {} + }, + caption, + id3, + initSegment, + timelineStartPts = 0, + i; + + if (this.pendingTracks.length < this.numberOfTracks) { + if (flushSource !== 'VideoSegmentStream' && + flushSource !== 'AudioSegmentStream') { + // Return because we haven't received a flush from a data-generating + // portion of the segment (meaning that we have only recieved meta-data + // or captions.) + return; + } else if (this.remuxTracks) { + // Return until we have enough tracks from the pipeline to remux (if we + // are remuxing audio and video into a single MP4) + return; + } else if (this.pendingTracks.length === 0) { + // In the case where we receive a flush without any data having been + // received we consider it an emitted track for the purposes of coalescing + // `done` events. + // We do this for the case where there is an audio and video track in the + // segment but no audio data. (seen in several playlists with alternate + // audio tracks and no audio present in the main TS segments.) + this.emittedTracks++; + + if (this.emittedTracks >= this.numberOfTracks) { + this.trigger('done'); + this.emittedTracks = 0; + } + return; + } + } + + if (this.videoTrack) { + timelineStartPts = this.videoTrack.timelineStartInfo.pts; + VIDEO_PROPERTIES.forEach(function(prop) { + event.info[prop] = this.videoTrack[prop]; + }, this); + } else if (this.audioTrack) { + timelineStartPts = this.audioTrack.timelineStartInfo.pts; + AUDIO_PROPERTIES.forEach(function(prop) { + event.info[prop] = this.audioTrack[prop]; + }, this); + } + + if (this.videoTrack || this.audioTrack) { + if (this.pendingTracks.length === 1) { + event.type = this.pendingTracks[0].type; + } else { + event.type = 'combined'; + } + + this.emittedTracks += this.pendingTracks.length; + + initSegment = mp4.initSegment(this.pendingTracks); + + // Create a new typed array to hold the init segment + event.initSegment = new Uint8Array(initSegment.byteLength); + + // Create an init segment containing a moov + // and track definitions + event.initSegment.set(initSegment); + + // Create a new typed array to hold the moof+mdats + event.data = new Uint8Array(this.pendingBytes); + + // Append each moof+mdat (one per track) together + for (i = 0; i < this.pendingBoxes.length; i++) { + event.data.set(this.pendingBoxes[i], offset); + offset += this.pendingBoxes[i].byteLength; + } + + // Translate caption PTS times into second offsets to match the + // video timeline for the segment, and add track info + for (i = 0; i < this.pendingCaptions.length; i++) { + caption = this.pendingCaptions[i]; + caption.startTime = clock.metadataTsToSeconds( + caption.startPts, timelineStartPts, this.keepOriginalTimestamps); + caption.endTime = clock.metadataTsToSeconds( + caption.endPts, timelineStartPts, this.keepOriginalTimestamps); + + event.captionStreams[caption.stream] = true; + event.captions.push(caption); + } + + // Translate ID3 frame PTS times into second offsets to match the + // video timeline for the segment + for (i = 0; i < this.pendingMetadata.length; i++) { + id3 = this.pendingMetadata[i]; + id3.cueTime = clock.metadataTsToSeconds( + id3.pts, timelineStartPts, this.keepOriginalTimestamps); + + event.metadata.push(id3); + } + + // We add this to every single emitted segment even though we only need + // it for the first + event.metadata.dispatchType = this.metadataStream.dispatchType; + + // Reset stream state + this.pendingTracks.length = 0; + this.videoTrack = null; + this.pendingBoxes.length = 0; + this.pendingCaptions.length = 0; + this.pendingBytes = 0; + this.pendingMetadata.length = 0; + + // Emit the built segment + // We include captions and ID3 tags for backwards compatibility, + // ideally we should send only video and audio in the data event + this.trigger('data', event); + // Emit each caption to the outside world + // Ideally, this would happen immediately on parsing captions, + // but we need to ensure that video data is sent back first + // so that caption timing can be adjusted to match video timing + for (i = 0; i < event.captions.length; i++) { + caption = event.captions[i]; + + this.trigger('caption', caption); + } + // Emit each id3 tag to the outside world + // Ideally, this would happen immediately on parsing the tag, + // but we need to ensure that video data is sent back first + // so that ID3 frame timing can be adjusted to match video timing + for (i = 0; i < event.metadata.length; i++) { + id3 = event.metadata[i]; + + this.trigger('id3Frame', id3); + } + } + + // Only emit `done` if all tracks have been flushed and emitted + if (this.emittedTracks >= this.numberOfTracks) { + this.trigger('done'); + this.emittedTracks = 0; + } +}; + +CoalesceStream.prototype.setRemux = function(val) { + this.remuxTracks = val; +}; +/** + * A Stream that expects MP2T binary data as input and produces + * corresponding media segments, suitable for use with Media Source + * Extension (MSE) implementations that support the ISO BMFF byte + * stream format, like Chrome. + */ +Transmuxer = function(options) { + var + self = this, + hasFlushed = true, + videoTrack, + audioTrack; + + Transmuxer.prototype.init.call(this); + + options = options || {}; + this.baseMediaDecodeTime = options.baseMediaDecodeTime || 0; + this.transmuxPipeline_ = {}; + mp4.setDuration(options.duration) + + this.setupAacPipeline = function() { + var pipeline = {}; + this.transmuxPipeline_ = pipeline; + + pipeline.type = 'aac'; + pipeline.metadataStream = new m2ts.MetadataStream(); + + // set up the parsing pipeline + pipeline.aacStream = new AacStream(); + pipeline.audioTimestampRolloverStream = new m2ts.TimestampRolloverStream('audio'); + pipeline.timedMetadataTimestampRolloverStream = new m2ts.TimestampRolloverStream('timed-metadata'); + pipeline.adtsStream = new AdtsStream(); + pipeline.coalesceStream = new CoalesceStream(options, pipeline.metadataStream); + pipeline.headOfPipeline = pipeline.aacStream; + + pipeline.aacStream + .pipe(pipeline.audioTimestampRolloverStream) + .pipe(pipeline.adtsStream); + pipeline.aacStream + .pipe(pipeline.timedMetadataTimestampRolloverStream) + .pipe(pipeline.metadataStream) + .pipe(pipeline.coalesceStream); + + pipeline.metadataStream.on('timestamp', function(frame) { + pipeline.aacStream.setTimestamp(frame.timeStamp); + }); + + pipeline.aacStream.on('data', function(data) { + if ((data.type !== 'timed-metadata' && data.type !== 'audio') || pipeline.audioSegmentStream) { + return; + } + + audioTrack = audioTrack || { + timelineStartInfo: { + baseMediaDecodeTime: self.baseMediaDecodeTime + }, + codec: 'adts', + type: 'audio' + }; + // hook up the audio segment stream to the first track with aac data + pipeline.coalesceStream.numberOfTracks++; + pipeline.audioSegmentStream = new AudioSegmentStream(audioTrack, options); + + pipeline.audioSegmentStream.on('timingInfo', + self.trigger.bind(self, 'audioTimingInfo')); + + // Set up the final part of the audio pipeline + pipeline.adtsStream + .pipe(pipeline.audioSegmentStream) + .pipe(pipeline.coalesceStream); + + // emit pmt info + self.trigger('trackinfo', { + hasAudio: !!audioTrack, + hasVideo: !!videoTrack + }); + }); + + // Re-emit any data coming from the coalesce stream to the outside world + pipeline.coalesceStream.on('data', this.trigger.bind(this, 'data')); + // Let the consumer know we have finished flushing the entire pipeline + pipeline.coalesceStream.on('done', this.trigger.bind(this, 'done')); + }; + + this.setupTsPipeline = function() { + var pipeline = {}; + this.transmuxPipeline_ = pipeline; + + pipeline.type = 'ts'; + pipeline.metadataStream = new m2ts.MetadataStream(); + + // set up the parsing pipeline + pipeline.packetStream = new m2ts.TransportPacketStream(); + pipeline.parseStream = new m2ts.TransportParseStream(); + pipeline.elementaryStream = new m2ts.ElementaryStream(); + pipeline.timestampRolloverStream = new m2ts.TimestampRolloverStream(); + pipeline.adtsStream = new AdtsStream(); + pipeline.h264Stream = new H264Stream(); + pipeline.captionStream = new m2ts.CaptionStream(); + pipeline.coalesceStream = new CoalesceStream(options, pipeline.metadataStream); + pipeline.headOfPipeline = pipeline.packetStream; + + // disassemble MPEG2-TS packets into elementary streams + pipeline.packetStream + .pipe(pipeline.parseStream) + .pipe(pipeline.elementaryStream) + .pipe(pipeline.timestampRolloverStream); + + // !!THIS ORDER IS IMPORTANT!! + // demux the streams + pipeline.timestampRolloverStream + .pipe(pipeline.h264Stream); + + pipeline.timestampRolloverStream + .pipe(pipeline.adtsStream); + + pipeline.timestampRolloverStream + .pipe(pipeline.metadataStream) + .pipe(pipeline.coalesceStream); + + // Hook up CEA-608/708 caption stream + pipeline.h264Stream.pipe(pipeline.captionStream) + .pipe(pipeline.coalesceStream); + + pipeline.elementaryStream.on('data', function(data) { + var i; + + if (data.type === 'metadata') { + i = data.tracks.length; + + // scan the tracks listed in the metadata + while (i--) { + if (!videoTrack && data.tracks[i].type === 'video') { + videoTrack = data.tracks[i]; + videoTrack.timelineStartInfo.baseMediaDecodeTime = self.baseMediaDecodeTime; + } else if (!audioTrack && data.tracks[i].type === 'audio') { + audioTrack = data.tracks[i]; + audioTrack.timelineStartInfo.baseMediaDecodeTime = self.baseMediaDecodeTime; + } + } + + // hook up the video segment stream to the first track with h264 data + if (videoTrack && !pipeline.videoSegmentStream) { + pipeline.coalesceStream.numberOfTracks++; + pipeline.videoSegmentStream = new VideoSegmentStream(videoTrack, options); + + pipeline.videoSegmentStream.on('timelineStartInfo', function(timelineStartInfo) { + // When video emits timelineStartInfo data after a flush, we forward that + // info to the AudioSegmentStream, if it exists, because video timeline + // data takes precedence. Do not do this if keepOriginalTimestamps is set, + // because this is a particularly subtle form of timestamp alteration. + if (audioTrack && !options.keepOriginalTimestamps) { + audioTrack.timelineStartInfo = timelineStartInfo; + // On the first segment we trim AAC frames that exist before the + // very earliest DTS we have seen in video because Chrome will + // interpret any video track with a baseMediaDecodeTime that is + // non-zero as a gap. + pipeline.audioSegmentStream.setEarliestDts(timelineStartInfo.dts - self.baseMediaDecodeTime); + } + }); + + pipeline.videoSegmentStream.on('processedGopsInfo', + self.trigger.bind(self, 'gopInfo')); + pipeline.videoSegmentStream.on('segmentTimingInfo', + self.trigger.bind(self, 'videoSegmentTimingInfo')); + + pipeline.videoSegmentStream.on('baseMediaDecodeTime', function(baseMediaDecodeTime) { + if (audioTrack) { + pipeline.audioSegmentStream.setVideoBaseMediaDecodeTime(baseMediaDecodeTime); + } + }); + + pipeline.videoSegmentStream.on('timingInfo', + self.trigger.bind(self, 'videoTimingInfo')); + + // Set up the final part of the video pipeline + pipeline.h264Stream + .pipe(pipeline.videoSegmentStream) + .pipe(pipeline.coalesceStream); + } + + if (audioTrack && !pipeline.audioSegmentStream) { + // hook up the audio segment stream to the first track with aac data + pipeline.coalesceStream.numberOfTracks++; + pipeline.audioSegmentStream = new AudioSegmentStream(audioTrack, options); + + pipeline.audioSegmentStream.on('timingInfo', + self.trigger.bind(self, 'audioTimingInfo')); + + // Set up the final part of the audio pipeline + pipeline.adtsStream + .pipe(pipeline.audioSegmentStream) + .pipe(pipeline.coalesceStream); + } + + // emit pmt info + self.trigger('trackinfo', { + hasAudio: !!audioTrack, + hasVideo: !!videoTrack + }); + } + }); + + // Re-emit any data coming from the coalesce stream to the outside world + pipeline.coalesceStream.on('data', this.trigger.bind(this, 'data')); + pipeline.coalesceStream.on('id3Frame', function(id3Frame) { + id3Frame.dispatchType = pipeline.metadataStream.dispatchType; + + self.trigger('id3Frame', id3Frame); + }); + pipeline.coalesceStream.on('caption', this.trigger.bind(this, 'caption')); + // Let the consumer know we have finished flushing the entire pipeline + pipeline.coalesceStream.on('done', this.trigger.bind(this, 'done')); + }; + + // hook up the segment streams once track metadata is delivered + this.setBaseMediaDecodeTime = function(baseMediaDecodeTime) { + var pipeline = this.transmuxPipeline_; + + if (!options.keepOriginalTimestamps) { + this.baseMediaDecodeTime = baseMediaDecodeTime; + } + + if (audioTrack) { + audioTrack.timelineStartInfo.dts = undefined; + audioTrack.timelineStartInfo.pts = undefined; + trackDecodeInfo.clearDtsInfo(audioTrack); + if (pipeline.audioTimestampRolloverStream) { + pipeline.audioTimestampRolloverStream.discontinuity(); + } + } + if (videoTrack) { + if (pipeline.videoSegmentStream) { + pipeline.videoSegmentStream.gopCache_ = []; + } + videoTrack.timelineStartInfo.dts = undefined; + videoTrack.timelineStartInfo.pts = undefined; + trackDecodeInfo.clearDtsInfo(videoTrack); + pipeline.captionStream.reset(); + } + + if (pipeline.timestampRolloverStream) { + pipeline.timestampRolloverStream.discontinuity(); + } + }; + + this.setAudioAppendStart = function(timestamp) { + if (audioTrack) { + this.transmuxPipeline_.audioSegmentStream.setAudioAppendStart(timestamp); + } + }; + + this.setRemux = function(val) { + var pipeline = this.transmuxPipeline_; + + options.remux = val; + + if (pipeline && pipeline.coalesceStream) { + pipeline.coalesceStream.setRemux(val); + } + }; + + this.alignGopsWith = function(gopsToAlignWith) { + if (videoTrack && this.transmuxPipeline_.videoSegmentStream) { + this.transmuxPipeline_.videoSegmentStream.alignGopsWith(gopsToAlignWith); + } + }; + + // feed incoming data to the front of the parsing pipeline + this.push = function(data) { + if (hasFlushed) { + var isAac = isLikelyAacData(data); + + if (isAac && this.transmuxPipeline_.type !== 'aac') { + this.setupAacPipeline(); + } else if (!isAac && this.transmuxPipeline_.type !== 'ts') { + this.setupTsPipeline(); + } + hasFlushed = false; + } + this.transmuxPipeline_.headOfPipeline.push(data); + }; + + // flush any buffered data + this.flush = function() { + hasFlushed = true; + // Start at the top of the pipeline and flush all pending work + this.transmuxPipeline_.headOfPipeline.flush(); + }; + + this.endTimeline = function() { + this.transmuxPipeline_.headOfPipeline.endTimeline(); + }; + + this.reset = function() { + if (this.transmuxPipeline_.headOfPipeline) { + this.transmuxPipeline_.headOfPipeline.reset(); + } + }; + + // Caption data has to be reset when seeking outside buffered range + this.resetCaptions = function() { + if (this.transmuxPipeline_.captionStream) { + this.transmuxPipeline_.captionStream.reset(); + } + }; + +}; +Transmuxer.prototype = new Stream(); + +module.exports = { + Transmuxer: Transmuxer, + VideoSegmentStream: VideoSegmentStream, + AudioSegmentStream: AudioSegmentStream, + AUDIO_PROPERTIES: AUDIO_PROPERTIES, + VIDEO_PROPERTIES: VIDEO_PROPERTIES, + // exported for testing + generateVideoSegmentTimingInfo: generateVideoSegmentTimingInfo +}; + +},{"1":1,"13":13,"16":16,"18":18,"2":2,"21":21,"29":29,"3":3,"31":31,"4":4,"5":5,"6":6,"9":9}],23:[function(require,module,exports){ +/** + * mux.js + * + * Copyright (c) Brightcove + * Licensed Apache-2.0 https://github.com/videojs/mux.js/blob/master/LICENSE + * + * Reads in-band caption information from a video elementary + * stream. Captions must follow the CEA-708 standard for injection + * into an MPEG-2 transport streams. + * @see https://en.wikipedia.org/wiki/CEA-708 + * @see https://www.gpo.gov/fdsys/pkg/CFR-2007-title47-vol1/pdf/CFR-2007-title47-vol1-sec15-119.pdf + */ + +'use strict'; + +// Supplemental enhancement information (SEI) NAL units have a +// payload type field to indicate how they are to be +// interpreted. CEAS-708 caption content is always transmitted with +// payload type 0x04. +var USER_DATA_REGISTERED_ITU_T_T35 = 4, + RBSP_TRAILING_BITS = 128; + +/** + * Parse a supplemental enhancement information (SEI) NAL unit. + * Stops parsing once a message of type ITU T T35 has been found. + * + * @param bytes {Uint8Array} the bytes of a SEI NAL unit + * @return {object} the parsed SEI payload + * @see Rec. ITU-T H.264, 7.3.2.3.1 + */ +var parseSei = function(bytes) { + var + i = 0, + result = { + payloadType: -1, + payloadSize: 0 + }, + payloadType = 0, + payloadSize = 0; + + // go through the sei_rbsp parsing each each individual sei_message + while (i < bytes.byteLength) { + // stop once we have hit the end of the sei_rbsp + if (bytes[i] === RBSP_TRAILING_BITS) { + break; + } + + // Parse payload type + while (bytes[i] === 0xFF) { + payloadType += 255; + i++; + } + payloadType += bytes[i++]; + + // Parse payload size + while (bytes[i] === 0xFF) { + payloadSize += 255; + i++; + } + payloadSize += bytes[i++]; + + // this sei_message is a 608/708 caption so save it and break + // there can only ever be one caption message in a frame's sei + if (!result.payload && payloadType === USER_DATA_REGISTERED_ITU_T_T35) { + var userIdentifier = String.fromCharCode( + bytes[i + 3], + bytes[i + 4], + bytes[i + 5], + bytes[i + 6]); + + if (userIdentifier === 'GA94') { + result.payloadType = payloadType; + result.payloadSize = payloadSize; + result.payload = bytes.subarray(i, i + payloadSize); + break; + } else { + result.payload = void 0; + } + } + + // skip the payload and parse the next message + i += payloadSize; + payloadType = 0; + payloadSize = 0; + } + + return result; +}; + +// see ANSI/SCTE 128-1 (2013), section 8.1 +var parseUserData = function(sei) { + // itu_t_t35_contry_code must be 181 (United States) for + // captions + if (sei.payload[0] !== 181) { + return null; + } + + // itu_t_t35_provider_code should be 49 (ATSC) for captions + if (((sei.payload[1] << 8) | sei.payload[2]) !== 49) { + return null; + } + + // the user_identifier should be "GA94" to indicate ATSC1 data + if (String.fromCharCode(sei.payload[3], + sei.payload[4], + sei.payload[5], + sei.payload[6]) !== 'GA94') { + return null; + } + + // finally, user_data_type_code should be 0x03 for caption data + if (sei.payload[7] !== 0x03) { + return null; + } + + // return the user_data_type_structure and strip the trailing + // marker bits + return sei.payload.subarray(8, sei.payload.length - 1); +}; + +// see CEA-708-D, section 4.4 +var parseCaptionPackets = function(pts, userData) { + var results = [], i, count, offset, data; + + // if this is just filler, return immediately + if (!(userData[0] & 0x40)) { + return results; + } + + // parse out the cc_data_1 and cc_data_2 fields + count = userData[0] & 0x1f; + for (i = 0; i < count; i++) { + offset = i * 3; + data = { + type: userData[offset + 2] & 0x03, + pts: pts + }; + + // capture cc data when cc_valid is 1 + if (userData[offset + 2] & 0x04) { + data.ccData = (userData[offset + 3] << 8) | userData[offset + 4]; + results.push(data); + } + } + return results; +}; + +var discardEmulationPreventionBytes = function(data) { + var + length = data.byteLength, + emulationPreventionBytesPositions = [], + i = 1, + newLength, newData; + + // Find all `Emulation Prevention Bytes` + while (i < length - 2) { + if (data[i] === 0 && data[i + 1] === 0 && data[i + 2] === 0x03) { + emulationPreventionBytesPositions.push(i + 2); + i += 2; + } else { + i++; + } + } + + // If no Emulation Prevention Bytes were found just return the original + // array + if (emulationPreventionBytesPositions.length === 0) { + return data; + } + + // Create a new array to hold the NAL unit data + newLength = length - emulationPreventionBytesPositions.length; + newData = new Uint8Array(newLength); + var sourceIndex = 0; + + for (i = 0; i < newLength; sourceIndex++, i++) { + if (sourceIndex === emulationPreventionBytesPositions[0]) { + // Skip this byte + sourceIndex++; + // Remove this position index + emulationPreventionBytesPositions.shift(); + } + newData[i] = data[sourceIndex]; + } + + return newData; +}; + +// exports +module.exports = { + parseSei: parseSei, + parseUserData: parseUserData, + parseCaptionPackets: parseCaptionPackets, + discardEmulationPreventionBytes: discardEmulationPreventionBytes, + USER_DATA_REGISTERED_ITU_T_T35: USER_DATA_REGISTERED_ITU_T_T35 +}; + +},{}],24:[function(require,module,exports){ +var parseSampleFlags = function(flags) { + return { + isLeading: (flags[0] & 0x0c) >>> 2, + dependsOn: flags[0] & 0x03, + isDependedOn: (flags[1] & 0xc0) >>> 6, + hasRedundancy: (flags[1] & 0x30) >>> 4, + paddingValue: (flags[1] & 0x0e) >>> 1, + isNonSyncSample: flags[1] & 0x01, + degradationPriority: (flags[2] << 8) | flags[3] + }; +}; + +module.exports = parseSampleFlags; + +},{}],25:[function(require,module,exports){ +var toUnsigned = require(28).toUnsigned; + +var tfdt = function(data) { + var result = { + version: data[0], + flags: new Uint8Array(data.subarray(1, 4)), + baseMediaDecodeTime: toUnsigned(data[4] << 24 | data[5] << 16 | data[6] << 8 | data[7]) + }; + if (result.version === 1) { + result.baseMediaDecodeTime *= Math.pow(2, 32); + result.baseMediaDecodeTime += toUnsigned(data[8] << 24 | data[9] << 16 | data[10] << 8 | data[11]); + } + return result; +}; + +module.exports = tfdt; + + +},{"28":28}],26:[function(require,module,exports){ +var tfhd = function(data) { + var + view = new DataView(data.buffer, data.byteOffset, data.byteLength), + result = { + version: data[0], + flags: new Uint8Array(data.subarray(1, 4)), + trackId: view.getUint32(4) + }, + baseDataOffsetPresent = result.flags[2] & 0x01, + sampleDescriptionIndexPresent = result.flags[2] & 0x02, + defaultSampleDurationPresent = result.flags[2] & 0x08, + defaultSampleSizePresent = result.flags[2] & 0x10, + defaultSampleFlagsPresent = result.flags[2] & 0x20, + durationIsEmpty = result.flags[0] & 0x010000, + defaultBaseIsMoof = result.flags[0] & 0x020000, + i; + + i = 8; + if (baseDataOffsetPresent) { + i += 4; // truncate top 4 bytes + // FIXME: should we read the full 64 bits? + result.baseDataOffset = view.getUint32(12); + i += 4; + } + if (sampleDescriptionIndexPresent) { + result.sampleDescriptionIndex = view.getUint32(i); + i += 4; + } + if (defaultSampleDurationPresent) { + result.defaultSampleDuration = view.getUint32(i); + i += 4; + } + if (defaultSampleSizePresent) { + result.defaultSampleSize = view.getUint32(i); + i += 4; + } + if (defaultSampleFlagsPresent) { + result.defaultSampleFlags = view.getUint32(i); + } + if (durationIsEmpty) { + result.durationIsEmpty = true; + } + if (!baseDataOffsetPresent && defaultBaseIsMoof) { + result.baseDataOffsetIsMoof = true; + } + return result; +}; + +module.exports = tfhd; + +},{}],27:[function(require,module,exports){ +var parseSampleFlags = require(24); + +var trun = function(data) { + var + result = { + version: data[0], + flags: new Uint8Array(data.subarray(1, 4)), + samples: [] + }, + view = new DataView(data.buffer, data.byteOffset, data.byteLength), + // Flag interpretation + dataOffsetPresent = result.flags[2] & 0x01, // compare with 2nd byte of 0x1 + firstSampleFlagsPresent = result.flags[2] & 0x04, // compare with 2nd byte of 0x4 + sampleDurationPresent = result.flags[1] & 0x01, // compare with 2nd byte of 0x100 + sampleSizePresent = result.flags[1] & 0x02, // compare with 2nd byte of 0x200 + sampleFlagsPresent = result.flags[1] & 0x04, // compare with 2nd byte of 0x400 + sampleCompositionTimeOffsetPresent = result.flags[1] & 0x08, // compare with 2nd byte of 0x800 + sampleCount = view.getUint32(4), + offset = 8, + sample; + + if (dataOffsetPresent) { + // 32 bit signed integer + result.dataOffset = view.getInt32(offset); + offset += 4; + } + + // Overrides the flags for the first sample only. The order of + // optional values will be: duration, size, compositionTimeOffset + if (firstSampleFlagsPresent && sampleCount) { + sample = { + flags: parseSampleFlags(data.subarray(offset, offset + 4)) + }; + offset += 4; + if (sampleDurationPresent) { + sample.duration = view.getUint32(offset); + offset += 4; + } + if (sampleSizePresent) { + sample.size = view.getUint32(offset); + offset += 4; + } + if (sampleCompositionTimeOffsetPresent) { + if (result.version === 1) { + sample.compositionTimeOffset = view.getInt32(offset); + } else { + sample.compositionTimeOffset = view.getUint32(offset); + } + offset += 4; + } + result.samples.push(sample); + sampleCount--; + } + + while (sampleCount--) { + sample = {}; + if (sampleDurationPresent) { + sample.duration = view.getUint32(offset); + offset += 4; + } + if (sampleSizePresent) { + sample.size = view.getUint32(offset); + offset += 4; + } + if (sampleFlagsPresent) { + sample.flags = parseSampleFlags(data.subarray(offset, offset + 4)); + offset += 4; + } + if (sampleCompositionTimeOffsetPresent) { + if (result.version === 1) { + sample.compositionTimeOffset = view.getInt32(offset); + } else { + sample.compositionTimeOffset = view.getUint32(offset); + } + offset += 4; + } + result.samples.push(sample); + } + return result; +}; + +module.exports = trun; + +},{"24":24}],28:[function(require,module,exports){ +/** + * mux.js + * + * Copyright (c) Brightcove + * Licensed Apache-2.0 https://github.com/videojs/mux.js/blob/master/LICENSE + */ +var toUnsigned = function(value) { + return value >>> 0; +}; + +var toHexString = function(value) { + return ('00' + value.toString(16)).slice(-2); +}; + +module.exports = { + toUnsigned: toUnsigned, + toHexString: toHexString +}; + +},{}],29:[function(require,module,exports){ +/** + * mux.js + * + * Copyright (c) Brightcove + * Licensed Apache-2.0 https://github.com/videojs/mux.js/blob/master/LICENSE + */ +var + ONE_SECOND_IN_TS = 90000, // 90kHz clock + secondsToVideoTs, + secondsToAudioTs, + videoTsToSeconds, + audioTsToSeconds, + audioTsToVideoTs, + videoTsToAudioTs, + metadataTsToSeconds; + +secondsToVideoTs = function(seconds) { + return seconds * ONE_SECOND_IN_TS; +}; + +secondsToAudioTs = function(seconds, sampleRate) { + return seconds * sampleRate; +}; + +videoTsToSeconds = function(timestamp) { + return timestamp / ONE_SECOND_IN_TS; +}; + +audioTsToSeconds = function(timestamp, sampleRate) { + return timestamp / sampleRate; +}; + +audioTsToVideoTs = function(timestamp, sampleRate) { + return secondsToVideoTs(audioTsToSeconds(timestamp, sampleRate)); +}; + +videoTsToAudioTs = function(timestamp, sampleRate) { + return secondsToAudioTs(videoTsToSeconds(timestamp), sampleRate); +}; + +/** + * Adjust ID3 tag or caption timing information by the timeline pts values + * (if keepOriginalTimestamps is false) and convert to seconds + */ +metadataTsToSeconds = function(timestamp, timelineStartPts, keepOriginalTimestamps) { + return videoTsToSeconds(keepOriginalTimestamps ? timestamp : timestamp - timelineStartPts); +}; + +module.exports = { + ONE_SECOND_IN_TS: ONE_SECOND_IN_TS, + secondsToVideoTs: secondsToVideoTs, + secondsToAudioTs: secondsToAudioTs, + videoTsToSeconds: videoTsToSeconds, + audioTsToSeconds: audioTsToSeconds, + audioTsToVideoTs: audioTsToVideoTs, + videoTsToAudioTs: videoTsToAudioTs, + metadataTsToSeconds: metadataTsToSeconds +}; + +},{}],30:[function(require,module,exports){ +/** + * mux.js + * + * Copyright (c) Brightcove + * Licensed Apache-2.0 https://github.com/videojs/mux.js/blob/master/LICENSE + */ +'use strict'; + +var ExpGolomb; + +/** + * Parser for exponential Golomb codes, a variable-bitwidth number encoding + * scheme used by h264. + */ +ExpGolomb = function(workingData) { + var + // the number of bytes left to examine in workingData + workingBytesAvailable = workingData.byteLength, + + // the current word being examined + workingWord = 0, // :uint + + // the number of bits left to examine in the current word + workingBitsAvailable = 0; // :uint; + + // ():uint + this.length = function() { + return (8 * workingBytesAvailable); + }; + + // ():uint + this.bitsAvailable = function() { + return (8 * workingBytesAvailable) + workingBitsAvailable; + }; + + // ():void + this.loadWord = function() { + var + position = workingData.byteLength - workingBytesAvailable, + workingBytes = new Uint8Array(4), + availableBytes = Math.min(4, workingBytesAvailable); + + if (availableBytes === 0) { + throw new Error('no bytes available'); + } + + workingBytes.set(workingData.subarray(position, + position + availableBytes)); + workingWord = new DataView(workingBytes.buffer).getUint32(0); + + // track the amount of workingData that has been processed + workingBitsAvailable = availableBytes * 8; + workingBytesAvailable -= availableBytes; + }; + + // (count:int):void + this.skipBits = function(count) { + var skipBytes; // :int + if (workingBitsAvailable > count) { + workingWord <<= count; + workingBitsAvailable -= count; + } else { + count -= workingBitsAvailable; + skipBytes = Math.floor(count / 8); + + count -= (skipBytes * 8); + workingBytesAvailable -= skipBytes; + + this.loadWord(); + + workingWord <<= count; + workingBitsAvailable -= count; + } + }; + + // (size:int):uint + this.readBits = function(size) { + var + bits = Math.min(workingBitsAvailable, size), // :uint + valu = workingWord >>> (32 - bits); // :uint + // if size > 31, handle error + workingBitsAvailable -= bits; + if (workingBitsAvailable > 0) { + workingWord <<= bits; + } else if (workingBytesAvailable > 0) { + this.loadWord(); + } + + bits = size - bits; + if (bits > 0) { + return valu << bits | this.readBits(bits); + } + return valu; + }; + + // ():uint + this.skipLeadingZeros = function() { + var leadingZeroCount; // :uint + for (leadingZeroCount = 0; leadingZeroCount < workingBitsAvailable; ++leadingZeroCount) { + if ((workingWord & (0x80000000 >>> leadingZeroCount)) !== 0) { + // the first bit of working word is 1 + workingWord <<= leadingZeroCount; + workingBitsAvailable -= leadingZeroCount; + return leadingZeroCount; + } + } + + // we exhausted workingWord and still have not found a 1 + this.loadWord(); + return leadingZeroCount + this.skipLeadingZeros(); + }; + + // ():void + this.skipUnsignedExpGolomb = function() { + this.skipBits(1 + this.skipLeadingZeros()); + }; + + // ():void + this.skipExpGolomb = function() { + this.skipBits(1 + this.skipLeadingZeros()); + }; + + // ():uint + this.readUnsignedExpGolomb = function() { + var clz = this.skipLeadingZeros(); // :uint + return this.readBits(clz + 1) - 1; + }; + + // ():int + this.readExpGolomb = function() { + var valu = this.readUnsignedExpGolomb(); // :int + if (0x01 & valu) { + // the number is odd if the low order bit is set + return (1 + valu) >>> 1; // add 1 to make it even, and divide by 2 + } + return -1 * (valu >>> 1); // divide by two then make it negative + }; + + // Some convenience functions + // :Boolean + this.readBoolean = function() { + return this.readBits(1) === 1; + }; + + // ():int + this.readUnsignedByte = function() { + return this.readBits(8); + }; + + this.loadWord(); +}; + +module.exports = ExpGolomb; + +},{}],31:[function(require,module,exports){ +/** + * mux.js + * + * Copyright (c) Brightcove + * Licensed Apache-2.0 https://github.com/videojs/mux.js/blob/master/LICENSE + * + * A lightweight readable stream implemention that handles event dispatching. + * Objects that inherit from streams should call init in their constructors. + */ +'use strict'; + +var Stream = function() { + this.init = function() { + var listeners = {}; + /** + * Add a listener for a specified event type. + * @param type {string} the event name + * @param listener {function} the callback to be invoked when an event of + * the specified type occurs + */ + this.on = function(type, listener) { + if (!listeners[type]) { + listeners[type] = []; + } + listeners[type] = listeners[type].concat(listener); + }; + /** + * Remove a listener for a specified event type. + * @param type {string} the event name + * @param listener {function} a function previously registered for this + * type of event through `on` + */ + this.off = function(type, listener) { + var index; + if (!listeners[type]) { + return false; + } + index = listeners[type].indexOf(listener); + listeners[type] = listeners[type].slice(); + listeners[type].splice(index, 1); + return index > -1; + }; + /** + * Trigger an event of the specified type on this stream. Any additional + * arguments to this function are passed as parameters to event listeners. + * @param type {string} the event name + */ + this.trigger = function(type) { + var callbacks, i, length, args; + callbacks = listeners[type]; + if (!callbacks) { + return; + } + // Slicing the arguments on every invocation of this method + // can add a significant amount of overhead. Avoid the + // intermediate object creation for the common case of a + // single callback argument + if (arguments.length === 2) { + length = callbacks.length; + for (i = 0; i < length; ++i) { + callbacks[i].call(this, arguments[1]); + } + } else { + args = []; + i = arguments.length; + for (i = 1; i < arguments.length; ++i) { + args.push(arguments[i]); + } + length = callbacks.length; + for (i = 0; i < length; ++i) { + callbacks[i].apply(this, args); + } + } + }; + /** + * Destroys the stream and cleans up. + */ + this.dispose = function() { + listeners = {}; + }; + }; +}; + +/** + * Forwards all `data` events on this stream to the destination stream. The + * destination stream should provide a method `push` to receive the data + * events as they arrive. + * @param destination {stream} the stream that will receive all `data` events + * @param autoFlush {boolean} if false, we will not call `flush` on the destination + * when the current stream emits a 'done' event + * @see http://nodejs.org/api/stream.html#stream_readable_pipe_destination_options + */ +Stream.prototype.pipe = function(destination) { + this.on('data', function(data) { + destination.push(data); + }); + + this.on('done', function(flushSource) { + destination.flush(flushSource); + }); + + this.on('partialdone', function(flushSource) { + destination.partialFlush(flushSource); + }); + + this.on('endedtimeline', function(flushSource) { + destination.endTimeline(flushSource); + }); + + this.on('reset', function(flushSource) { + destination.reset(flushSource); + }); + + return destination; +}; + +// Default stream functions that are expected to be overridden to perform +// actual work. These are provided by the prototype as a sort of no-op +// implementation so that we don't have to check for their existence in the +// `pipe` function above. +Stream.prototype.push = function(data) { + this.trigger('data', data); +}; + +Stream.prototype.flush = function(flushSource) { + this.trigger('done', flushSource); +}; + +Stream.prototype.partialFlush = function(flushSource) { + this.trigger('partialdone', flushSource); +}; + +Stream.prototype.endTimeline = function(flushSource) { + this.trigger('endedtimeline', flushSource); +}; + +Stream.prototype.reset = function(flushSource) { + this.trigger('reset', flushSource); +}; + +module.exports = Stream; + +},{}]},{},[17])(17) +}); diff --git a/m3u8/serviceworker.js b/m3u8/serviceworker.js new file mode 100644 index 000000000..584f90530 --- /dev/null +++ b/m3u8/serviceworker.js @@ -0,0 +1,164 @@ +// Service workers 本质上充当 Web 应用程序、浏览器与网络(可用时)之间的代理服务器。 +// 它会拦截网络请求并根据网络是否可用来采取适当的动作、更新来自服务器的的资源 +// 相当于网页端的正向代理,监听用户请求 + +// Service worker 是一个注册在指定源和路径下的事件驱动 worker +// Service workers 只能由 HTTPS 承载,毕竟修改网络请求的能力暴露给中间人攻击会非常危险。 + +// self 在 web 主线程中等价于 windows,但 worker 是无窗口(no-window)环境,没有 window、需要通过 self 指向全局环境 +// self 是 worker 中的全局对象,https://www.zhangxinxu.com/wordpress/2017/07/js-window-self/ + +// 整体运行流程, +// 数据存储,stream -> mitm -> serviceWorker 进行存储; +// 数据下载 mitm 发起请求,serviceWorker 监听请求,并返回二进制流。 +// serviceWorker 存在的意义,本质上在主进程层面,不支持流式下载,需要将完整的资源保存后才下载。 +// 而在 URL 层面,将请求交给 浏览器运行时,浏览器能自动识别 application/octet-stream 响应类型,触发下载 +// 且 new Response 可以传入 读写流 stream,实现流式数据传输,进行流式下载 + +// 所以本 serviceWorker 只会被触发两次,一次是 onMessage 监听初始化,一次是 onFetch 拦截请求,触发下载 + +// 通过 href 触发下载后,下载流程就由 ReadableStream 控制。 +// 即整个下载过程就是 ReadableStream 的生命周期,ReadableStream 这个流代表了下载进程 +// ReadableStream 通过 enqueue 函数,往下载进程中填充内容。 + +// url 与 data 的映射 map +const urlDataMap = new Map() + +// 创建数据读取流 +function createStream (port) { + // 数据读取流 + return new ReadableStream({ + // controller 是 ReadableStreamDefaultController,https://developer.mozilla.org/zh-CN/docs/Web/API/ReadableStreamDefaultController + start (controller) { + // 监听 messageChannel port 的消息,获取传递过来,需要下载的数据 + port.onmessage = ({ data }) => { + // 接受结束事件,关闭流 + if (data === 'end') { + return controller.close() + } + + // 终止事件 + if (data === 'abort') { + controller.error('Aborted the download') + return + } + + // 将数据推送到队列中,等待下载 + controller.enqueue(data) + } + }, + // 取消 + cancel (reason) { + console.log('user aborted', reason) + port.postMessage({ abort: true }) + } + }) +} + +// 监听 worker 注册完成事件,service worker 中所有状态如下:https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker/state +self.addEventListener('install', () => { + // 如果现有 service worker 已启用,新版本会在后台安装,但不会被激活,这个时序称为 worker in waiting。直到所有已加载的页面不再使用旧的 service worker 才会激活新的 service worker。只要页面不再依赖旧的 service worker,新的 service worker 会被激活(成为active worker)。 + // 跳过等待环节,直接让当前 worker 为活跃状态,不再等待之前就得 worker 失效 + self.skipWaiting() +}) + +// 监听当前为用状态事件 +self.addEventListener('activate', event => { + // self.clients 获取当前 worker 的客户端对象,可能是 web 主进程,也可能是其他的 worker 对象。 + // self.clients.claim() 将当前 worker 本身设置为所有 clients 的控制器,即从旧的 worker 中将控制权拿过来 + event.waitUntil(self.clients.claim()) // 保持当前状态为 activate 可用状态,直到 +}) + +// 进行消息监听,监听外部传递进来的事件 +self.onmessage = event => { + const data = event.data // 正则传输的数据 + const port = event.ports[0] // channelPort 端口,传递该消息时 + + // 跳过 ping 心跳检查事件 + if (data === 'ping') { + return + } + + // 触发该数据下载对应的 url + const downloadUrl = data.url || self.registration.scope + Math.random() + '/' + (typeof data === 'string' ? data : data.filename) + + const metadata = new Array(3) // [stream, data, port] + + metadata[1] = data + metadata[2] = port + + // Note to self: + // old streamsaver v1.2.0 might still use `readableStream`... + // but v2.0.0 will always transfer the stream through MessageChannel #94 + if (data.readableStream) { + metadata[0] = data.readableStream + } else if (data.transferringReadable) { // 如果支持 TransformStream,则使用 TransformStream 双向流完成下载数据传输,关闭 messageChannel 的传输 + port.onmessage = evt => { + port.onmessage = null + metadata[0] = evt.data.readableStream + } + } else { + // 如果没有外部传入的 readStream 对象,则自己创建一个,且本质是通过 messageChannel 进行数据监听与数据传输 + metadata[0] = createStream(port) + } + + // 进行数据与 url 的映射记录 + urlDataMap.set(downloadUrl, metadata) + + // 进行消息响应,返回下载地址 + port.postMessage({ download: downloadUrl }) +} + +// service worker 的主要监听器,拦截监听该 web 下发起的所有网络请求,https://developer.mozilla.org/zh-CN/docs/Web/API/FetchEvent +// 实际上,该 onfetch 除去 ping 请求外,只会被触发一次,用于拦截下载请求。 +// 下载请求,则返回一个 二进制流 响应,触发浏览器下载。 +self.onfetch = event => { + // event request 获得 web 发起的请求对象,https://developer.mozilla.org/zh-CN/docs/Web/API/FetchEvent/request + const url = event.request.url + + // 仅在 Firefox 中有效,监听到 心跳检查 ping 请求 + if (url.endsWith('/ping')) { + return event.respondWith(new Response('pong')) + } + + const urlCacheData = urlDataMap.get(url) // 获取之前缓存的 url 映射的信息 + + if (!urlCacheData) return null + + const [ + stream, // 需要下载的数据二进制流 + data, // 配置信息 + port // 端口 + ] = urlCacheData + + urlDataMap.delete(url) + + // 构造响应体,并只获取外部传入的 Content-Length 和 Content-Disposition 这两个响应头 + const responseHeaders = new Headers({ + 'Content-Type': 'application/octet-stream; charset=utf-8', // 将响应格式设置为二进制流 + + // // 一些安全设置 + 'Content-Security-Policy': "default-src 'none'", + 'X-Content-Security-Policy': "default-src 'none'", + 'X-WebKit-CSP': "default-src 'none'", + 'X-XSS-Protection': '1; mode=block' + }) + + // 通过 data.headers 配置,生成 headers 对象,获取其内部值 + let headers = new Headers(data.headers || {}) + + // 设置长度 + if (headers.has('Content-Length')) { + responseHeaders.set('Content-Length', headers.get('Content-Length')) + } + + // 指示回复的内容该以何种形式展示,是以内联的形式(即网页或者页面的一部分),还是以附件的形式下载并保存到本地。https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-Disposition + if (headers.has('Content-Disposition')) { + responseHeaders.set('Content-Disposition', headers.get('Content-Disposition')) + } + + // 针对该请求进行响应 + event.respondWith(new Response(stream, { headers: responseHeaders })) + + port.postMessage({ debug: 'Download started' }) +} diff --git a/m3u8/stream-saver.js b/m3u8/stream-saver.js new file mode 100644 index 000000000..f844cf0d3 --- /dev/null +++ b/m3u8/stream-saver.js @@ -0,0 +1,262 @@ +(function () { + + // 下载代理,使用 iframe,还是 navigate + const downloadStrategy = + window.isSecureContext // window.isSecureContext 判断是否为 https、wss 等安全环境 + || 'MozAppearance' in document.documentElement.style // 是否为 firefox 浏览器 + ? 'iframe' : 'navigate' + + // 中间传输器 + let middleTransporter = null + + // 是否使用 blob 替换 service worker 的能力 + // safari 不支持流式下载功能,https://github.com/jimmywarting/StreamSaver.js/issues/69 + let useBlobFallback = /constructor/i.test(window.HTMLElement) || !!window.safari || !!window.WebKitPoint + try { + new Response(new ReadableStream()) + if (window.isSecureContext && !('serviceWorker' in navigator)) { + useBlobFallback = true + } + } catch (err) { + useBlobFallback = true + } + + // 是否支持转换器传输流 TransformStream,支持则直接使用他的读写流,完成下载数据的传输。都在需要通过 messageChannel 进行数据传输 + let isSupportTransformStream = false + try { + const { readable } = new TransformStream() // 创建读写传输流 + const messageChannel = new MessageChannel() // 创建消息通道,与 iframe 或 window.open 新建的页面中进行消息通信 + messageChannel.port1.postMessage(readable, [readable]) + messageChannel.port1.close() + messageChannel.port2.close() + isSupportTransformStream = true + } catch (err) { + console.log(err) + } + + // 创建一个隐藏式的 Iframe,并通过 iframe 的 postMessage 进行消息传输 + function makeIframe(src) { + console.log('makeIframe', src) + const iframe = document.createElement('iframe') + iframe.hidden = true + iframe.src = src + iframe.loaded = false + iframe.name = 'iframe' + iframe.isIframe = true + // 调用 iframe 中的 postMessage 方法,即从 iframe 中发送消息 + iframe.postMessage = (...args) => iframe.contentWindow.postMessage(...args) + iframe.addEventListener('load', () => { + iframe.loaded = true + }, { once: true }) // 该事件监听器只监听一次,自动回收 + document.body.appendChild(iframe) + return iframe + } + + // 创建一个弹出窗口,模拟iframe的基本功能 + // 使用 popup 新建弹窗,来模拟 iframe 的跨页面消息传输功能 + function makePopup(src) { + console.log('makePopup', src) + // 事件代理器,使用 createDocumentFragment 来实现 popup 中的消息监听效果。 + // 与 document 相比,最大的区别是它不是真实 DOM 树的一部分,它的变化不会触发 DOM 树的重新渲染,且不会对性能产生影响。 + const delegate = document.createDocumentFragment() + const popup = { + frame: window.open(src, 'popupTitle', 'width=200,height=100'), + loaded: false, + isIframe: false, + isPopup: true, + remove() { popup.frame.close() }, + // 适配器模式,使得 popup 对象与 iframe 对象有一样的表现。发送事件,监听事件,移除事件 + dispatchEvent(...args) { delegate.dispatchEvent(...args) }, + addEventListener(...args) { delegate.addEventListener(...args) }, + removeEventListener(...args) { delegate.removeEventListener(...args) }, + // 调用 + postMessage(...args) { popup.frame.postMessage(...args) } + } + + // 监听 popup 是否就绪 + const onReady = evt => { + // 如果接受到来自 popup 的事件,则证明 popup 已就绪 + if (evt.source === popup.frame) { + popup.loaded = true + window.removeEventListener('message', onReady) + popup.dispatchEvent(new Event('load')) + } + } + + window.addEventListener('message', onReady) + + return popup + } + + // 创建写入流 + function createWriteStream(filename) { + let bytesWritten = 0 // 记录已写入的文件大小 + let downloadUrl = null // 触发下载时,需要访问的 url 地址 + let messageChannel = null // 消息传输通道 + let transformStream = null // 中间传输流 + + if (!useBlobFallback) { + // middleTransporter = middleTransporter || makeIframe(streamSaver.middleTransporterUrl) // https 环境下,则执行 iframe + middleTransporter = middleTransporter || window.isSecureContext + ? makeIframe(streamSaver.middleTransporterUrl) // https 环境下,则执行 iframe + : makePopup(streamSaver.middleTransporterUrl) // 普通环境下,则通过 window.open 新建弹窗来完成 + + messageChannel = new MessageChannel() // 创建消息通道 + + // 处理文件名,使其为 url 格式 + filename = encodeURIComponent(filename.replace(/\//g, ':')) + .replace(/['()]/g, escape) + .replace(/\*/g, '%2A') + + // 如果支持 TransformStream,则将 TransformStream.readStream 传递给 port2 + if (isSupportTransformStream) { + transformStream = new TransformStream(downloadStrategy === 'iframe' ? undefined : { + // 流处理,中间转换器,监听每一个流分片的经过 + transform(chunk, controller) { + // 传输的内容,仅支持 Uint8Arrays 格式 + if (!(chunk instanceof Uint8Array)) { + throw new TypeError('Can only write Uint8Arrays') + } + bytesWritten += chunk.length // 记录已写入的内容消大小 + controller.enqueue(chunk) // 将消息推进队列 + + if (downloadUrl) { + location.href = downloadUrl // 由于在 response 中设置了返回类型为二进制流,可直接触发其下载。不会发生跳转 + downloadUrl = null + } + }, + + // 结束写入时调用,如果数据量少,未经过 transform 就触发了 flush,则调用 location.href 触发下载 + flush() { + if (downloadUrl) { + location.href = downloadUrl + } + } + }) + // 使用 port1 传递数据,将读数据端通过 channel Message 传递给 service worker + // 由 write 暴露写端,供主线程写入数据。再在 service worker 中,通过 readStream 读取该数据。完成下载数据的传输。 + // 即下载数据,不需要通过 channel message 传输,而是通过 transformStream 进行传递。 + messageChannel.port1.postMessage({ readableStream: transformStream.readable }, [transformStream.readable]) + } + + // 监听给 port1 传递的消息 + messageChannel.port1.onmessage = evt => { + // 接受 Service worker 发送的 url,并访问它 + if (evt.data.download) { + // 为 popup 做的特殊处理 + if (downloadStrategy === 'navigate') { + // 中间人完成使命,则删除中间人,后续传输通过 channelMessage,直接由主进程与 service worker 进行通信 + middleTransporter.remove() + middleTransporter = null + // 首次访问该 url + if (bytesWritten) { + location.href = evt.data.download + } else { + downloadUrl = evt.data.download + } + } else { + if (middleTransporter.isPopup) { + middleTransporter.remove() + middleTransporter = null + // Special case for firefox, they can keep sw alive with fetch + if (downloadStrategy === 'iframe') { + makeIframe(streamSaver.middleTransporterUrl) + } + } + + makeIframe(evt.data.download) + } + } else if (evt.data.abort) { // 消息终止 + chunks = [] + messageChannel.port1.postMessage('abort') //send back so controller is aborted + messageChannel.port1.onmessage = null + messageChannel.port1.close() + messageChannel.port2.close() + messageChannel = null + } + } + + // 往中间人容器中发送消息,将 messageChannel.port2 传递给中间人 + const response = { + transferringReadable: isSupportTransformStream, + pathname: Math.random().toString().slice(-6) + '/' + filename, + headers: { + 'Content-Type': 'application/octet-stream; charset=utf-8', + 'Content-Disposition': "attachment; filename*=UTF-8''" + filename + } + } + if (middleTransporter.loaded) { + middleTransporter.postMessage(response, '*', [messageChannel.port2]) + } else { + middleTransporter.addEventListener('load', () => { + middleTransporter.postMessage(response, '*', [messageChannel.port2]) + }, { once: true }) + } + } + + let chunks = [] // 需要传输下载的内容数组 + + // 如果有 transformStream,则直接返回 transformStream 读写流的 WritableStream 实例 + if (!useBlobFallback && transformStream && transformStream.writable) { + // writable 返回由这个 TransformStream 控制的 WritableStream 实例。 + // writable 返回的是一个实例,而不是一个 boolean 值 + return transformStream.writable + } + + // 如果不支持 transformStream,则自行创建一个 WritableStream,监听 WritableStream 的写入事件。将数据通过 messageChannel 的两个 port 进行传输 + return new WritableStream({ + // 写入数据 + write(chunk) { + // 检查写入流,仅支持 Uint8Arrays 格式 + if (!(chunk instanceof Uint8Array)) { + throw new TypeError('Can only write Uint8Arrays') + } + + // 如果使用 blob 功能进行下载,则仅存储该数据,无法使用流式边获取数据边下载 + if (useBlobFallback) { + chunks.push(chunk) + return + } + + // service worker 可用,则通过信道传输该二进制流 + messageChannel.port1.postMessage(chunk) + bytesWritten += chunk.length + + if (downloadUrl) { + location.href = downloadUrl + downloadUrl = null + } + }, + + // 关闭写入流,将流式文件进行保存 + close() { + // 使用 blob 实现功能,则将所有片段当做 blob 的内容,通过 createObjectURL 生成其链接,点击触发下载 + if (useBlobFallback) { + const blob = new Blob(chunks, { type: 'application/octet-stream; charset=utf-8' }) + const link = document.createElement('a') + link.href = URL.createObjectURL(blob) + link.download = filename + link.click() + } else { // service worker 有效,则仅发出 end 事件,由 service worker 执行结束操作 + messageChannel.port1.postMessage('end') + } + }, + + // 中断,不执行下载 + abort() { + chunks = [] + messageChannel.port1.postMessage('abort') + messageChannel.port1.onmessage = null + messageChannel.port1.close() + messageChannel.port2.close() + messageChannel = null + } + }) + } + + // 全局挂载 streamSaver 对象 + window.streamSaver = { + createWriteStream, // 创建写流 + middleTransporterUrl: 'https://live.fanmingming.com/m3u8/mitm.html', + } +})() diff --git a/m3u8/vue.js b/m3u8/vue.js new file mode 100644 index 000000000..5e6e987f0 --- /dev/null +++ b/m3u8/vue.js @@ -0,0 +1,11943 @@ +/*! + * Vue.js v2.6.10 + * (c) 2014-2019 Evan You + * Released under the MIT License. + */ +(function(global, factory) { + global = global || self; + global.Vue = factory() +}(this, function() { + 'use strict'; + /* */ + + var emptyObject = Object.freeze({}); + + // These helpers produce better VM code in JS engines due to their + // explicitness and function inlining. + function isUndef (v) { + return v === undefined || v === null + } + + function isDef (v) { + return v !== undefined && v !== null + } + + function isTrue (v) { + return v === true + } + + function isFalse (v) { + return v === false + } + + /** + * Check if value is primitive. + */ + function isPrimitive (value) { + return ( + typeof value === 'string' || + typeof value === 'number' || + // $flow-disable-line + typeof value === 'symbol' || + typeof value === 'boolean' + ) + } + + /** + * Quick object check - this is primarily used to tell + * Objects from primitive values when we know the value + * is a JSON-compliant type. + */ + function isObject (obj) { + return obj !== null && typeof obj === 'object' + } + + /** + * Get the raw type string of a value, e.g., [object Object]. + */ + var _toString = Object.prototype.toString; + + function toRawType (value) { + return _toString.call(value).slice(8, -1) + } + + /** + * Strict object type check. Only returns true + * for plain JavaScript objects. + */ + function isPlainObject (obj) { + return _toString.call(obj) === '[object Object]' + } + + function isRegExp (v) { + return _toString.call(v) === '[object RegExp]' + } + + /** + * Check if val is a valid array index. + */ + function isValidArrayIndex (val) { + var n = parseFloat(String(val)); + return n >= 0 && Math.floor(n) === n && isFinite(val) + } + + function isPromise (val) { + return ( + isDef(val) && + typeof val.then === 'function' && + typeof val.catch === 'function' + ) + } + + /** + * Convert a value to a string that is actually rendered. + */ + function toString (val) { + return val == null + ? '' + : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString) + ? JSON.stringify(val, null, 2) + : String(val) + } + + /** + * Convert an input value to a number for persistence. + * If the conversion fails, return original string. + */ + function toNumber (val) { + var n = parseFloat(val); + return isNaN(n) ? val : n + } + + /** + * Make a map and return a function for checking if a key + * is in that map. + */ + function makeMap ( + str, + expectsLowerCase + ) { + var map = Object.create(null); + var list = str.split(','); + for (var i = 0; i < list.length; i++) { + map[list[i]] = true; + } + return expectsLowerCase + ? function (val) { return map[val.toLowerCase()]; } + : function (val) { return map[val]; } + } + + /** + * Check if a tag is a built-in tag. + */ + var isBuiltInTag = makeMap('slot,component', true); + + /** + * Check if an attribute is a reserved attribute. + */ + var isReservedAttribute = makeMap('key,ref,slot,slot-scope,is'); + + /** + * Remove an item from an array. + */ + function remove (arr, item) { + if (arr.length) { + var index = arr.indexOf(item); + if (index > -1) { + return arr.splice(index, 1) + } + } + } + + /** + * Check whether an object has the property. + */ + var hasOwnProperty = Object.prototype.hasOwnProperty; + function hasOwn (obj, key) { + return hasOwnProperty.call(obj, key) + } + + /** + * Create a cached version of a pure function. + */ + function cached (fn) { + var cache = Object.create(null); + return (function cachedFn (str) { + var hit = cache[str]; + return hit || (cache[str] = fn(str)) + }) + } + + /** + * Camelize a hyphen-delimited string. + */ + var camelizeRE = /-(\w)/g; + var camelize = cached(function (str) { + return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; }) + }); + + /** + * Capitalize a string. + */ + var capitalize = cached(function (str) { + return str.charAt(0).toUpperCase() + str.slice(1) + }); + + /** + * Hyphenate a camelCase string. + */ + var hyphenateRE = /\B([A-Z])/g; + var hyphenate = cached(function (str) { + return str.replace(hyphenateRE, '-$1').toLowerCase() + }); + + /** + * Simple bind polyfill for environments that do not support it, + * e.g., PhantomJS 1.x. Technically, we don't need this anymore + * since native bind is now performant enough in most browsers. + * But removing it would mean breaking code that was able to run in + * PhantomJS 1.x, so this must be kept for backward compatibility. + */ + + /* istanbul ignore next */ + function polyfillBind (fn, ctx) { + function boundFn (a) { + var l = arguments.length; + return l + ? l > 1 + ? fn.apply(ctx, arguments) + : fn.call(ctx, a) + : fn.call(ctx) + } + + boundFn._length = fn.length; + return boundFn + } + + function nativeBind (fn, ctx) { + return fn.bind(ctx) + } + + var bind = Function.prototype.bind + ? nativeBind + : polyfillBind; + + /** + * Convert an Array-like object to a real Array. + */ + function toArray (list, start) { + start = start || 0; + var i = list.length - start; + var ret = new Array(i); + while (i--) { + ret[i] = list[i + start]; + } + return ret + } + + /** + * Mix properties into target object. + */ + function extend (to, _from) { + for (var key in _from) { + to[key] = _from[key]; + } + return to + } + + /** + * Merge an Array of Objects into a single Object. + */ + function toObject (arr) { + var res = {}; + for (var i = 0; i < arr.length; i++) { + if (arr[i]) { + extend(res, arr[i]); + } + } + return res + } + + /* eslint-disable no-unused-vars */ + + /** + * Perform no operation. + * Stubbing args to make Flow happy without leaving useless transpiled code + * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/). + */ + function noop (a, b, c) {} + + /** + * Always return false. + */ + var no = function (a, b, c) { return false; }; + + /* eslint-enable no-unused-vars */ + + /** + * Return the same value. + */ + var identity = function (_) { return _; }; + + /** + * Generate a string containing static keys from compiler modules. + */ + function genStaticKeys (modules) { + return modules.reduce(function (keys, m) { + return keys.concat(m.staticKeys || []) + }, []).join(',') + } + + /** + * Check if two values are loosely equal - that is, + * if they are plain objects, do they have the same shape? + */ + function looseEqual (a, b) { + if (a === b) { return true } + var isObjectA = isObject(a); + var isObjectB = isObject(b); + if (isObjectA && isObjectB) { + try { + var isArrayA = Array.isArray(a); + var isArrayB = Array.isArray(b); + if (isArrayA && isArrayB) { + return a.length === b.length && a.every(function (e, i) { + return looseEqual(e, b[i]) + }) + } else if (a instanceof Date && b instanceof Date) { + return a.getTime() === b.getTime() + } else if (!isArrayA && !isArrayB) { + var keysA = Object.keys(a); + var keysB = Object.keys(b); + return keysA.length === keysB.length && keysA.every(function (key) { + return looseEqual(a[key], b[key]) + }) + } else { + /* istanbul ignore next */ + return false + } + } catch (e) { + /* istanbul ignore next */ + return false + } + } else if (!isObjectA && !isObjectB) { + return String(a) === String(b) + } else { + return false + } + } + + /** + * Return the first index at which a loosely equal value can be + * found in the array (if value is a plain object, the array must + * contain an object of the same shape), or -1 if it is not present. + */ + function looseIndexOf (arr, val) { + for (var i = 0; i < arr.length; i++) { + if (looseEqual(arr[i], val)) { return i } + } + return -1 + } + + /** + * Ensure a function is called only once. + */ + function once (fn) { + var called = false; + return function () { + if (!called) { + called = true; + fn.apply(this, arguments); + } + } + } + + var SSR_ATTR = 'data-server-rendered'; + + var ASSET_TYPES = [ + 'component', + 'directive', + 'filter' + ]; + + var LIFECYCLE_HOOKS = [ + 'beforeCreate', + 'created', + 'beforeMount', + 'mounted', + 'beforeUpdate', + 'updated', + 'beforeDestroy', + 'destroyed', + 'activated', + 'deactivated', + 'errorCaptured', + 'serverPrefetch' + ]; + + /* */ + + + + var config = ({ + /** + * Option merge strategies (used in core/util/options) + */ + // $flow-disable-line + optionMergeStrategies: Object.create(null), + + /** + * Whether to suppress warnings. + */ + silent: false, + + /** + * Show production mode tip message on boot? + */ + productionTip: "development" !== 'production', + + /** + * Whether to enable devtools + */ + devtools: "development" !== 'production', + + /** + * Whether to record perf + */ + performance: false, + + /** + * Error handler for watcher errors + */ + errorHandler: null, + + /** + * Warn handler for watcher warns + */ + warnHandler: null, + + /** + * Ignore certain custom elements + */ + ignoredElements: [], + + /** + * Custom user key aliases for v-on + */ + // $flow-disable-line + keyCodes: Object.create(null), + + /** + * Check if a tag is reserved so that it cannot be registered as a + * component. This is platform-dependent and may be overwritten. + */ + isReservedTag: no, + + /** + * Check if an attribute is reserved so that it cannot be used as a component + * prop. This is platform-dependent and may be overwritten. + */ + isReservedAttr: no, + + /** + * Check if a tag is an unknown element. + * Platform-dependent. + */ + isUnknownElement: no, + + /** + * Get the namespace of an element + */ + getTagNamespace: noop, + + /** + * Parse the real tag name for the specific platform. + */ + parsePlatformTagName: identity, + + /** + * Check if an attribute must be bound using property, e.g. value + * Platform-dependent. + */ + mustUseProp: no, + + /** + * Perform updates asynchronously. Intended to be used by Vue Test Utils + * This will significantly reduce performance if set to false. + */ + async: true, + + /** + * Exposed for legacy reasons + */ + _lifecycleHooks: LIFECYCLE_HOOKS + }); + + /* */ + + /** + * unicode letters used for parsing html tags, component names and property paths. + * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname + * skipping \u10000-\uEFFFF due to it freezing up PhantomJS + */ + var unicodeRegExp = /a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/; + + /** + * Check if a string starts with $ or _ + */ + function isReserved (str) { + var c = (str + '').charCodeAt(0); + return c === 0x24 || c === 0x5F + } + + /** + * Define a property. + */ + function def (obj, key, val, enumerable) { + Object.defineProperty(obj, key, { + value: val, + enumerable: !!enumerable, + writable: true, + configurable: true + }); + } + + /** + * Parse simple path. + */ + var bailRE = new RegExp(("[^" + (unicodeRegExp.source) + ".$_\\d]")); + function parsePath (path) { + if (bailRE.test(path)) { + return + } + var segments = path.split('.'); + return function (obj) { + for (var i = 0; i < segments.length; i++) { + if (!obj) { return } + obj = obj[segments[i]]; + } + return obj + } + } + + /* */ + + // can we use __proto__? + var hasProto = '__proto__' in {}; + + // Browser environment sniffing + var inBrowser = typeof window !== 'undefined'; + var inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform; + var weexPlatform = inWeex && WXEnvironment.platform.toLowerCase(); + var UA = inBrowser && window.navigator.userAgent.toLowerCase(); + var isIE = UA && /msie|trident/.test(UA); + var isIE9 = UA && UA.indexOf('msie 9.0') > 0; + var isEdge = UA && UA.indexOf('edge/') > 0; + var isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android'); + var isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios'); + var isChrome = UA && /chrome\/\d+/.test(UA) && !isEdge; + var isPhantomJS = UA && /phantomjs/.test(UA); + var isFF = UA && UA.match(/firefox\/(\d+)/); + + // Firefox has a "watch" function on Object.prototype... + var nativeWatch = ({}).watch; + + var supportsPassive = false; + if (inBrowser) { + try { + var opts = {}; + Object.defineProperty(opts, 'passive', ({ + get: function get () { + /* istanbul ignore next */ + supportsPassive = true; + } + })); // https://github.com/facebook/flow/issues/285 + window.addEventListener('test-passive', null, opts); + } catch (e) {} + } + + // this needs to be lazy-evaled because vue may be required before + // vue-server-renderer can set VUE_ENV + var _isServer; + var isServerRendering = function () { + if (_isServer === undefined) { + /* istanbul ignore if */ + if (!inBrowser && !inWeex && typeof global !== 'undefined') { + // detect presence of vue-server-renderer and avoid + // Webpack shimming the process + _isServer = global['process'] && global['process'].env.VUE_ENV === 'server'; + } else { + _isServer = false; + } + } + return _isServer + }; + + // detect devtools + var devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__; + + /* istanbul ignore next */ + function isNative (Ctor) { + return typeof Ctor === 'function' && /native code/.test(Ctor.toString()) + } + + var hasSymbol = + typeof Symbol !== 'undefined' && isNative(Symbol) && + typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys); + + var _Set; + /* istanbul ignore if */ // $flow-disable-line + if (typeof Set !== 'undefined' && isNative(Set)) { + // use native Set when available. + _Set = Set; + } else { + // a non-standard Set polyfill that only works with primitive keys. + _Set = /*@__PURE__*/(function () { + function Set () { + this.set = Object.create(null); + } + Set.prototype.has = function has (key) { + return this.set[key] === true + }; + Set.prototype.add = function add (key) { + this.set[key] = true; + }; + Set.prototype.clear = function clear () { + this.set = Object.create(null); + }; + + return Set; + }()); + } + + /* */ + + var warn = noop; + var tip = noop; + var generateComponentTrace = (noop); // work around flow check + var formatComponentName = (noop); + + { + var hasConsole = typeof console !== 'undefined'; + var classifyRE = /(?:^|[-_])(\w)/g; + var classify = function (str) { return str + .replace(classifyRE, function (c) { return c.toUpperCase(); }) + .replace(/[-_]/g, ''); }; + + warn = function (msg, vm) { + var trace = vm ? generateComponentTrace(vm) : ''; + + if (config.warnHandler) { + config.warnHandler.call(null, msg, vm, trace); + } else if (hasConsole && (!config.silent)) { + console.error(("[Vue warn]: " + msg + trace)); + } + }; + + tip = function (msg, vm) { + if (hasConsole && (!config.silent)) { + console.warn("[Vue tip]: " + msg + ( + vm ? generateComponentTrace(vm) : '' + )); + } + }; + + formatComponentName = function (vm, includeFile) { + if (vm.$root === vm) { + return '' + } + var options = typeof vm === 'function' && vm.cid != null + ? vm.options + : vm._isVue + ? vm.$options || vm.constructor.options + : vm; + var name = options.name || options._componentTag; + var file = options.__file; + if (!name && file) { + var match = file.match(/([^/\\]+)\.vue$/); + name = match && match[1]; + } + + return ( + (name ? ("<" + (classify(name)) + ">") : "") + + (file && includeFile !== false ? (" at " + file) : '') + ) + }; + + var repeat = function (str, n) { + var res = ''; + while (n) { + if (n % 2 === 1) { res += str; } + if (n > 1) { str += str; } + n >>= 1; + } + return res + }; + + generateComponentTrace = function (vm) { + if (vm._isVue && vm.$parent) { + var tree = []; + var currentRecursiveSequence = 0; + while (vm) { + if (tree.length > 0) { + var last = tree[tree.length - 1]; + if (last.constructor === vm.constructor) { + currentRecursiveSequence++; + vm = vm.$parent; + continue + } else if (currentRecursiveSequence > 0) { + tree[tree.length - 1] = [last, currentRecursiveSequence]; + currentRecursiveSequence = 0; + } + } + tree.push(vm); + vm = vm.$parent; + } + return '\n\nfound in\n\n' + tree + .map(function (vm, i) { return ("" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm) + ? ((formatComponentName(vm[0])) + "... (" + (vm[1]) + " recursive calls)") + : formatComponentName(vm))); }) + .join('\n') + } else { + return ("\n\n(found in " + (formatComponentName(vm)) + ")") + } + }; + } + + /* */ + + var uid = 0; + + /** + * A dep is an observable that can have multiple + * directives subscribing to it. + */ + var Dep = function Dep () { + this.id = uid++; + this.subs = []; + }; + + Dep.prototype.addSub = function addSub (sub) { + this.subs.push(sub); + }; + + Dep.prototype.removeSub = function removeSub (sub) { + remove(this.subs, sub); + }; + + Dep.prototype.depend = function depend () { + if (Dep.target) { + Dep.target.addDep(this); + } + }; + + Dep.prototype.notify = function notify () { + // stabilize the subscriber list first + var subs = this.subs.slice(); + if (!config.async) { + // subs aren't sorted in scheduler if not running async + // we need to sort them now to make sure they fire in correct + // order + subs.sort(function (a, b) { return a.id - b.id; }); + } + for (var i = 0, l = subs.length; i < l; i++) { + subs[i].update(); + } + }; + + // The current target watcher being evaluated. + // This is globally unique because only one watcher + // can be evaluated at a time. + Dep.target = null; + var targetStack = []; + + function pushTarget (target) { + targetStack.push(target); + Dep.target = target; + } + + function popTarget () { + targetStack.pop(); + Dep.target = targetStack[targetStack.length - 1]; + } + + /* */ + + var VNode = function VNode ( + tag, + data, + children, + text, + elm, + context, + componentOptions, + asyncFactory + ) { + this.tag = tag; + this.data = data; + this.children = children; + this.text = text; + this.elm = elm; + this.ns = undefined; + this.context = context; + this.fnContext = undefined; + this.fnOptions = undefined; + this.fnScopeId = undefined; + this.key = data && data.key; + this.componentOptions = componentOptions; + this.componentInstance = undefined; + this.parent = undefined; + this.raw = false; + this.isStatic = false; + this.isRootInsert = true; + this.isComment = false; + this.isCloned = false; + this.isOnce = false; + this.asyncFactory = asyncFactory; + this.asyncMeta = undefined; + this.isAsyncPlaceholder = false; + }; + + var prototypeAccessors = { child: { configurable: true } }; + + // DEPRECATED: alias for componentInstance for backwards compat. + /* istanbul ignore next */ + prototypeAccessors.child.get = function () { + return this.componentInstance + }; + + Object.defineProperties( VNode.prototype, prototypeAccessors ); + + var createEmptyVNode = function (text) { + if ( text === void 0 ) text = ''; + + var node = new VNode(); + node.text = text; + node.isComment = true; + return node + }; + + function createTextVNode (val) { + return new VNode(undefined, undefined, undefined, String(val)) + } + + // optimized shallow clone + // used for static nodes and slot nodes because they may be reused across + // multiple renders, cloning them avoids errors when DOM manipulations rely + // on their elm reference. + function cloneVNode (vnode) { + var cloned = new VNode( + vnode.tag, + vnode.data, + // #7975 + // clone children array to avoid mutating original in case of cloning + // a child. + vnode.children && vnode.children.slice(), + vnode.text, + vnode.elm, + vnode.context, + vnode.componentOptions, + vnode.asyncFactory + ); + cloned.ns = vnode.ns; + cloned.isStatic = vnode.isStatic; + cloned.key = vnode.key; + cloned.isComment = vnode.isComment; + cloned.fnContext = vnode.fnContext; + cloned.fnOptions = vnode.fnOptions; + cloned.fnScopeId = vnode.fnScopeId; + cloned.asyncMeta = vnode.asyncMeta; + cloned.isCloned = true; + return cloned + } + + /* + * not type checking this file because flow doesn't play well with + * dynamically accessing methods on Array prototype + */ + + var arrayProto = Array.prototype; + var arrayMethods = Object.create(arrayProto); + + var methodsToPatch = [ + 'push', + 'pop', + 'shift', + 'unshift', + 'splice', + 'sort', + 'reverse' + ]; + + /** + * Intercept mutating methods and emit events + */ + methodsToPatch.forEach(function (method) { + // cache original method + var original = arrayProto[method]; + def(arrayMethods, method, function mutator () { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + var result = original.apply(this, args); + var ob = this.__ob__; + var inserted; + switch (method) { + case 'push': + case 'unshift': + inserted = args; + break + case 'splice': + inserted = args.slice(2); + break + } + if (inserted) { ob.observeArray(inserted); } + // notify change + ob.dep.notify(); + return result + }); + }); + + /* */ + + var arrayKeys = Object.getOwnPropertyNames(arrayMethods); + + /** + * In some cases we may want to disable observation inside a component's + * update computation. + */ + var shouldObserve = true; + + function toggleObserving (value) { + shouldObserve = value; + } + + /** + * Observer class that is attached to each observed + * object. Once attached, the observer converts the target + * object's property keys into getter/setters that + * collect dependencies and dispatch updates. + */ + var Observer = function Observer (value) { + this.value = value; + this.dep = new Dep(); + this.vmCount = 0; + def(value, '__ob__', this); + if (Array.isArray(value)) { + if (hasProto) { + protoAugment(value, arrayMethods); + } else { + copyAugment(value, arrayMethods, arrayKeys); + } + this.observeArray(value); + } else { + this.walk(value); + } + }; + + /** + * Walk through all properties and convert them into + * getter/setters. This method should only be called when + * value type is Object. + */ + Observer.prototype.walk = function walk (obj) { + var keys = Object.keys(obj); + for (var i = 0; i < keys.length; i++) { + defineReactive$$1(obj, keys[i]); + } + }; + + /** + * Observe a list of Array items. + */ + Observer.prototype.observeArray = function observeArray (items) { + for (var i = 0, l = items.length; i < l; i++) { + observe(items[i]); + } + }; + + // helpers + + /** + * Augment a target Object or Array by intercepting + * the prototype chain using __proto__ + */ + function protoAugment (target, src) { + /* eslint-disable no-proto */ + target.__proto__ = src; + /* eslint-enable no-proto */ + } + + /** + * Augment a target Object or Array by defining + * hidden properties. + */ + /* istanbul ignore next */ + function copyAugment (target, src, keys) { + for (var i = 0, l = keys.length; i < l; i++) { + var key = keys[i]; + def(target, key, src[key]); + } + } + + /** + * Attempt to create an observer instance for a value, + * returns the new observer if successfully observed, + * or the existing observer if the value already has one. + */ + function observe (value, asRootData) { + if (!isObject(value) || value instanceof VNode) { + return + } + var ob; + if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) { + ob = value.__ob__; + } else if ( + shouldObserve && + !isServerRendering() && + (Array.isArray(value) || isPlainObject(value)) && + Object.isExtensible(value) && + !value._isVue + ) { + ob = new Observer(value); + } + if (asRootData && ob) { + ob.vmCount++; + } + return ob + } + + /** + * Define a reactive property on an Object. + */ + function defineReactive$$1 ( + obj, + key, + val, + customSetter, + shallow + ) { + var dep = new Dep(); + + var property = Object.getOwnPropertyDescriptor(obj, key); + if (property && property.configurable === false) { + return + } + + // cater for pre-defined getter/setters + var getter = property && property.get; + var setter = property && property.set; + if ((!getter || setter) && arguments.length === 2) { + val = obj[key]; + } + + var childOb = !shallow && observe(val); + Object.defineProperty(obj, key, { + enumerable: true, + configurable: true, + get: function reactiveGetter () { + var value = getter ? getter.call(obj) : val; + if (Dep.target) { + dep.depend(); + if (childOb) { + childOb.dep.depend(); + if (Array.isArray(value)) { + dependArray(value); + } + } + } + return value + }, + set: function reactiveSetter (newVal) { + var value = getter ? getter.call(obj) : val; + /* eslint-disable no-self-compare */ + if (newVal === value || (newVal !== newVal && value !== value)) { + return + } + /* eslint-enable no-self-compare */ + if (customSetter) { + customSetter(); + } + // #7981: for accessor properties without setter + if (getter && !setter) { return } + if (setter) { + setter.call(obj, newVal); + } else { + val = newVal; + } + childOb = !shallow && observe(newVal); + dep.notify(); + } + }); + } + + /** + * Set a property on an object. Adds the new property and + * triggers change notification if the property doesn't + * already exist. + */ + function set (target, key, val) { + if (isUndef(target) || isPrimitive(target) + ) { + warn(("Cannot set reactive property on undefined, null, or primitive value: " + ((target)))); + } + if (Array.isArray(target) && isValidArrayIndex(key)) { + target.length = Math.max(target.length, key); + target.splice(key, 1, val); + return val + } + if (key in target && !(key in Object.prototype)) { + target[key] = val; + return val + } + var ob = (target).__ob__; + if (target._isVue || (ob && ob.vmCount)) { + warn( + 'Avoid adding reactive properties to a Vue instance or its root $data ' + + 'at runtime - declare it upfront in the data option.' + ); + return val + } + if (!ob) { + target[key] = val; + return val + } + defineReactive$$1(ob.value, key, val); + ob.dep.notify(); + return val + } + + /** + * Delete a property and trigger change if necessary. + */ + function del (target, key) { + if (isUndef(target) || isPrimitive(target) + ) { + warn(("Cannot delete reactive property on undefined, null, or primitive value: " + ((target)))); + } + if (Array.isArray(target) && isValidArrayIndex(key)) { + target.splice(key, 1); + return + } + var ob = (target).__ob__; + if (target._isVue || (ob && ob.vmCount)) { + warn( + 'Avoid deleting properties on a Vue instance or its root $data ' + + '- just set it to null.' + ); + return + } + if (!hasOwn(target, key)) { + return + } + delete target[key]; + if (!ob) { + return + } + ob.dep.notify(); + } + + /** + * Collect dependencies on array elements when the array is touched, since + * we cannot intercept array element access like property getters. + */ + function dependArray (value) { + for (var e = (void 0), i = 0, l = value.length; i < l; i++) { + e = value[i]; + e && e.__ob__ && e.__ob__.dep.depend(); + if (Array.isArray(e)) { + dependArray(e); + } + } + } + + /* */ + + /** + * Option overwriting strategies are functions that handle + * how to merge a parent option value and a child option + * value into the final value. + */ + var strats = config.optionMergeStrategies; + + /** + * Options with restrictions + */ + { + strats.el = strats.propsData = function (parent, child, vm, key) { + if (!vm) { + warn( + "option \"" + key + "\" can only be used during instance " + + 'creation with the `new` keyword.' + ); + } + return defaultStrat(parent, child) + }; + } + + /** + * Helper that recursively merges two data objects together. + */ + function mergeData (to, from) { + if (!from) { return to } + var key, toVal, fromVal; + + var keys = hasSymbol + ? Reflect.ownKeys(from) + : Object.keys(from); + + for (var i = 0; i < keys.length; i++) { + key = keys[i]; + // in case the object is already observed... + if (key === '__ob__') { continue } + toVal = to[key]; + fromVal = from[key]; + if (!hasOwn(to, key)) { + set(to, key, fromVal); + } else if ( + toVal !== fromVal && + isPlainObject(toVal) && + isPlainObject(fromVal) + ) { + mergeData(toVal, fromVal); + } + } + return to + } + + /** + * Data + */ + function mergeDataOrFn ( + parentVal, + childVal, + vm + ) { + if (!vm) { + // in a Vue.extend merge, both should be functions + if (!childVal) { + return parentVal + } + if (!parentVal) { + return childVal + } + // when parentVal & childVal are both present, + // we need to return a function that returns the + // merged result of both functions... no need to + // check if parentVal is a function here because + // it has to be a function to pass previous merges. + return function mergedDataFn () { + return mergeData( + typeof childVal === 'function' ? childVal.call(this, this) : childVal, + typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal + ) + } + } else { + return function mergedInstanceDataFn () { + // instance merge + var instanceData = typeof childVal === 'function' + ? childVal.call(vm, vm) + : childVal; + var defaultData = typeof parentVal === 'function' + ? parentVal.call(vm, vm) + : parentVal; + if (instanceData) { + return mergeData(instanceData, defaultData) + } else { + return defaultData + } + } + } + } + + strats.data = function ( + parentVal, + childVal, + vm + ) { + if (!vm) { + if (childVal && typeof childVal !== 'function') { + warn( + 'The "data" option should be a function ' + + 'that returns a per-instance value in component ' + + 'definitions.', + vm + ); + + return parentVal + } + return mergeDataOrFn(parentVal, childVal) + } + + return mergeDataOrFn(parentVal, childVal, vm) + }; + + /** + * Hooks and props are merged as arrays. + */ + function mergeHook ( + parentVal, + childVal + ) { + var res = childVal + ? parentVal + ? parentVal.concat(childVal) + : Array.isArray(childVal) + ? childVal + : [childVal] + : parentVal; + return res + ? dedupeHooks(res) + : res + } + + function dedupeHooks (hooks) { + var res = []; + for (var i = 0; i < hooks.length; i++) { + if (res.indexOf(hooks[i]) === -1) { + res.push(hooks[i]); + } + } + return res + } + + LIFECYCLE_HOOKS.forEach(function (hook) { + strats[hook] = mergeHook; + }); + + /** + * Assets + * + * When a vm is present (instance creation), we need to do + * a three-way merge between constructor options, instance + * options and parent options. + */ + function mergeAssets ( + parentVal, + childVal, + vm, + key + ) { + var res = Object.create(parentVal || null); + if (childVal) { + assertObjectType(key, childVal, vm); + return extend(res, childVal) + } else { + return res + } + } + + ASSET_TYPES.forEach(function (type) { + strats[type + 's'] = mergeAssets; + }); + + /** + * Watchers. + * + * Watchers hashes should not overwrite one + * another, so we merge them as arrays. + */ + strats.watch = function ( + parentVal, + childVal, + vm, + key + ) { + // work around Firefox's Object.prototype.watch... + if (parentVal === nativeWatch) { parentVal = undefined; } + if (childVal === nativeWatch) { childVal = undefined; } + /* istanbul ignore if */ + if (!childVal) { return Object.create(parentVal || null) } + { + assertObjectType(key, childVal, vm); + } + if (!parentVal) { return childVal } + var ret = {}; + extend(ret, parentVal); + for (var key$1 in childVal) { + var parent = ret[key$1]; + var child = childVal[key$1]; + if (parent && !Array.isArray(parent)) { + parent = [parent]; + } + ret[key$1] = parent + ? parent.concat(child) + : Array.isArray(child) ? child : [child]; + } + return ret + }; + + /** + * Other object hashes. + */ + strats.props = + strats.methods = + strats.inject = + strats.computed = function ( + parentVal, + childVal, + vm, + key + ) { + if (childVal && "development" !== 'production') { + assertObjectType(key, childVal, vm); + } + if (!parentVal) { return childVal } + var ret = Object.create(null); + extend(ret, parentVal); + if (childVal) { extend(ret, childVal); } + return ret + }; + strats.provide = mergeDataOrFn; + + /** + * Default strategy. + */ + var defaultStrat = function (parentVal, childVal) { + return childVal === undefined + ? parentVal + : childVal + }; + + /** + * Validate component names + */ + function checkComponents (options) { + for (var key in options.components) { + validateComponentName(key); + } + } + + function validateComponentName (name) { + if (!new RegExp(("^[a-zA-Z][\\-\\.0-9_" + (unicodeRegExp.source) + "]*$")).test(name)) { + warn( + 'Invalid component name: "' + name + '". Component names ' + + 'should conform to valid custom element name in html5 specification.' + ); + } + if (isBuiltInTag(name) || config.isReservedTag(name)) { + warn( + 'Do not use built-in or reserved HTML elements as component ' + + 'id: ' + name + ); + } + } + + /** + * Ensure all props option syntax are normalized into the + * Object-based format. + */ + function normalizeProps (options, vm) { + var props = options.props; + if (!props) { return } + var res = {}; + var i, val, name; + if (Array.isArray(props)) { + i = props.length; + while (i--) { + val = props[i]; + if (typeof val === 'string') { + name = camelize(val); + res[name] = { type: null }; + } else { + warn('props must be strings when using array syntax.'); + } + } + } else if (isPlainObject(props)) { + for (var key in props) { + val = props[key]; + name = camelize(key); + res[name] = isPlainObject(val) + ? val + : { type: val }; + } + } else { + warn( + "Invalid value for option \"props\": expected an Array or an Object, " + + "but got " + (toRawType(props)) + ".", + vm + ); + } + options.props = res; + } + + /** + * Normalize all injections into Object-based format + */ + function normalizeInject (options, vm) { + var inject = options.inject; + if (!inject) { return } + var normalized = options.inject = {}; + if (Array.isArray(inject)) { + for (var i = 0; i < inject.length; i++) { + normalized[inject[i]] = { from: inject[i] }; + } + } else if (isPlainObject(inject)) { + for (var key in inject) { + var val = inject[key]; + normalized[key] = isPlainObject(val) + ? extend({ from: key }, val) + : { from: val }; + } + } else { + warn( + "Invalid value for option \"inject\": expected an Array or an Object, " + + "but got " + (toRawType(inject)) + ".", + vm + ); + } + } + + /** + * Normalize raw function directives into object format. + */ + function normalizeDirectives (options) { + var dirs = options.directives; + if (dirs) { + for (var key in dirs) { + var def$$1 = dirs[key]; + if (typeof def$$1 === 'function') { + dirs[key] = { bind: def$$1, update: def$$1 }; + } + } + } + } + + function assertObjectType (name, value, vm) { + if (!isPlainObject(value)) { + warn( + "Invalid value for option \"" + name + "\": expected an Object, " + + "but got " + (toRawType(value)) + ".", + vm + ); + } + } + + /** + * Merge two option objects into a new one. + * Core utility used in both instantiation and inheritance. + */ + function mergeOptions ( + parent, + child, + vm + ) { + { + checkComponents(child); + } + + if (typeof child === 'function') { + child = child.options; + } + + normalizeProps(child, vm); + normalizeInject(child, vm); + normalizeDirectives(child); + + // Apply extends and mixins on the child options, + // but only if it is a raw options object that isn't + // the result of another mergeOptions call. + // Only merged options has the _base property. + if (!child._base) { + if (child.extends) { + parent = mergeOptions(parent, child.extends, vm); + } + if (child.mixins) { + for (var i = 0, l = child.mixins.length; i < l; i++) { + parent = mergeOptions(parent, child.mixins[i], vm); + } + } + } + + var options = {}; + var key; + for (key in parent) { + mergeField(key); + } + for (key in child) { + if (!hasOwn(parent, key)) { + mergeField(key); + } + } + function mergeField (key) { + var strat = strats[key] || defaultStrat; + options[key] = strat(parent[key], child[key], vm, key); + } + return options + } + + /** + * Resolve an asset. + * This function is used because child instances need access + * to assets defined in its ancestor chain. + */ + function resolveAsset ( + options, + type, + id, + warnMissing + ) { + /* istanbul ignore if */ + if (typeof id !== 'string') { + return + } + var assets = options[type]; + // check local registration variations first + if (hasOwn(assets, id)) { return assets[id] } + var camelizedId = camelize(id); + if (hasOwn(assets, camelizedId)) { return assets[camelizedId] } + var PascalCaseId = capitalize(camelizedId); + if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] } + // fallback to prototype chain + var res = assets[id] || assets[camelizedId] || assets[PascalCaseId]; + if (warnMissing && !res) { + warn( + 'Failed to resolve ' + type.slice(0, -1) + ': ' + id, + options + ); + } + return res + } + + /* */ + + + + function validateProp ( + key, + propOptions, + propsData, + vm + ) { + var prop = propOptions[key]; + var absent = !hasOwn(propsData, key); + var value = propsData[key]; + // boolean casting + var booleanIndex = getTypeIndex(Boolean, prop.type); + if (booleanIndex > -1) { + if (absent && !hasOwn(prop, 'default')) { + value = false; + } else if (value === '' || value === hyphenate(key)) { + // only cast empty string / same name to boolean if + // boolean has higher priority + var stringIndex = getTypeIndex(String, prop.type); + if (stringIndex < 0 || booleanIndex < stringIndex) { + value = true; + } + } + } + // check default value + if (value === undefined) { + value = getPropDefaultValue(vm, prop, key); + // since the default value is a fresh copy, + // make sure to observe it. + var prevShouldObserve = shouldObserve; + toggleObserving(true); + observe(value); + toggleObserving(prevShouldObserve); + } + { + assertProp(prop, key, value, vm, absent); + } + return value + } + + /** + * Get the default value of a prop. + */ + function getPropDefaultValue (vm, prop, key) { + // no default, return undefined + if (!hasOwn(prop, 'default')) { + return undefined + } + var def = prop.default; + // warn against non-factory defaults for Object & Array + if (isObject(def)) { + warn( + 'Invalid default value for prop "' + key + '": ' + + 'Props with type Object/Array must use a factory function ' + + 'to return the default value.', + vm + ); + } + // the raw prop value was also undefined from previous render, + // return previous default value to avoid unnecessary watcher trigger + if (vm && vm.$options.propsData && + vm.$options.propsData[key] === undefined && + vm._props[key] !== undefined + ) { + return vm._props[key] + } + // call factory function for non-Function types + // a value is Function if its prototype is function even across different execution context + return typeof def === 'function' && getType(prop.type) !== 'Function' + ? def.call(vm) + : def + } + + /** + * Assert whether a prop is valid. + */ + function assertProp ( + prop, + name, + value, + vm, + absent + ) { + if (prop.required && absent) { + warn( + 'Missing required prop: "' + name + '"', + vm + ); + return + } + if (value == null && !prop.required) { + return + } + var type = prop.type; + var valid = !type || type === true; + var expectedTypes = []; + if (type) { + if (!Array.isArray(type)) { + type = [type]; + } + for (var i = 0; i < type.length && !valid; i++) { + var assertedType = assertType(value, type[i]); + expectedTypes.push(assertedType.expectedType || ''); + valid = assertedType.valid; + } + } + + if (!valid) { + warn( + getInvalidTypeMessage(name, value, expectedTypes), + vm + ); + return + } + var validator = prop.validator; + if (validator) { + if (!validator(value)) { + warn( + 'Invalid prop: custom validator check failed for prop "' + name + '".', + vm + ); + } + } + } + + var simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/; + + function assertType (value, type) { + var valid; + var expectedType = getType(type); + if (simpleCheckRE.test(expectedType)) { + var t = typeof value; + valid = t === expectedType.toLowerCase(); + // for primitive wrapper objects + if (!valid && t === 'object') { + valid = value instanceof type; + } + } else if (expectedType === 'Object') { + valid = isPlainObject(value); + } else if (expectedType === 'Array') { + valid = Array.isArray(value); + } else { + valid = value instanceof type; + } + return { + valid: valid, + expectedType: expectedType + } + } + + /** + * Use function string name to check built-in types, + * because a simple equality check will fail when running + * across different vms / iframes. + */ + function getType (fn) { + var match = fn && fn.toString().match(/^\s*function (\w+)/); + return match ? match[1] : '' + } + + function isSameType (a, b) { + return getType(a) === getType(b) + } + + function getTypeIndex (type, expectedTypes) { + if (!Array.isArray(expectedTypes)) { + return isSameType(expectedTypes, type) ? 0 : -1 + } + for (var i = 0, len = expectedTypes.length; i < len; i++) { + if (isSameType(expectedTypes[i], type)) { + return i + } + } + return -1 + } + + function getInvalidTypeMessage (name, value, expectedTypes) { + var message = "Invalid prop: type check failed for prop \"" + name + "\"." + + " Expected " + (expectedTypes.map(capitalize).join(', ')); + var expectedType = expectedTypes[0]; + var receivedType = toRawType(value); + var expectedValue = styleValue(value, expectedType); + var receivedValue = styleValue(value, receivedType); + // check if we need to specify expected value + if (expectedTypes.length === 1 && + isExplicable(expectedType) && + !isBoolean(expectedType, receivedType)) { + message += " with value " + expectedValue; + } + message += ", got " + receivedType + " "; + // check if we need to specify received value + if (isExplicable(receivedType)) { + message += "with value " + receivedValue + "."; + } + return message + } + + function styleValue (value, type) { + if (type === 'String') { + return ("\"" + value + "\"") + } else if (type === 'Number') { + return ("" + (Number(value))) + } else { + return ("" + value) + } + } + + function isExplicable (value) { + var explicitTypes = ['string', 'number', 'boolean']; + return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; }) + } + + function isBoolean () { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; }) + } + + /* */ + + function handleError (err, vm, info) { + // Deactivate deps tracking while processing error handler to avoid possible infinite rendering. + // See: https://github.com/vuejs/vuex/issues/1505 + pushTarget(); + try { + if (vm) { + var cur = vm; + while ((cur = cur.$parent)) { + var hooks = cur.$options.errorCaptured; + if (hooks) { + for (var i = 0; i < hooks.length; i++) { + try { + var capture = hooks[i].call(cur, err, vm, info) === false; + if (capture) { return } + } catch (e) { + globalHandleError(e, cur, 'errorCaptured hook'); + } + } + } + } + } + globalHandleError(err, vm, info); + } finally { + popTarget(); + } + } + + function invokeWithErrorHandling ( + handler, + context, + args, + vm, + info + ) { + var res; + try { + res = args ? handler.apply(context, args) : handler.call(context); + if (res && !res._isVue && isPromise(res) && !res._handled) { + res.catch(function (e) { return handleError(e, vm, info + " (Promise/async)"); }); + // issue #9511 + // avoid catch triggering multiple times when nested calls + res._handled = true; + } + } catch (e) { + handleError(e, vm, info); + } + return res + } + + function globalHandleError (err, vm, info) { + if (config.errorHandler) { + try { + return config.errorHandler.call(null, err, vm, info) + } catch (e) { + // if the user intentionally throws the original error in the handler, + // do not log it twice + if (e !== err) { + logError(e, null, 'config.errorHandler'); + } + } + } + logError(err, vm, info); + } + + function logError (err, vm, info) { + { + warn(("Error in " + info + ": \"" + (err.toString()) + "\""), vm); + } + /* istanbul ignore else */ + if ((inBrowser || inWeex) && typeof console !== 'undefined') { + console.error(err); + } else { + throw err + } + } + + /* */ + + var isUsingMicroTask = false; + + var callbacks = []; + var pending = false; + + function flushCallbacks () { + pending = false; + var copies = callbacks.slice(0); + callbacks.length = 0; + for (var i = 0; i < copies.length; i++) { + copies[i](); + } + } + + // Here we have async deferring wrappers using microtasks. + // In 2.5 we used (macro) tasks (in combination with microtasks). + // However, it has subtle problems when state is changed right before repaint + // (e.g. #6813, out-in transitions). + // Also, using (macro) tasks in event handler would cause some weird behaviors + // that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109). + // So we now use microtasks everywhere, again. + // A major drawback of this tradeoff is that there are some scenarios + // where microtasks have too high a priority and fire in between supposedly + // sequential events (e.g. #4521, #6690, which have workarounds) + // or even between bubbling of the same event (#6566). + var timerFunc; + + // The nextTick behavior leverages the microtask queue, which can be accessed + // via either native Promise.then or MutationObserver. + // MutationObserver has wider support, however it is seriously bugged in + // UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It + // completely stops working after triggering a few times... so, if native + // Promise is available, we will use it: + /* istanbul ignore next, $flow-disable-line */ + if (typeof Promise !== 'undefined' && isNative(Promise)) { + var p = Promise.resolve(); + timerFunc = function () { + p.then(flushCallbacks); + // In problematic UIWebViews, Promise.then doesn't completely break, but + // it can get stuck in a weird state where callbacks are pushed into the + // microtask queue but the queue isn't being flushed, until the browser + // needs to do some other work, e.g. handle a timer. Therefore we can + // "force" the microtask queue to be flushed by adding an empty timer. + if (isIOS) { setTimeout(noop); } + }; + isUsingMicroTask = true; + } else if (!isIE && typeof MutationObserver !== 'undefined' && ( + isNative(MutationObserver) || + // PhantomJS and iOS 7.x + MutationObserver.toString() === '[object MutationObserverConstructor]' + )) { + // Use MutationObserver where native Promise is not available, + // e.g. PhantomJS, iOS7, Android 4.4 + // (#6466 MutationObserver is unreliable in IE11) + var counter = 1; + var observer = new MutationObserver(flushCallbacks); + var textNode = document.createTextNode(String(counter)); + observer.observe(textNode, { + characterData: true + }); + timerFunc = function () { + counter = (counter + 1) % 2; + textNode.data = String(counter); + }; + isUsingMicroTask = true; + } else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) { + // Fallback to setImmediate. + // Techinically it leverages the (macro) task queue, + // but it is still a better choice than setTimeout. + timerFunc = function () { + setImmediate(flushCallbacks); + }; + } else { + // Fallback to setTimeout. + timerFunc = function () { + setTimeout(flushCallbacks, 0); + }; + } + + function nextTick (cb, ctx) { + var _resolve; + callbacks.push(function () { + if (cb) { + try { + cb.call(ctx); + } catch (e) { + handleError(e, ctx, 'nextTick'); + } + } else if (_resolve) { + _resolve(ctx); + } + }); + if (!pending) { + pending = true; + timerFunc(); + } + // $flow-disable-line + if (!cb && typeof Promise !== 'undefined') { + return new Promise(function (resolve) { + _resolve = resolve; + }) + } + } + + /* */ + + var mark; + var measure; + + { + var perf = inBrowser && window.performance; + /* istanbul ignore if */ + if ( + perf && + perf.mark && + perf.measure && + perf.clearMarks && + perf.clearMeasures + ) { + mark = function (tag) { return perf.mark(tag); }; + measure = function (name, startTag, endTag) { + perf.measure(name, startTag, endTag); + perf.clearMarks(startTag); + perf.clearMarks(endTag); + // perf.clearMeasures(name) + }; + } + } + + /* not type checking this file because flow doesn't play well with Proxy */ + + var initProxy; + + { + var allowedGlobals = makeMap( + 'Infinity,undefined,NaN,isFinite,isNaN,' + + 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' + + 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' + + 'require' // for Webpack/Browserify + ); + + var warnNonPresent = function (target, key) { + warn( + "Property or method \"" + key + "\" is not defined on the instance but " + + 'referenced during render. Make sure that this property is reactive, ' + + 'either in the data option, or for class-based components, by ' + + 'initializing the property. ' + + 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.', + target + ); + }; + + var warnReservedPrefix = function (target, key) { + warn( + "Property \"" + key + "\" must be accessed with \"$data." + key + "\" because " + + 'properties starting with "$" or "_" are not proxied in the Vue instance to ' + + 'prevent conflicts with Vue internals' + + 'See: https://vuejs.org/v2/api/#data', + target + ); + }; + + var hasProxy = + typeof Proxy !== 'undefined' && isNative(Proxy); + + if (hasProxy) { + var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact'); + config.keyCodes = new Proxy(config.keyCodes, { + set: function set (target, key, value) { + if (isBuiltInModifier(key)) { + warn(("Avoid overwriting built-in modifier in config.keyCodes: ." + key)); + return false + } else { + target[key] = value; + return true + } + } + }); + } + + var hasHandler = { + has: function has (target, key) { + var has = key in target; + var isAllowed = allowedGlobals(key) || + (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data)); + if (!has && !isAllowed) { + if (key in target.$data) { warnReservedPrefix(target, key); } + else { warnNonPresent(target, key); } + } + return has || !isAllowed + } + }; + + var getHandler = { + get: function get (target, key) { + if (typeof key === 'string' && !(key in target)) { + if (key in target.$data) { warnReservedPrefix(target, key); } + else { warnNonPresent(target, key); } + } + return target[key] + } + }; + + initProxy = function initProxy (vm) { + if (hasProxy) { + // determine which proxy handler to use + var options = vm.$options; + var handlers = options.render && options.render._withStripped + ? getHandler + : hasHandler; + vm._renderProxy = new Proxy(vm, handlers); + } else { + vm._renderProxy = vm; + } + }; + } + + /* */ + + var seenObjects = new _Set(); + + /** + * Recursively traverse an object to evoke all converted + * getters, so that every nested property inside the object + * is collected as a "deep" dependency. + */ + function traverse (val) { + _traverse(val, seenObjects); + seenObjects.clear(); + } + + function _traverse (val, seen) { + var i, keys; + var isA = Array.isArray(val); + if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) { + return + } + if (val.__ob__) { + var depId = val.__ob__.dep.id; + if (seen.has(depId)) { + return + } + seen.add(depId); + } + if (isA) { + i = val.length; + while (i--) { _traverse(val[i], seen); } + } else { + keys = Object.keys(val); + i = keys.length; + while (i--) { _traverse(val[keys[i]], seen); } + } + } + + /* */ + + var normalizeEvent = cached(function (name) { + var passive = name.charAt(0) === '&'; + name = passive ? name.slice(1) : name; + var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first + name = once$$1 ? name.slice(1) : name; + var capture = name.charAt(0) === '!'; + name = capture ? name.slice(1) : name; + return { + name: name, + once: once$$1, + capture: capture, + passive: passive + } + }); + + function createFnInvoker (fns, vm) { + function invoker () { + var arguments$1 = arguments; + + var fns = invoker.fns; + if (Array.isArray(fns)) { + var cloned = fns.slice(); + for (var i = 0; i < cloned.length; i++) { + invokeWithErrorHandling(cloned[i], null, arguments$1, vm, "v-on handler"); + } + } else { + // return handler return value for single handlers + return invokeWithErrorHandling(fns, null, arguments, vm, "v-on handler") + } + } + invoker.fns = fns; + return invoker + } + + function updateListeners ( + on, + oldOn, + add, + remove$$1, + createOnceHandler, + vm + ) { + var name, def$$1, cur, old, event; + for (name in on) { + def$$1 = cur = on[name]; + old = oldOn[name]; + event = normalizeEvent(name); + if (isUndef(cur)) { + warn( + "Invalid handler for event \"" + (event.name) + "\": got " + String(cur), + vm + ); + } else if (isUndef(old)) { + if (isUndef(cur.fns)) { + cur = on[name] = createFnInvoker(cur, vm); + } + if (isTrue(event.once)) { + cur = on[name] = createOnceHandler(event.name, cur, event.capture); + } + add(event.name, cur, event.capture, event.passive, event.params); + } else if (cur !== old) { + old.fns = cur; + on[name] = old; + } + } + for (name in oldOn) { + if (isUndef(on[name])) { + event = normalizeEvent(name); + remove$$1(event.name, oldOn[name], event.capture); + } + } + } + + /* */ + + function mergeVNodeHook (def, hookKey, hook) { + if (def instanceof VNode) { + def = def.data.hook || (def.data.hook = {}); + } + var invoker; + var oldHook = def[hookKey]; + + function wrappedHook () { + hook.apply(this, arguments); + // important: remove merged hook to ensure it's called only once + // and prevent memory leak + remove(invoker.fns, wrappedHook); + } + + if (isUndef(oldHook)) { + // no existing hook + invoker = createFnInvoker([wrappedHook]); + } else { + /* istanbul ignore if */ + if (isDef(oldHook.fns) && isTrue(oldHook.merged)) { + // already a merged invoker + invoker = oldHook; + invoker.fns.push(wrappedHook); + } else { + // existing plain hook + invoker = createFnInvoker([oldHook, wrappedHook]); + } + } + + invoker.merged = true; + def[hookKey] = invoker; + } + + /* */ + + function extractPropsFromVNodeData ( + data, + Ctor, + tag + ) { + // we are only extracting raw values here. + // validation and default values are handled in the child + // component itself. + var propOptions = Ctor.options.props; + if (isUndef(propOptions)) { + return + } + var res = {}; + var attrs = data.attrs; + var props = data.props; + if (isDef(attrs) || isDef(props)) { + for (var key in propOptions) { + var altKey = hyphenate(key); + { + var keyInLowerCase = key.toLowerCase(); + if ( + key !== keyInLowerCase && + attrs && hasOwn(attrs, keyInLowerCase) + ) { + tip( + "Prop \"" + keyInLowerCase + "\" is passed to component " + + (formatComponentName(tag || Ctor)) + ", but the declared prop name is" + + " \"" + key + "\". " + + "Note that HTML attributes are case-insensitive and camelCased " + + "props need to use their kebab-case equivalents when using in-DOM " + + "templates. You should probably use \"" + altKey + "\" instead of \"" + key + "\"." + ); + } + } + checkProp(res, props, key, altKey, true) || + checkProp(res, attrs, key, altKey, false); + } + } + return res + } + + function checkProp ( + res, + hash, + key, + altKey, + preserve + ) { + if (isDef(hash)) { + if (hasOwn(hash, key)) { + res[key] = hash[key]; + if (!preserve) { + delete hash[key]; + } + return true + } else if (hasOwn(hash, altKey)) { + res[key] = hash[altKey]; + if (!preserve) { + delete hash[altKey]; + } + return true + } + } + return false + } + + /* */ + + // The template compiler attempts to minimize the need for normalization by + // statically analyzing the template at compile time. + // + // For plain HTML markup, normalization can be completely skipped because the + // generated render function is guaranteed to return Array. There are + // two cases where extra normalization is needed: + + // 1. When the children contains components - because a functional component + // may return an Array instead of a single root. In this case, just a simple + // normalization is needed - if any child is an Array, we flatten the whole + // thing with Array.prototype.concat. It is guaranteed to be only 1-level deep + // because functional components already normalize their own children. + function simpleNormalizeChildren (children) { + for (var i = 0; i < children.length; i++) { + if (Array.isArray(children[i])) { + return Array.prototype.concat.apply([], children) + } + } + return children + } + + // 2. When the children contains constructs that always generated nested Arrays, + // e.g.